能否在add_custom_target
或add_custom_command
中调用CMake函数?
我知道可以将CMake函数移到Python(或其他语言)脚本中,并从add_custom_target
/ command
中调用它,但我想避免让大量脚本与现有的CMake基础设施混在一起。
我想实现的是使用CPack生成二进制构件的zip包,并将其发布到构件库中。对于发布部分,我已经创建了CMake函数,但现在需要将打包和发布组合在一起。
感谢您提前的任何帮助/提示。
能否在add_custom_target
或add_custom_command
中调用CMake函数?
我知道可以将CMake函数移到Python(或其他语言)脚本中,并从add_custom_target
/ command
中调用它,但我想避免让大量脚本与现有的CMake基础设施混在一起。
我想实现的是使用CPack生成二进制构件的zip包,并将其发布到构件库中。对于发布部分,我已经创建了CMake函数,但现在需要将打包和发布组合在一起。
感谢您提前的任何帮助/提示。
我在为 BVLC/Caffe 编写 CMake 构建系统时遇到了这个问题。最终我将函数内容放入单独的 CMake 脚本中,并通过调用 add_custom_target
内部的该脚本来解决了这个问题:
add_custom_target(target_name
COMMAND ${CMAKE_COMMAND} -P path_to_script
)
使用-P
选项调用CMake会使其作为脚本语言运行。您可以在脚本中使用任何 CMake 函数。
add_custom_target
中编写代码呢?@Adam - Lewis Chan.cmake
文件中时,它可以很好地工作,是否有选项可以调用在同一CMakeLists.txt文件中定义的函数?@Adam Kosiorek - joepol