cmake的一个测试demo
发布人:shili8
发布时间:2025-01-04 19:50
阅读次数:0
**CMake 测试 Demo**
本文将展示一个 CMake 的基本测试 demo,包括项目结构、配置文件、源码编译等方面的内容。
###1.项目结构首先,我们需要创建一个新的目录来存放我们的项目。假设我们选择了 `cmake_demo` 作为项目名称。
bashmkdir cmake_democd cmake_demo
接下来,我们需要在这个目录下创建以下文件:
* `CMakeLists.txt`: CMake 的配置文件* `src/`: 源码目录+ `main.cpp`: 主程序源码###2. 配置文件 (`CMakeLists.txt`)
现在,让我们来编写我们的 `CMakeLists.txt` 文件。这个文件是 CMake 的核心配置文件,用于描述项目的结构和依赖关系。
cmake# 指定 C++11 版本cmake_minimum_required(VERSION3.10) project(cmake_demo) # 添加一个名为 "mylib" 的库add_library(mylib src/main.cpp) # 设置库的目标名称set_target_properties(mylib PROPERTIES OUTPUT_NAME mylib) # 添加一个名为 "myapp" 的应用程序add_executable(myapp main.cpp) # 将 "mylib" 链接到 "myapp" target_link_libraries(myapp mylib)
###3. 源码编译现在,我们需要在 `src/` 目录下创建我们的源码文件 `main.cpp`。
cpp// src/main.cpp#include <iostream> int main() { std::cout << "Hello, CMake!" << std::endl; return0; }
###4. 构建和测试现在,我们可以使用 CMake 来构建我们的项目了。首先,我们需要在 `cmake_demo` 目录下创建一个名为 `build/` 的目录。
bashmkdir buildcd build
然后,我们可以使用 CMake 来生成 Makefile 或 Ninja 文件。
bashcmake ..
现在,我们可以使用 Makefile 或 Ninja 来编译我们的项目了。
bashmake
或者
bashninja
最后,我们可以运行我们的应用程序来测试它是否正常工作。
bash./myapp
###5. 总结本文展示了一次 CMake 的基本测试 demo,包括项目结构、配置文件、源码编译等方面的内容。通过这个例子,我们可以看到 CMake 是一个非常强大的构建系统,可以帮助我们管理复杂的项目结构和依赖关系。
###6. 附录#### A. CMake 配置文件示例
cmake# 指定 C++11 版本cmake_minimum_required(VERSION3.10) # 添加一个名为 "mylib" 的库add_library(mylib src/main.cpp) # 设置库的目标名称set_target_properties(mylib PROPERTIES OUTPUT_NAME mylib) # 添加一个名为 "myapp" 的应用程序add_executable(myapp main.cpp) # 将 "mylib" 链接到 "myapp" target_link_libraries(myapp mylib)
#### B. CMake 源码示例
cpp// src/main.cpp#include <iostream> int main() { std::cout << "Hello, CMake!" << std::endl; return0; }
#### C. CMake 构建和测试示例
bashmkdir buildcd buildcmake .. make./myapp
或者
bashninja./myapp