我是 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...
你能给我一个关于使它成为可能的简单解释吗?