diff options
Diffstat (limited to 'tests/manual/cmake/pass1/CMakeLists.txt')
-rw-r--r-- | tests/manual/cmake/pass1/CMakeLists.txt | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/manual/cmake/pass1/CMakeLists.txt b/tests/manual/cmake/pass1/CMakeLists.txt index b1922c075b..cbe3afc7c4 100644 --- a/tests/manual/cmake/pass1/CMakeLists.txt +++ b/tests/manual/cmake/pass1/CMakeLists.txt @@ -18,7 +18,23 @@ macro(qt5_use_package _target _package) # set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_package}_INCLUDE_DIRS}) include_directories(${Qt5${_package}_INCLUDE_DIRS}) set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_package}_COMPILE_DEFINITIONS}) - set_property(TARGET ${_target} APPEND PROPERTY COMPILE_FLAGS ${Qt5${_package}_COMPILE_FLAGS}) + + # We can't just append to the COMPILE_FLAGS property. That creats a ';' separated list + # which breaks the compile commmand line. + # Ensure non-duplication here manually instead. + get_property(_taget_type TARGET ${_target} PROPERTY TYPE) + if ("${_taget_type}" STREQUAL "EXECUTABLE") + get_target_property(_flags ${_target} COMPILE_FLAGS) + if (_flags) + list(APPEND _flags ${Qt5${_package}_EXECUTABLE_COMPILE_FLAGS}) + list(REMOVE_DUPLICATES _flags) + else() + set(_flags ${Qt5${_package}_EXECUTABLE_COMPILE_FLAGS}) + endif() + if (_flags) + set_target_properties(${_target} PROPERTIES COMPILE_FLAGS ${_flags}) + endif() + endif() else() message(FATAL_ERROR "NOT FOUND: Qt5${_package}") endif() |