您的位置:

使用Cmake-gui进行项目管理

一、基本介绍

Cmake-gui是Cmake的图形化界面,通常来说,CMake是一个跨平台的编译工具,它并不能替代make或者automake,它只是一个在编译前生成Makefile,ninja等的工具,使得开发人员可以更加专注于代码而不用考虑编译环境中的各种设置。而cmake-gui作为CMake的图形化界面,可以更加方便的进行项目管理,配置等操作。下面我们将具体介绍Cmake-gui的使用方法。

二、Cmake-gui界面简介

Cmake-gui界面整体分为左右两个部分,左边是工程面板,右边是项目属性。下面我们将分别介绍这两个部分。

三、左部工程面板

1、CmakeLists.txt项目文件

工程面板的第一项是根目录的CmakeLists.txt,我们在配置Cmake项目的时候都需要先编写CmakeLists.txt文件定义项目编译选项和规则,在Cmake-gui中也不例外。在Cmake-gui的工程面板中,我们可以通过打开一个CMakeLists.txt文件来加载已经存在的CMakeLists.txt文件,并对它进行配置。

cmake_minimum_required(VERSION 3.17)
project(MyProject)

set(CMAKE_CXX_STANDARD 14)

add_executable(MyProject main.cpp)

2、源码目录和构建目录

在加载CMakeLists.txt文件之后,我们需要配置源码目录和构建目录。在Cmake中,我们把我们的工程结构分为源码目录和构建目录。源码目录是我们写代码的地方,构建目录则是生成Makefile、ninja、Visual Studio、Xcode等IDE项目文件的地方。在工程面板的上方是源码目录,下方是构建目录,可以通过browse按钮选择路径。

四、右部项目属性

1、Cmake-gui属性设置

在Cmake-gui中,我们可以通过编辑器的方式设置各种编译变量,比如C++标准和编译选项等。在右边的属性面板,我们可以看到一些用于配置项目的选项,比如生成器(Makefile生成器或者Visual Studio生成器), 编译器选项,链接器选项等。

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "-O2")

2、生成Makefile

在做完源码目录与构建目录的配置之后,我们可以直接点击Generate按钮生成Makefile文件。

五、Cmake-gui常用命令实例

1、设置编译器版本

set(CMAKE_C_COMPILER gcc-8)
set(CMAKE_CXX_COMPILER g++-8)

2、使用Boost库

find_package(Boost COMPONENTS program_options REQUIRED)
if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS})
    add_executable(my_program main.cpp)
    target_link_libraries(my_program ${Boost_LIBRARIES})
endif()

3、设置输出路径

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)

四、总结

Cmake-gui是一个十分实用、方便的图形化管理工具,对于一些初学者,使用cmake-gui不仅能够让您更好地了解cmake的整个编译流程,还可以更加便捷地对您的项目进行管理与配置。