Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake生成器表达式求值顺序_C++_Cmake - Fatal编程技术网

C++ CMake生成器表达式求值顺序

C++ CMake生成器表达式求值顺序,c++,cmake,C++,Cmake,我想从对象库创建一个共享库,但我不知道生成器表达式在生成过程中何时求值。在本例中: add_library(foo OBJECT foo.c) add_library(boo SHARED $<TARGET_OBJECTS:foo>) target_sources(foo PRIVATE boo.c) add_库(foo对象foo.c) 添加库(boo共享$) 目标来源(foo私有boo.c) boo共享库是否包含boo.c?测试后,boo.c在boo库中。我节省了您的时间:)为

我想从对象库创建一个共享库,但我不知道生成器表达式在生成过程中何时求值。在本例中:

add_library(foo OBJECT foo.c)
add_library(boo SHARED $<TARGET_OBJECTS:foo>)
target_sources(foo PRIVATE boo.c)
add_库(foo对象foo.c)
添加库(boo共享$)
目标来源(foo私有boo.c)

boo共享库是否包含boo.c?

测试后,boo.c在boo库中。我节省了您的时间:)

为了完整:

生成器表达式在生成系统期间进行求值,以生成特定于每个生成配置的信息

这意味着它们支持条件链接、编译时使用的条件定义以及条件包含目录等。这些条件可能基于构建配置、目标属性、平台信息或任何其他可查询信息


为什么不添加boo.c来直接添加_库调用?@Noki:因为在我的例子中,它更复杂,有文件和子目录。