aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--KF5ConfigMacros.cmake10
1 files changed, 8 insertions, 2 deletions
diff --git a/KF5ConfigMacros.cmake b/KF5ConfigMacros.cmake
index c615bb00..f365c78f 100644
--- a/KF5ConfigMacros.cmake
+++ b/KF5ConfigMacros.cmake
@@ -61,8 +61,14 @@ function (KCONFIG_ADD_KCFG_FILES _sources )
string(REGEX MATCH "File=([^\n]+\\.kcfg)\n" "" "${_contents}")
set(_kcfg_FILENAME "${CMAKE_MATCH_1}")
if (NOT _kcfg_FILENAME)
- set(_kcfg_FILENAME "${_basename}.kcfg")
- message(WARNING "Couldn't read the \"File\" field in ${_tmp_FILE}")
+ string(REGEX MATCH "File=([^\n]+\\.kcfg).*\n" "" "${_contents}")
+ if(CMAKE_MATCH_1)
+ message(WARNING "${_tmp_FILE}: Broken \"File\" field, make sure it's pointing at the right file")
+ set(_kcfg_FILENAME "${CMAKE_MATCH_1}")
+ else()
+ message(WARNING "Couldn't read the \"File\" field in ${_tmp_FILE}")
+ set(_kcfg_FILENAME "${_basename}.kcfg")
+ endif()
endif()
set(_src_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
set(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)