构建两次相同的库

Build twice same library

所以我正在构建一个库,它基本上是相同的代码库,但我需要构建它两次,唯一的区别是第二次使用 -D 选项显示编译,他们需要生成两个不同的工件。目前我有这个:

add_library(foo STATIC sources...)
add_library(foo.ex STATIC sources...)
target_compile_definitions(foo.ex PUBLIC FOO)

这是最好的方法吗?还有其他更好的方法吗?

Is this the best way? Is there any other better ways to do?

是的,我认为这是最好的方法。我只会重构并将源放在一个公共变量中,这样它们就不会重复:

set(sources sources...)
add_library(foo STATIC ${sources})
add_library(foo.ex STATIC ${sources})
target_compile_definitions(foo.ex PUBLIC FOO)