我的项目布局如下:
src/
include/
include1.h
include2.h
include3.h
lib/
lib1/
source1_lib1.c
source2_lib1.c
lib2/
source1_lib2.c
source2_lib2.c
source3_lib2.c
lib3/
source1_lib3.c
lib4/
source1_lib4.c
source2_lib4.c
module_A/ (this module will need lib1 and lib4)
source1_moduleA.c
source2_moduleA.c
module_B/ (this module will need lib2 and lib3)
source1_moduleB.c
source2_moduleB.c
source3_moduleB.c
module_C/ (this module will need lib1, lib2, lib3 and lib4)
source1_moduleC.c
module_D/ (this module will need lib1 and lib3)
source1_moduleD.c
source2_moduleD.c
source3_moduleD.c
source4_moduleD.c
全局解决方案可以由任意数量的module_X(取决于客户)
我的项目 CMake 文件位于“/src”下,包括一个配置文件(由客户需求定义)。此配置文件指示必须为目标客户构建和打包哪些模块。
假设我有一个客户 X,他选择的模块是 module_A 和 module_D。在这种情况下,我的构建系统应该只构建 lib_1、lib_3 和 lib_4。
我正在寻找的是一种无需构建即可定义目标库的方法,直到我在 module_X 目录下的 CMakeLists 文件中引用它们。
哦,我的错,我错过了非常感谢您的帮助