CMAKE学习使Windows下的qtC++项目转为CMAKE项目

CMAKE初步了解:
为了使项目跨平台运行。
组织多文件项目编译顺序等,都需要自己在CMakeLists.txt文件中编写,CMAKE项目可以通过官方提供的CMake (cmake-gui)可视化应用将CMAKE项目转为windows下的.sln或者Linux下的项目。

如何使用:
我目前通过CLion创建的CMAKE项目,目的是把windows下的项目转为CMAKE项目,使之可以跨平台使用,方法是拷贝头文件及源文件,再用CMakeLists.txt重新组织。

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)

CMAKE根据winodws,linux加载不同库(依赖静态库生成动态库完整CMAKE文件)

你可能感兴趣的:(CMAKE,windows,qt,linux)