我正在尝试使用add_custom_target
为C ++项目生成CMake目标,该目标将CMakeLists.txt
所在目录的内容复制到${CMAKE_BINARY_DIR}
中,但排除给定的文件列表。] >
虽然看起来很容易,但是我在这里遇到了问题。到目前为止,我的尝试:
1)生成所有文件/目录的列表,删除要排除的项目,然后使用CMake复制命令:
file(GLOB files_to_copy LIST_DIRECTORIES TRUE *) list(REMOVE_ITEM files_to_copy ${CMAKE_CURRENT_SOURCE_DIR}/file_to_exclude.txt ${CMAKE_CURRENT_SOURCE_DIR}/dir_to_exclude # ... ) add_custom_target(my-target COMMAND ${CMAKE_COMMAND} -E copy ${files_to_copy} ${CMAKE_BINARY_DIR} )
问题:
copy
command line tool显然支持复制目录,但是它似乎在我的机器上不起作用,因此目录不2)使用file命令复制文件,但不包括某些文件
copy
问题:
是否有可能将file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/" DESTINATION ${CMAKE_BINARY_DIR}
PATTERN "file_to_exclude.txt" EXCLUDE
PATTERN "dir_to_exclude" EXCLUDE
)
命令绑定到目标?或任何其他简单的解决方案来实现我想要的?
请注意,我只想使用CMake内置工具,而不执行任何特定于操作系统的Shell命令(在跨平台项目上工作。)>
我正在尝试使用add_custom_target为C ++项目生成CMake目标,该目标会将CMakeLists.txt所在目录的内容复制到$ {CMAKE_BINARY_DIR},但不包括...
CMake file(COPY ...)
仅在CMake上下文