CMake
文章平均质量分 59
CMake学习记录。
丸子叮咚响
日拱一卒,功不唐捐。
展开
-
CMake Tutorial6 增加扩展命令和生成的文件
一 内容本文主要演示两项:(1) add_custom_command 的使用;(2) 如果在源代码中使用过程中生成的源文件。在CMake Tutorial5 增加系统自省 基础上修改。增加 MathFunctions/MakeTable.cxx 文件,内容如下:// A simple program that builds a sqrt table#include <cmath>#include <fstream>#include <iostream>原创 2021-09-03 20:34:34 · 167 阅读 · 0 评论 -
CMake Tutorial5 增加系统自省
目录一 内容二 构建及测试三 Github四 参考一 内容有些场景下,某些功能能否使用取决于目标平台(target platform)是否有该功能。本文主要说明如何通过 check_symbol_exists 实现对头文件中符号(功能)的检测,如果功能存在则使用该功能。在 CMake Tutorial4_2 测试支持 上修改,去掉test部分,在 MathFunctions/CMakeLists.txt 中增加 check_symbol_exists 的处理,如下:## MathFunction原创 2021-09-03 19:03:27 · 98 阅读 · 0 评论 -
CMake Tutorial4_2 测试支持
目录一 内容二 构建及测试三 Github四 参考一 内容请先阅读 CMake Tutorial4_1 安装目标 或更前文章。主要说明 如何使用enable_testing和add_test命令测试。文件目录step4_2|- MathFunctions |- CMakeLists.txt |- MathFunctions.h |- mysqrt.cc|- CMakeaLists.txt|- main.cc |- TutorialConfig.h.in修改C原创 2021-06-10 20:55:31 · 118 阅读 · 0 评论 -
CMake Tutorial4_1 安装目标
目录一 内容二 构建及安装三 Github四 参考一 内容请先阅读 CMake Tutorial3 增加库的使用要求 。主要说明 如何使用install命令安装目标。文件目录step4_1|- MathFunctions |- CMakeLists.txt |- MathFunctions.h |- mysqrt.cc|- CMakeaLists.txt|- main.cc |- TutorialConfig.h.in修改MathFunctions/CMak原创 2021-06-09 20:23:42 · 99 阅读 · 0 评论 -
CMake 目标属性 DEFINE_SYMBOL
目录一 set_target_properties二 DEFINE_SYMBOL三 举例四 参考一 set_target_properties> Targets can have properties that affect how they are built.目标可能具有影响其构建方式的属性。语法set_target_properties(target1 target2 ... PROPERTIES prop1 value1原创 2021-06-09 19:13:08 · 1254 阅读 · 0 评论 -
CMake Tutorial3 增加库的使用要求
一 内容请先阅读 CMake Tutorial2_2 设置使用库的开关 。主要说明 如何增加库的使用要求。“使用要求”简述Usage requirements allow for far better control over a library or executable’s link and include line while also giving more control over the transitive property of targets inside CMake原创 2021-06-08 20:07:00 · 93 阅读 · 0 评论 -
CMake Tutorial2_2 设置使用库的开关
一 内容请先阅读 CMake Tutorial1_2 将CMake变量传递给代码源文件 和 CMake Tutorial2_1 创建并添加库到工程。主要说明 如何通过变量选择使用的库。CMakeLists.txt# 设置CMake最低版本cmake_minimum_required(VERSION 3.16)# 设置项目名称及版本project(Tutorial VERSION 1.0)# 生成可执行文件add_executable(Tutorial main.cc)# 设置选原创 2021-06-07 21:04:48 · 205 阅读 · 0 评论 -
CMake Tutorial2_1 创建并添加库到工程
一 内容主要说明 创建库, 然后在工程中创建并使用它。CMakeLists.txt# 设置CMake最低版本cmake_minimum_required(VERSION 3.16)# 设置项目名称及版本project(Tutorial VERSION 1.0 LANGUAGES CXX)# 设置语言标准,此处为C++11set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED True)# 生成库add_subdi原创 2021-06-07 20:01:37 · 136 阅读 · 0 评论 -
CMake Target Properties FOLDER 不起作用
方案在根部的CMakeLists.txt中如下设置:set_property(GLOBAL PROPERTY USE_FOLDERS ON)参考Target Properties FOLDER not working?原创 2021-06-01 21:34:15 · 762 阅读 · 0 评论 -
CMake Tutorial1_3 设置语言标准
一 内容在 CMake Tutorial1_1 最简单的例子 基础上修改。主要说明 CMake如何设置C++语言标准。修改CMakeLists.txt# 设置CMake最低版本cmake_minimum_required(VERSION 3.16)# 设置项目名称及版本project(Tutorial VERSION 1.0)# 设置语言标准,此处为C++11set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED True)原创 2021-05-28 10:26:26 · 670 阅读 · 0 评论 -
CMake Tutorial1_2 将CMake变量传递给代码源文件
一 内容在 CMake Tutorial1_1 最简单的例子 基础上修改。主要说明 如何将CMake的变量值传递给代码源文件。关于 project命令,其语法如下:project(<PROJECT-NAME> [<language-name>...])project(<PROJECT-NAME> [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]原创 2021-05-28 09:54:57 · 1637 阅读 · 0 评论 -
CMake Tutorial1_1 最简单的例子
一 内容CMake最简单的例子只需要一个3行的CMakeLists.txt和一个源文件例如main.ccCMakeLists.txt# 设置CMake最低版本cmake_minimum_required(VERSION 3.16)# 设置项目名称及版本project(Tutorial VERSION 1.0)# 可仅设置项目名称# project(Tutorial)# 生成可执行文件add_executable(Tutorial main.cc)main.cc#in原创 2021-05-27 20:09:22 · 243 阅读 · 0 评论 -
CMake 简介
CMake is a tool to manage building of source code. Originally, CMake was designed as a generator for various dialects of Makefile, today CMake generates modern buildsystems such as Ninja as well as project files for IDEs such as Visual Studio and Xcode..原创 2021-05-27 17:21:49 · 251 阅读 · 0 评论 -
CMake macOS安装
一、 选择合适的版本1. 最新版本(https://cmake.org/download/)2. 以前版本(https://cmake.org/files/)二、 配置命令行使用1. dmg安装后,打开CMake,点击Tools选择How to Install For Command Line Use2. 执行 sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install即可。三、命令行查看le.原创 2021-05-27 16:23:21 · 2153 阅读 · 0 评论 -
CMake 工程按文件夹显示层次结构
# https://www.coder.work/article/807942foreach(FILE ${all_files}) #convert source file to absolute get_filename_component(ABSOLUTE_PATH "${FILE}" ABSOLUTE) # Get the directory of the absolute source file get_filename_component(PARENT_DIR "${ABSOLU原创 2021-05-10 19:16:30 · 485 阅读 · 0 评论