2024年工作笔记

  1. CMake相关

1.1 CMake 从基础到高级技巧

# 根据操作系统类型安装不同的文件
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
    install(FILES "linux_specific_file.conf" DESTINATION etc)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
    install(FILES "windows_specific_file.conf" DESTINATION etc)
endif()

# 根据构建类型安装不同的库文件
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
    install(FILES "libMyLibrary_d.so" DESTINATION lib)
else()
    install(FILES "libMyLibrary.so" DESTINATION lib)
endif()

1.2 Cmake使用教程

变量名 含义
CMAKE_SOURCE_DIR 最顶层CmakeLists.txt所在目录,CHAN
CMAKE_CURRENT_SOURCE_DIR 当前CMakeLists.txt 所在路径
PROJECT_SOURCE_DIR 工程的根目录
CMAKE_ARCHIVE_OUTPUT_DIRECTORY 静态库的输出目录
CMAKE_LIBRARY_OUTPUT_DIRECTORY 动态库的输出目录
CMAKE_RUNTIME_OUTPUT_DIRECTORY 可执行文件的输出路径
cmake_minimum_required (VERSION 3.5)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT CMAKE_BUILD_TYPE)
	set(CMAKE_BUILD_TYPE Release)
endif()

project (Test)
# 设置头文件目录
include_directories(${PROJECT_SOURCE_DIR}/inc INC_DIR)

# 设置源文件目录
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC_DIR)

# 添加可执行文件
add_executable(helloworld hello.cpp)

# 链接库
target_link_libraries(helloworld ${CMAKE_SOURCE_DIR}/add.a)

1.3 讲的非常详细赞一个 CMake 保姆级教程(上)

posted on   jobgeo  阅读(6)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示