【问题标题】:How to use CMake macro as INSTALL_COMMAND in ExternalProject_Add?如何在 ExternalProject_Add 中使用 CMake 宏作为 INSTALL_COMMAND?
【发布时间】:2014-10-24 05:53:58
【问题描述】:
我有一个仅标头库,我使用ExternalProject_Add 将其包含在我的项目中。安装命令应该只复制一个文件夹。由于这应该适用于 Windows 和 Linux,因此我尝试使用 file(COPY ...)。
INSTALL_COMMAND "file(COPY ../src/include DESTINATION ../install/include)"
这给出了一个错误,因为INSTALL_COMMAND 被作为 shell 命令执行。如何改用 CMake 宏?
【问题讨论】:
标签:
cmake
dependencies
installation
【解决方案1】:
CMake 有一个“命令模式”,即cmake -E ...,它提供了一些跨平台的文件系统命令。要查看所有 -E 选项,只需运行 cmake -E。
要从 CMakeLists.txt 文件中调用 CMake 本身,您可以使用变量 CMAKE_COMMAND:
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ../src/include ../install/include