CMake
链接
官网
CMake入门实践
实践
选项
使用
基础的开始设置
1 2
| cmake_minimum_required(VERSION 2.6) project(cplusplus_common)
|
设置编译器和编译参数
1 2 3 4 5 6 7 8
| set(CXX_FLAGS -g -Wall -rdynamic ) set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
动态库编译
add_library(hgh_base SHARED ${base_SRCS})
target_link_libraries(hgh_base pthread rt)
静态库编译
add_library(hgh_base ${base_SRCS})
target_link_libraries(hgh_base pthread rt)
动态库和静态库同时编译
set_target_properties(hgh_base_static PROPERTIES OUTPUT_NAME “hgh_base”)
可执行编译
1
| add_executable(test SRC_LIST)
|
指定可执行程序的输出目录
1
| set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
|
扩展
使用build.sh脚本独立编译环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #!/bin/sh
set -x
SOURCE_DIR=`pwd` BUILD_DIR=${BUILD_DIR:-../build} BUILD_TYPE=${BUILD_TYPE:-debug} INSTALL_DIR=${INSTALL_DIR:-../${BUILD_TYPE}-install}
mkdir -p $BUILD_DIR/$BUILD_TYPE \ && cd $BUILD_DIR/$BUILD_TYPE \ && cmake \ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \ $SOURCE_DIR \ && make $*
|