Исправление включения файлов в интерфейсную библиотеку
This commit is contained in:
		@@ -31,26 +31,31 @@ function(myx_generate_git_info_header TARGET_NAME BASE_FILENAME)
 | 
				
			|||||||
  set(multiValueArgs)
 | 
					  set(multiValueArgs)
 | 
				
			||||||
  cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 | 
					  cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  set(__filename "${PROJECT_BINARY_DIR}/include/${BASE_FILENAME}")
 | 
					  set(filename "${PROJECT_BINARY_DIR}/include/${BASE_FILENAME}")
 | 
				
			||||||
  file(APPEND ${__filename} "")
 | 
					  file(APPEND ${filename} "")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  set(__prefix "")
 | 
					  set(prefix "")
 | 
				
			||||||
  if(ARG_PREFIX)
 | 
					  if(ARG_PREFIX)
 | 
				
			||||||
    string(APPEND ARG_PREFIX "_")
 | 
					    string(APPEND ARG_PREFIX "_")
 | 
				
			||||||
    string(REPLACE "-" "_" __prefix ${ARG_PREFIX})
 | 
					    string(REPLACE "-" "_" prefix ${ARG_PREFIX})
 | 
				
			||||||
  endif()
 | 
					  endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# cmake-format: off
 | 
					# cmake-format: off
 | 
				
			||||||
  if(NOT TARGET ${TARGET_NAME}-git-info-header)
 | 
					  if(NOT TARGET ${TARGET_NAME}-git-info-header)
 | 
				
			||||||
    add_custom_target(${TARGET_NAME}-git-info-header ALL
 | 
					    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
 | 
					                       -P ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/GitInfo.cmake
 | 
				
			||||||
      BYPRODUCTS ${__filename}
 | 
					      BYPRODUCTS ${filename}
 | 
				
			||||||
      WORKING_DIRECTORY ${CMAKE_CURRENT_FUNCTION_LIST_DIR})
 | 
					      WORKING_DIRECTORY ${CMAKE_CURRENT_FUNCTION_LIST_DIR})
 | 
				
			||||||
  endif()
 | 
					  endif()
 | 
				
			||||||
# cmake-format: on
 | 
					# cmake-format: on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${__filename})
 | 
					  set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${filename})
 | 
				
			||||||
  target_sources(${TARGET_NAME} PRIVATE ${__filename})
 | 
					  get_target_property(target_type ${TARGET_NAME} TYPE)
 | 
				
			||||||
 | 
					  if(${target_type} STREQUAL "INTERFACE_LIBRARY")
 | 
				
			||||||
 | 
					    target_sources(${TARGET_NAME} INTERFACE $<BUILD_INTERFACE:${filename}>)
 | 
				
			||||||
 | 
					  else()
 | 
				
			||||||
 | 
					    target_sources(${TARGET_NAME} PRIVATE ${filename})
 | 
				
			||||||
 | 
					  endif()
 | 
				
			||||||
  add_dependencies(${TARGET_NAME} ${TARGET_NAME}-git-info-header)
 | 
					  add_dependencies(${TARGET_NAME} ${TARGET_NAME}-git-info-header)
 | 
				
			||||||
endfunction()
 | 
					endfunction()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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})
 | 
					  set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${filename})
 | 
				
			||||||
  get_target_property(target_type ${TARGET_NAME} TYPE)
 | 
					  get_target_property(target_type ${TARGET_NAME} TYPE)
 | 
				
			||||||
  if(${target_type} STREQUAL "INTERFACE_LIBRARY")
 | 
					  if(${target_type} STREQUAL "INTERFACE_LIBRARY")
 | 
				
			||||||
    target_sources(${TARGET_NAME} INTERFACE ${filename})
 | 
					    target_sources(${TARGET_NAME} INTERFACE $<BUILD_INTERFACE:${filename}>)
 | 
				
			||||||
  else()
 | 
					  else()
 | 
				
			||||||
    target_sources(${TARGET_NAME} PRIVATE ${filename})
 | 
					    target_sources(${TARGET_NAME} PRIVATE ${filename})
 | 
				
			||||||
  endif()
 | 
					  endif()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user