0

我是 CMake 环境的新手。我有这个项目结构树:

/my_proj
│ 
├── deps
│   └── my_dep
│       └── CMakeLists.txt
├── src
│   └── main.cpp
└── CMakeLists.txt

其中my_dep是一个 git 子模块,用作my_proj项目的依赖项。

通常我分别编译这两个实体,首先编译库my_dep,然后将其链接到my_proj exe。

cd my_proj/deps/my_dep
cmake . && make

...compiling library...

cd my_proj
cmake . && make

...compiling exe and linking the above lib...

现在我希望能够使用单个 CMake 命令编译这两个库而不是可执行文件一次。

/my_proj/CMakeList.txt文件必须包含所有需要的命令,以首先编译my_dep lib 并生成.a/.so 文件,然后编译my_proj exe并最终将 lib 与 exe 链接。

我想一次性完成这个过程,只需要一个 make 命令,例如

cd my_proj
cmake . && make

...compile lib, compile exe and link lib to exe...

你能给我一个关于使它成为可能的简单解释吗?

4

0 回答 0