共计 1070 个字符,预计需要花费 3 分钟才能阅读完成。
最近好几次须要本人写 CMakeLists 测试一个模块的应用,很多步骤是反复的,所以总结一下通用的模板。
假如当初有一个编译好的共享库 libxxx.so,我想本人写些代码去测试它的接口应用,编译成可执行文件,能够应用相似如下的模板。
CMakeList.txt:
message("start building...")
#指定编译工具链
SET(TOOLCHAIN_HOME "/usr")
#SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_C_COMPILER ${TOOLCHAIN_HOME}/bin/aarch64-linux-gnu-gcc)
SET(CMAKE_CXX_COMPILER ${TOOLCHAIN_HOME}/bin/aarch64-linux-gnu-g++)
#指定编译选项
#add_compile_options(-DLINUX)
set(CMAKE_CXX_FLAGS "-std=c++11 -O2 -pthread")
cmake_minimum_required(VERSION 2.8)
project(test)
set(DEMO_NAME ${PROJECT_NAME})
#编译的源文件门路,测试代码的源文件
set(DEMO_SRCS srcFile1.cc srcFile2.cc main.cc)
#编译的头文件门路,包含测试代码的头文件和援用模块的头文件
include_directories(
/your_test_file_path/
/lib_include_path/
)
#须要链接的库门路
set(LIB_PATH /path_to_lib/libxxx.so)
#增加可执行文件
add_executable(${DEMO_NAME} ${DEMO_SRCS})
#动态链接库
target_link_libraries(${DEMO_NAME} ${LIB_PATH})
而后能够再写个 shell 脚本一键编译
cmake-linux.sh:
#!/bin/bash
#编译输入目录
BUILD_DIR=build_linux
BINARY_DIR=$BUILD_DIR/bin
#每次编译时删除从新创立
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
mkdir -p $BINARY_DIR
pushd $BUILD_DIR
#开始编译,如果想要增加本人的库能够加 install
echo "Default mode"
cmake -DCMAKE_INSTALL_PREFIX=install \
..
make
#make install
popd
正文完