簡體   English   中英

cmake:每次生成時都重新生成文件

[英]cmake: regenerate file with each build

由腳本(暫時替換為touch )創建generated.h 如何在每次運行make時重新生成此文件? 如以下示例中那樣調用rm會產生錯誤。

cmake_minimum_required(VERSION 3.5.1)
project(MyProject)

set_source_files_properties(generated.h PROPERTIES GENERATED TRUE)

add_executable(jr
    jr.cpp
    generated.h
    )

add_custom_command(
        OUTPUT generated.h
        COMMAND rm generated.h
        COMMAND touch generated.h
        )

代替add_custom_command使用add_custom_target :它會在每次運行構建時執行:

add_custom_target(regenerate
    COMMAND rm -f generated.h # Remove file if it exists.
    COMMAND touch generated.h
)

# Force executable to be compiled after regeneration takes a place
add_dependencies(jr regenerate)

# You need to hint compiler about location of the header file generated.
include_directories(${CMAKE_CURRENT_BINARY_DIR})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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