[英]CMake custom command to generate a non-config file
我讀了:
我想做類似的事情,但不是復制文件,而是生成文件。 如果這不在自定義命令中,我會寫:
file(WRITE "generated.c" "int main() { return 0; }")
但似乎cmake -E
並不直接支持這一點。 我應該怎么做(除了運行依賴於平台的東西)?
使用 CMake 的腳本模式 ( -P
)。 在CMakeLists.txt
:
cmake_minimum_required(VERSION 3.21)
project(test)
add_custom_command(
OUTPUT generated.c
COMMAND ${CMAKE_COMMAND} -DOUT=generated.c
-P ${CMAKE_CURRENT_LIST_DIR}/tools/gen.cmake
DEPENDS "${CMAKE_CURRENT_LIST_DIR}/tools/gen.cmake"
)
add_executable(main "${CMAKE_CURRENT_BINARY_DIR}/generated.c")
在tools/gen.cmake
:
cmake_minimum_required(VERSION 3.21)
file(WRITE "${OUT}" "int main() { return 0; }")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.