Cmake添加带有标志的库
是否可以在cmake add_库函数中放置一个标志,以减少重复代码。e、 gCmake添加带有标志的库,cmake,Cmake,是否可以在cmake add_库函数中放置一个标志,以减少重复代码。e、 g add_library(somename SHARED $<TARGET_OBJECTS:xxx_objs> $<TARGET_OBJECTS:yyy_objs> $<TARGET_OBJECTS:zzz_objs> #if(INCLUDE_SOME_FLAG) $<TARGET_OBJECTS:aaa_objs> $&l
add_library(somename SHARED
$<TARGET_OBJECTS:xxx_objs>
$<TARGET_OBJECTS:yyy_objs>
$<TARGET_OBJECTS:zzz_objs>
#if(INCLUDE_SOME_FLAG)
$<TARGET_OBJECTS:aaa_objs>
$<TARGET_OBJECTS:bbb_objs>
$<TARGET_OBJECTS:ccc_objs>
#endif(INCLUDE_SOME_FLAG)
)
add_库(somename共享)
$
$
$
#如果(包括某些标志)
$
$
$
#endif(包括某些标志)
)
如果我尝试,会出现错误:“找不到源文件:”
如果我删除该标志,它的工作正常。我猜它认为标志是一个源文件,不管怎样?set(somename\u objs
set(somename_objs
$<TARGET_OBJECTS:xxx_objs>
$<TARGET_OBJECTS:yyy_objs>
$<TARGET_OBJECTS:zzz_objs>)
if (INCLUDE_SOME_FLAG)
list(APPEND somename_objs
$<TARGET_OBJECTS:aaa_objs>
$<TARGET_OBJECTS:bbb_objs>
$<TARGET_OBJECTS:ccc_objs>)
endif ()
add_library(somename SHARED ${somename_objs})
$
$
$)
如果(包括某些标志)
列表(附加somename_objs)
$
$
$)
endif()
添加库(somename共享${somename_objs})