如何从构建目录中选择源(如果可用),否则使用源目录
How to pick source from build dir if available otherwise use source dir?
如果文件可用,是否有方法强制CMAKE从当前构建文件夹中拾取源,否则从源目录中获取?
我的项目有以下结构:
ROOT/lib/a.cpp
/BUILD
BUILD文件夹是我运行CCD_ 1的地方。我有一个可选的自定义目标,它生成一个源BUILD/lib/a.cpp
文件:cmake generate
。
我想在ROOT/lib
中构建一个库,它会自动拾取生成的源文件BUILD/lib/a.cpp
,以防它存在,否则使用ROOT/lib/a.cpp
。
使用ROOT/lib/CMakeLists.txt
以以下方式生成库:
add_library(test a.cpp)
(省略了自定义规则)。
您只需使用生成文件的完整路径:
add_library(test ${CMAKE_CURRENT_BINARY_DIR}/a.cpp)
若文件不存在,将执行您的自定义命令来生成它。确保生成的文件由add_custom_command()
生成,而不是由add_custom_target()
生成。
相关文章:
- 模板类是这里的最佳选择吗?如果是,我该怎么做?
- 如果在VC6中使用打开功能,如何选择文件夹?
- 在 Win32 应用中,如果未选择文件夹并且用户单击"确定",则文件夹选择对话框将关闭
- 如果使用平台工具集构建应用,则 CCheckListBox 项在选择时会重叠'Visual Studio 2017 (v141)'
- 如果我们从每个 Y 向量中选择一个值,则 X 数字的每个组合都可能
- 在Visual Studio 2015中,哪些选择(如果有的话)表示 /CLR
- 以一种方式使用字符串选择(如果语句)
- 如果我想编写一个C程序,是否在CodeBlocks中选择C或C 文件真的很重要
- 如何使“确认选择”函数从“主要”取消,如果它是假的
- 如何从构建目录中选择源(如果可用),否则使用源目录
- 如果我已经完成了当前功能,我该如何选择继续执行另一个功能
- 强制 cmake 选择依赖位置(如果存在多个)
- 为什么如果数据已经发送,则选择仅显示文件描述符已就绪
- 如果我不想在 QAbstractItemView 中实现选择,我应该返回哪些值?
- 如果选择了上面的if语句,那么Will else就是resolve
- 如果加法表达式的第一个操作数可转换为指针和整数,则选择哪个转换
- 用c++编写一个菜单程序,让用户从选项列表中进行选择,如果输入的不是其中一个选项,则重新打印该列表
- 如果发现两个数字相等,人们会如何选择输入的第一个数字?
- 执行while循环,如果用户选择yes行为不正确,则重新启动程序
- 模板是最好的选择吗?如果是这样,语法是否正确?