gpt4 book ai didi

c++ - 如何正确设置CMake项目?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:34 25 4
gpt4 key购买 nike

虽然很容易找到关于如何使用 CMake 的表面信息,但如何真正正确使用 CMake 的信息似乎很难找到。在一个大小适中的 CMake 项目(一个可执行文件、该可执行文件使用的一个或多个静态库、静态库使用的一个或多个外部依赖项)中,文件夹和 CMakeList.txt 文件应该如何排序?什么 CMakeList.txt 文件应该有什么命令?

最佳答案

了解如何有效使用 CMake 的一个好方法是查看其他项目。 LLVM及其子项目就是一个很好的例子。

通常,良好的编码实践会转化为良好的 CMake 实践;您需要模块化、清晰的风格和灵 active 。

这方面的一个示例可能是在 src 目录中构建可执行文件的规则,然后在根项目文件夹中使用该目标。像这样:

-my_proj
|
----CMakeLists.txt //contains directives for top-level dependencies and linking, includes subfolders
----src
|
----CMakeLists.txt //contains definition of your main executable target
----internal_lib
|
----CMakeLists.txt //contains definition of your internal static libraries

我的项目/CMakeLists.txt

add_subdirectory(src)
find_package (Threads REQUIRED) #find pthreads package
target_link_libraries (my_exe my_lib ${CMAKE_THREAD_LIBS_INIT}) #link against pthreads and my_lib

my_proj/src/CMakeLists.txt

add_subdirectory(internal_lib)
add_executable(my_exe my_source1.cpp mysource2.cpp)

my_proj/src/internal_lib/CMakeLists.txt

add_library(my_lib my_lib_source1.cpp my_lib_source2.cpp)

关于c++ - 如何正确设置CMake项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25739439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com