我在我的代码库中使用了一个第三方库Scheme S7,它由一个头文件和一个源文件组成。我在我的两个库中使用了这个外部代码。在一个库中,我需要包含S7库的源文件并设置一些#defines,但在第二个库中,我只需要包含头文件,并有一组不同的定义。
是否有一种方法可以创建一个目标,使其适用于这两种情况,或者我是否需要为此创建两个不同的目标。第一个目标(包括源文件)的定义如下:
add_library(third_party_scheme INTERFACE)
add_library(third_party::scheme ALIAS third_party_scheme)
target_sources(third_party_scheme
INTERFACE
"scheme/s7.c"
)
target_compile_definitions(third_party_scheme
INTERFACE
S7_EXPORT_LIB
S7_OUTPUT_FUNCTION_FULL_STRING
)
1条答案
按热度按时间eit6fx6z1#
所以只创建两个目标。
我是否需要为此创建2个不同的目标
是的。你可以做一个函数,比如: