CMAKE自定义目标仅运行一次
Cmake Custom target that runs only once
我需要以某种方式基于.cpp
和.hpp
文件生成.fidl
文件。问题是,如果我尝试使用add_custom_target
,则每次运行。对于add_custom_command
,我需要指定输出文件,但我不想这样做。我想做这样的事情:
add_custom_command(gen_fidl
DEPENDS "*.fidl"
COMMAND <My Commands>)
但是在这种情况下,我需要为.fidl
文件指定规则
我将如何做这样的事情?
我找到了以下解决方案:
add_custom_command(
OUTPUT fidl_generated_successfully
DEPENDS ./cmake-build-debug/*.fidl
COMMAND touch fidl_generated_successfully
COMMAND <COMMAND TO DO>)
add_custom_target(
fidl_gen
DEPENDS fidl_generated_successfully)
add_dependencies(${PROJECT_NAME} fidl_gen)
但是,问题上存在文件( fidl_generated_succescescesly (。是否可以在任何地方更好的解决方案而不创建无用的文件 fidl_generated_succescescescesly
一般答案如下:如果您不知道生成了哪些文件,则应将方法与丹尼斯·科托夫(Denis Kotov(建议的"伪造"文件一起使用。否则会更好:
# definition of fidl_list
add_custom_command( OUTPUT ${fidl_list}
DEPENDS ${input_files_or_folders_for_generation}
COMMAND <command_to_do> )
add_custom_target(fidl_gen DEPENDS ${fidl_list})
相关文章:
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- 花括号使循环运行一次?
- 有没有办法在循环中的条件至少满足一次时运行语句?
- 如何一次运行3个函数?
- 有没有办法一次运行 3 个创建窗口函数?
- 如何通过一次运行将多个输入样本馈送到C++张量流模型
- 如何防止我的循环额外运行一次?
- 为什么循环只运行一次?
- 是否有一种方法可以在运行时停止循环重复一次不止一次
- 谷歌测试:如何为多个测试只运行一次夹具?
- 使用互斥锁将一次运行的线程数限制为 2
- CMAKE自定义目标仅运行一次
- 一次运行程序的多个实例C
- Qt C++每秒运行一次代码
- 程序一次运行每一行
- 为什么我的函数中的这个 for 循环只会运行一次,即使它应该运行多次?
- C 除了使用TBB :: task_group外,我如何一次运行三个不同的Parallel_for函数
- 使数据输入字段记住其值,从一次运行到下一次运行
- JNI_CreateJavaVM() 每隔一次运行应用程序时都会失败(确切地说)
- 如何使用c ++ / c从Windows命令行一次运行多个命令