cmake语法
#指定CMake编译最低要求版本
CMAKE_MINIMUM_REQUIRED(VERSION 3.14)
#给项目命名
PROJECT(MYPRINT)
#收集c/c++文件并赋值给变量SRC_LIST_CPP ${PROJECT_SOURCE_DIR}代表区当前项目录
FILE(GLOB SRC_LIST_CPP ${PROJECT_SOURCE_DIR}/src/*.cpp)
FILE(GLOB SRC_LIST_C ${PROJECT_SOURCE_DIR}/src/*.c)
#指定头文件目录
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)
#指定链接库文件目录
LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/lib)
#指定生成库文件的目录
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
#去变量SRC_LIST_CPP 与SRC_LIST_C 指定生成libmyprint 动态库 默认生成静态库 SHARED指定生成库类型为动态库
ADD_LIBRARY(myprint SHARED ${SRC_LIST_CPP} ${SRC_LIST_C})
#将hello.cpp生成可执行文件hello
ADD_EXECUTABLE(hello ${SOURCE})
#指定目标hello 需要链接库libmyprint
TARGET_LINK_LIBRARIES(hello myprint)
# 指定源文件目录
AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/main/cpp SRC_LIST)
#查找liblog库,并将路径存为变量libname
find_library(libname log)
windows
在windows的vc编译器下(安装msbuild即可),运行如下步骤进行项目构建。
- md build
- cd build
- cmake …
- msbuild xxx.sln /p:Configuration=Release /t:Rebuild