diff --git a/CMakeLists.txt b/CMakeLists.txt index fa8554065..d477532be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1083,10 +1083,19 @@ katie_string_unwrap("${KATIE_COMPONENTS}" KATIE_COMPONENTS "Kt") katie_string_unwrap("${KATIE_TOOLS}" KATIE_TOOLS) # custom install targets to make packaging easier -add_custom_target(install-devel - COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Devel -P cmake_install.cmake - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" -) +if(KATIE_UNIFDEF) + add_custom_target(install-devel + COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Devel -P cmake_install.cmake + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" + # installing from script does not execute other scripts + COMMAND "${CMAKE_COMMAND}" -DUNIFDEF_EXECUTABLE="${KATIE_UNIFDEF}" -DHEADERS_DIRECTORY="${KATIE_HEADERS_PATH}" -P "${CMAKE_SOURCE_DIR}/cmake/modules/OptimizeHeaders.cmake" + ) +else() + add_custom_target(install-devel + COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Devel -P cmake_install.cmake + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" + ) +endif() add_custom_target(install-runtime DEPENDS ${KATIE_COMPONENTS} diff --git a/cmake/modules/KatieBuildMacros.cmake b/cmake/modules/KatieBuildMacros.cmake index 7e25598f0..0d4d18b28 100644 --- a/cmake/modules/KatieBuildMacros.cmake +++ b/cmake/modules/KatieBuildMacros.cmake @@ -308,7 +308,6 @@ macro(KATIE_OPTIMIZE_HEADERS DIR) install( CODE "set(UNIFDEF_EXECUTABLE \"${KATIE_UNIFDEF}\")" CODE "set(HEADERS_DIRECTORY \"${DIR}\")" - CODE "set(HEADERS_DEFINITIONS \"${ARGN}\")" SCRIPT "${CMAKE_SOURCE_DIR}/cmake/modules/OptimizeHeaders.cmake" ) endif() diff --git a/cmake/modules/OptimizeHeaders.cmake b/cmake/modules/OptimizeHeaders.cmake index 6ae226bb7..8cc602a82 100644 --- a/cmake/modules/OptimizeHeaders.cmake +++ b/cmake/modules/OptimizeHeaders.cmake @@ -1,16 +1,16 @@ # Copyright (C) 2015, Ivailo Monev, # Redistribution and use is allowed according to the terms of the BSD license. -# UNIFDEF_EXECUTABLE, HEADERS_DIRECTORY and HEADERS_DEFINITIONS origin from the macro call +# UNIFDEF_EXECUTABLE and HEADERS_DIRECTORY origin from the macro call -file(GLOB headers "$ENV{DESTDIR}/${HEADERS_DIRECTORY}/*.h") +set(headers_directory "$ENV{DESTDIR}/${HEADERS_DIRECTORY}") +file(GLOB_RECURSE headers "${headers_directory}/*.h") -set(bootstrap +set(unifdef_arguments + # bootstrap -UQT_BOOTSTRAPPED -UQT_MOC -) - -set(notsupported + # not supported -UQT_NO_QOBJECT -UQT_NO_COMPRESS -UQT_NO_THREAD @@ -32,9 +32,9 @@ set(notsupported -UQT_NO_TEXTCODEC ) -message(STATUS "Optimizing header in: $ENV{DESTDIR}/${HEADERS_DIRECTORY}") +message(STATUS "Optimizing header in: ${headers_directory}") execute_process( - COMMAND ${UNIFDEF_EXECUTABLE} -m ${bootstrap} ${notsupported} ${HEADERS_DEFINITIONS} ${headers} + COMMAND ${UNIFDEF_EXECUTABLE} -m ${unifdef_arguments} ${headers} RESULT_VARIABLE unifdef_result ERROR_VARIABLE unifdef_output OUTPUT_VARIABLE unifdef_output