diff options
-rw-r--r-- | modules/ECMGenerateHeaders.cmake | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/ECMGenerateHeaders.cmake b/modules/ECMGenerateHeaders.cmake index f72b1c0b..e98a22e9 100644 --- a/modules/ECMGenerateHeaders.cmake +++ b/modules/ECMGenerateHeaders.cmake @@ -53,6 +53,11 @@ function(ECM_GENERATE_HEADERS) set(EGH_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) endif() + # Make sure EGH_RELATIVE is /-terminated when it's not empty + if (NOT ${EGH_RELATIVE} MATCHES "^.*/$") + set(EGH_RELATIVE "${EGH_RELATIVE}/") + endif() + if (EGH_PREFIX) string(TOLOWER "${EGH_PREFIX}/" lowercaseprefix) endif() @@ -60,7 +65,7 @@ function(ECM_GENERATE_HEADERS) foreach(_CLASSNAME ${EGH_UNPARSED_ARGUMENTS}) string(TOLOWER ${_CLASSNAME} lowercaseclassname) set(FANCY_HEADER_NAME ${EGH_OUTPUT_DIR}/${EGH_MODULE_NAME}/${EGH_PREFIX}/${_CLASSNAME}) - set(_actualheader "${CMAKE_CURRENT_SOURCE_DIR}/${EGH_RELATIVE}/${lowercaseclassname}.h") + set(_actualheader "${CMAKE_CURRENT_SOURCE_DIR}/${EGH_RELATIVE}${lowercaseclassname}.h") if (NOT EXISTS ${_actualheader}) message(FATAL_ERROR "Could not find \"${_actualheader}\"") endif() |