目前,generated.h是由touch替换的脚本创建的。如何实现在每次运行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
)发布于 2017-03-14 13:58:49
不要使用add_custom_command,而是在每次运行构建时执行目标:它:
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})https://stackoverflow.com/questions/42786491
复制相似问题