我有一个自定义生成命令,需要检查是否存在某个文件.我试过用
IF(EXISTS "/the/file")
...
ELSE()
...
ENDIF()
Run Code Online (Sandbox Code Playgroud)
但该测试仅评估一个; 当cmake第一次运行时.每次制作完成后我都需要它来执行测试.什么是在制作时检查的方法?谢谢.
Fra*_*ser 12
您可以使用命令行选项add_custom_command在脚本模式下调用CMake本身-P.
所以你的命令将是这样的:
set(FileToCheck "/the/file")
add_custom_command(TARGET MyExe
POST_BUILD
COMMAND ${CMAKE_COMMAND}
-DFileToCheck=${FileToCheck}
-P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
COMMENT "Checking if ${FileToCheck} exists...")
Run Code Online (Sandbox Code Playgroud)
和你的脚本文件"check.cmake"将是这样的:
if(EXISTS ${FileToCheck})
message("${FileToCheck} exists.")
else()
message("${FileToCheck} doesn't exist.")
endif()
Run Code Online (Sandbox Code Playgroud)