簡體   English   中英

CMake 自定義命令生成非配置文件

[英]CMake custom command to generate a non-config file

我讀了:

cmake 自定義命令來復制和重命名

我想做類似的事情,但不是復制文件,而是生成文件。 如果這不在自定義命令中,我會寫:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM