From a4b841d852b9a580caeced8e58e90d9be48c10ea Mon Sep 17 00:00:00 2001 From: Andrei Astafev Date: Thu, 28 Mar 2024 10:57:43 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B2=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81?= =?UTF-8?q?=D0=BD=D1=83=D1=8E=20=D0=B1=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82?= =?UTF-8?q?=D0=B5=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MyxCMake/lib/generators/GitInfoHeader.cmake | 21 ++++++++++++------- .../lib/generators/PrivateConfigHeader.cmake | 2 +- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/MyxCMake/lib/generators/GitInfoHeader.cmake b/MyxCMake/lib/generators/GitInfoHeader.cmake index 1c812e9..029d7a4 100644 --- a/MyxCMake/lib/generators/GitInfoHeader.cmake +++ b/MyxCMake/lib/generators/GitInfoHeader.cmake @@ -31,26 +31,31 @@ function(myx_generate_git_info_header TARGET_NAME BASE_FILENAME) set(multiValueArgs) cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - set(__filename "${PROJECT_BINARY_DIR}/include/${BASE_FILENAME}") - file(APPEND ${__filename} "") + set(filename "${PROJECT_BINARY_DIR}/include/${BASE_FILENAME}") + file(APPEND ${filename} "") - set(__prefix "") + set(prefix "") if(ARG_PREFIX) string(APPEND ARG_PREFIX "_") - string(REPLACE "-" "_" __prefix ${ARG_PREFIX}) + string(REPLACE "-" "_" prefix ${ARG_PREFIX}) endif() # cmake-format: off if(NOT TARGET ${TARGET_NAME}-git-info-header) add_custom_target(${TARGET_NAME}-git-info-header ALL - ${CMAKE_COMMAND} -DGIT_INFO_FILE=${__filename} -DPREFIX=${__prefix} + ${CMAKE_COMMAND} -DGIT_INFO_FILE=${filename} -DPREFIX=${prefix} -P ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/GitInfo.cmake - BYPRODUCTS ${__filename} + BYPRODUCTS ${filename} WORKING_DIRECTORY ${CMAKE_CURRENT_FUNCTION_LIST_DIR}) endif() # cmake-format: on - set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${__filename}) - target_sources(${TARGET_NAME} PRIVATE ${__filename}) + set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${filename}) + get_target_property(target_type ${TARGET_NAME} TYPE) + if(${target_type} STREQUAL "INTERFACE_LIBRARY") + target_sources(${TARGET_NAME} INTERFACE $) + else() + target_sources(${TARGET_NAME} PRIVATE ${filename}) + endif() add_dependencies(${TARGET_NAME} ${TARGET_NAME}-git-info-header) endfunction() diff --git a/MyxCMake/lib/generators/PrivateConfigHeader.cmake b/MyxCMake/lib/generators/PrivateConfigHeader.cmake index 641b287..528dd34 100644 --- a/MyxCMake/lib/generators/PrivateConfigHeader.cmake +++ b/MyxCMake/lib/generators/PrivateConfigHeader.cmake @@ -33,7 +33,7 @@ function(myx_generate_private_config_header TARGET_NAME BASE_FILENAME) set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${filename}) get_target_property(target_type ${TARGET_NAME} TYPE) if(${target_type} STREQUAL "INTERFACE_LIBRARY") - target_sources(${TARGET_NAME} INTERFACE ${filename}) + target_sources(${TARGET_NAME} INTERFACE $) else() target_sources(${TARGET_NAME} PRIVATE ${filename}) endif()