From 447fd4c50c5d9f6ff021c5274f0f8d04523fcf60 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Tue, 18 Feb 2014 15:37:25 +0000 Subject: Simplify argument parsing for ecm_generate_headers Now that we no longer have to support the old syntax, some of the more complex bits of the argument parsing can be removed. REVIEW: 115869 --- modules/ECMGenerateHeaders.cmake | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) (limited to 'modules') diff --git a/modules/ECMGenerateHeaders.cmake b/modules/ECMGenerateHeaders.cmake index 23c91336..739c2117 100644 --- a/modules/ECMGenerateHeaders.cmake +++ b/modules/ECMGenerateHeaders.cmake @@ -94,12 +94,20 @@ include(CMakeParseArguments) -function(ECM_GENERATE_HEADERS) +function(ECM_GENERATE_HEADERS camelcase_headers_var) set(options) - set(oneValueArgs OUTPUT_DIR PREFIX REQUIRED_HEADERS RELATIVE MODULE_NAME) + set(oneValueArgs OUTPUT_DIR PREFIX REQUIRED_HEADERS RELATIVE) set(multiValueArgs HEADER_NAMES) cmake_parse_arguments(EGH "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + if (EGH_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unexpected arguments to ECM_GENERATE_HEADERS: ${EGH_UNPARSED_ARGUMENTS}") + endif() + + if(NOT EGH_HEADER_NAMES) + message(FATAL_ERROR "Missing header_names argument to ECM_GENERATE_HEADERS") + endif() + if(NOT EGH_OUTPUT_DIR) set(EGH_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}") endif() @@ -116,25 +124,6 @@ function(ECM_GENERATE_HEADERS) string(TOLOWER "${EGH_PREFIX}" lowercaseprefix) endif() - if(NOT EGH_HEADER_NAMES) - message(FATAL_ERROR "Missing header_names argument to ECM_GENERATE_HEADERS") - endif() - - if (EGH_MODULE_NAME) - # this is not a valid argument in the new syntax - message(FATAL_ERROR "Unexpected MODULE_NAME argument for ECM_GENERATE_HEADERS") - endif() - - if (NOT EGH_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "Missing camelcase_headers_var argument to ECM_GENERATE_HEADERS") - else() - list(GET EGH_UNPARSED_ARGUMENTS 0 camelcase_headers_var) - list(REMOVE_AT EGH_UNPARSED_ARGUMENTS 0) - if (EGH_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "Unexpected arguments to ECM_GENERATE_HEADERS: ${EGH_UNPARSED_ARGUMENTS}") - endif() - endif() - foreach(_CLASSNAME ${EGH_HEADER_NAMES}) string(TOLOWER "${_CLASSNAME}" lowercaseclassname) set(FANCY_HEADER_FILE "${EGH_OUTPUT_DIR}/${EGH_PREFIX}${_CLASSNAME}") -- cgit v1.2.1