cmake:基本结构

CMake

基本结构

cmake_minimum_required(VERSION 3.0)
project(ttest)

# 单元测试
# add_subdirectory(test)

# add_subdirectory(subsrc)

# 目标编译配置
include_directories(    
)

aux_source_directory(. SRCS)

add_executable(${PROJECT_NAME}
${SRCS}
)

# 动态库
# add_library(${PROJECT_NAME} SHARED
# ${SRCS}
# )

# 静态库
# add_library(${PROJECT_NAME}
# ${SRCS}
# )

target_link_libraries(${PROJECT_NAME}
)

set(INSTALL_HEAD_FILES
# 此处设置需要安装的头文件
${CMAKE_CURRENT_SOURCE_DIR}/tmp.txt
)

add_custom_command(TARGET  ${PROJECT_NAME} PRE_BUILD
    COMMAND mkdir -p ${CMAKE_CURRENT_SOURCE_DIR}/etc/${PROJECT_NAME} 
    COMMAND cp ${INSTALL_HEAD_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/etc/${PROJECT_NAME} 
    WORKING_DIRECTORY  ${CMAKE_CURRENT_SOURCE_DIR}
 )

# IF(CMAKE_BUILD_TYPE MATCHES RELEASE)
#     add_custom_command(TARGET  ${PROJECT_NAME} POST_BUILD
#         COMMAND sudo setcap "CAP_IPC_LOCK,CAP_SYS_NICE=+eip" ${CMAKE_CURRENT_SOURCE_DIR}/build/ttest
#         WORKING_DIRECTORY  ${CMAKE_CURRENT_SOURCE_DIR}
#     )
# ENDIF()

注意:在custom_command 中执行sudo时,对于vscode使用cmake插件会报错。但在shell中make时会提示输入密码

makefile中调用cmake

# FORCE依赖设置可使得每次make时都运行cmake相关命令
./build/ttest:FORCE
	cd build && cmake .. && make -j12

.PHONY: FORCE
FORCE:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值