我几天前问了一个问题How to add files to a non-executable or non-library target with CMake,这个问题的最佳解决方案是使用add_custom_target
命令。
但是,如果目标是由CMAKE本身创建的,则此解决方案可能无效。例如,运行CMAKE时自动创建的INSTALL目标。假设,我还在INSTALL项目下添加了一些额外的文件,我该怎么办?我尝试了以下命令,但失败了:
add_custom_target( INSTALL
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/file_to_be_added.h
)
答案 0 :(得分:1)
无法修改CMake的默认INSTALL
目标。但是,您可以添加自定义目标,该目标与INSTALL
目标的功能相同,并添加了其他文件,例如:
add_custom_target(myinstall
COMMAND "${CMAKE_COMMAND}" "-DBUILD_TYPE=$<CONFIGURATION>"
"-P" "${CMAKE_BINARY_DIR}/cmake_install.cmake"
SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/file_to_be_added.h"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}")