CMAKE初步了解:
为了使项目跨平台运行。
组织多文件项目编译顺序等,都需要自己在CMakeLists.txt文件中编写,CMAKE项目可以通过官方提供的CMake (cmake-gui)可视化应用将CMAKE项目转为windows下的.sln或者Linux下的项目。
如何使用:
我目前通过CLion创建的CMAKE项目,目的是把windows下的项目转为CMAKE项目,使之可以跨平台使用,方法是拷贝头文件及源文件,再用CMakeLists.txt重新组织。
基础CMake代码
# 要求最低CMake版本
cmake_minimum_required(VERSION 3.13)
# 项目名称
project(CMakeCore)
# C++标准
set(CMAKE_CXX_STANDARD 11)
# 添加宏定义
add_definitions(-CODE)
# 根据编译类型生成文件夹
if("$CMAKE_SIZEOF_VOID_P}" EQUAL "4")
# 32位机器
set(USER_PLATFORM "Win32")
elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
# 64位机器
set(USER_PLATFORM "x64")
endif()
# 根据release和debug生成文件夹
set(EXE_PATH ${PROJECT_SOURCE_DIR}/bin_${USER_PLATFORM}_)
# 设置qt动态库的环境变量
set(CMAKE_PREFIX_PATH $ENV{QTDIR})
# 寻找qt库位置
find_package(Qt5 COMPONENTS Gui Widgets Core Xml XmlPatterns Sql Charts PrintSupport REQUIRED)
# 包含头文件目录
set(SOURCE_HEAD ${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories(
${SOURCE_HEAD}
)
# 添加子目录,子目录下必须有CMakeLists.txt
add_subdirectory(src)