我有一个仅限标题的库,我使用ExternalProject_Add
将其包含在我的项目中。 install命令应该只复制一个文件夹。由于这应该适用于Windows和Linux,我尝试使用file(COPY ...)
。
INSTALL_COMMAND "file(COPY ../src/include DESTINATION ../install/include)"
这会导致错误,因为INSTALL_COMMAND
作为shell命令执行。我怎样才能使用CMake宏?
答案 0 :(得分:4)
CMake有一个“命令模式”,即cmake -E ...
,它提供了一些跨平台的文件系统命令。要查看所有-E
选项,只需运行cmake -E
。
要从CMakeLists.txt文件中调用CMake,您可以使用变量CMAKE_COMMAND
:
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ../src/include ../install/include