我正在使用一个外部库,它提供了用于自动代码生成的 CMake 函数,以在我的 CMakeLists 中使用。问题是,每当我修改 CMakeLists 时,该函数都会再次运行,从而触发新生成但未更改的源的重新编译。我需要像 add_custom_command 这样的东西,可以将 CMake 函数指定为 COMMAND 而不是可执行文件,以便仅在自动生成的文件尚不存在时才运行该函数。
这可行吗?如果没有,是否存在其他方法可以获得相同的结果?
谢谢。
看看这个帖子 https://stackoverflow.com/questions/26024235/how-to-call-a-cmake-function-from-add-custom-target-command/26024835#26024835.
您可以在单独的 CMake 脚本中调用您的函数,使用以下命令调用此脚本add_custom_target
and cmake -P
然后将依赖项添加到您的二进制文件中:
add_custom_target(run_script COMMAND ${CMAKE_COMMAND} -P separate_script.cmake)
add_executable(your_binary ...)
# or add_library(your_binary ...)
add_dependencies(your_binary run_script)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)