CMake基本语法

11 篇文章 1 订阅
1 篇文章 0 订阅

打算把项目用cmake重新做一遍,笔记待补充

cmake_minimum_required(VERSION 2.8.9)
project (hello)
#输出工程的根目录
message(${PROJECT_SOURCE_DIR})
set(LIB_SRC hello.cpp)
set(APP_SRC test.cpp)

#生成库文件
add_library(hello_static STATIC ${LIB_SRC})
#生成一个可执行文件
add_executable(hello ${APP_SRC})

#设置输出的名称,设置动态库的版本和API版本
set_target_properties(hello_static PROPERTIES OUTPUT_NAME "hello")
#在构建libhello.a时,就会清理掉libhello.so.,为避免这个问题,再次定义属性
set_target_properties (hello_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
set_target_properties (hello PROPERTIES CLEAN_DIRECT_OUTPUT 1)

#为target添加需要链接的共享库,链接的顺序应当符合gcc链接顺序规则,被依赖在后
target_link_libraries(hello hello_static)

#使用 SET(EXECUTABLE_OUTPUT_PATH <新路径>)并不会对这个变量造成影响,它仅仅修改了最终目标文件存放的路径。
#set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
#set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

#添加头文件搜索目录
#include_directories(${PROJECT_SOURCE_DIR}/libhello)
#向当前工程添加存放源文件的子目录,第二个参数(如果有)用于指定外部文件夹在输出文件夹中的位置,EXCLUDE_FROM_ALL排除
#add_subdirectory(src bin)

#aux_source_directory(. SRC_LIST) # 搜索当前目录下的所有.cpp文件
#link_directories(dir1 dir2 ...)  # 添加非标准的共享库搜索路径

参考https://blog.csdn.net/dbzhang800/article/details/6314073

       https://blog.csdn.net/wzzfeitian/article/details/40963457

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值