CMake
文章平均质量分 84
烫青菜
如果世界漆黑,其实我很美
展开
-
CMake | 安装项目用到的那些命令与函数
一、输出目录二、GNUInstallDirs.cmake模块三、file(TO_NATIVE_PATH "" )四、file(RELATIVE_PATH )五、set_target_properties五、RPATH1.CMAKE_INSTALL_RPATH2.INSTALL_RPATH六、install命令原创 2022-03-16 20:37:27 · 3269 阅读 · 1 评论 -
Cmake | ExternalProject_Add函数详解(构建时)
ExternalProject.cmake允许在构建时检索项目的依赖项; FetchContent.cmake 模块允许我们在配置时检索依赖项。原创 2022-03-15 15:55:36 · 6850 阅读 · 1 评论 -
CMake | 拆分CMakeLists.txt文件
通过add_subdirectory和include来处理CMakeLists.txt文件。原创 2022-03-11 17:27:07 · 928 阅读 · 0 评论 -
CMake | 废弃函数(宏)和变量
弃用函数(宏)相当于重新定义它,并使用 DEPRECATION 打印消息;废弃变量使用variable_watch来实现。原创 2022-03-10 18:14:41 · 532 阅读 · 0 评论 -
CMake | include_guard命令详解
1.cmake命令:include_guard 2.cmake变量:CMAKE_CURRENT_LIST_FILE原创 2022-03-10 15:22:53 · 1774 阅读 · 0 评论 -
CMake | cmake_parse_arguments详解
使用cmake_parse_arguments可以定义一个带有命名参数的函数或宏。原创 2022-03-09 16:07:07 · 2522 阅读 · 0 评论 -
CMake | CMake函数
1.function函数的使用:抽象细节避免代码重复。2.CMake命令:unset及string.原创 2022-03-08 13:43:28 · 2483 阅读 · 0 评论 -
CMake | CMake模块
将CMakeLists.txt文件分成几个模块;CMake相关命令:1.CMAKE_MODULE_PATH;2.include原创 2022-03-07 19:51:17 · 7486 阅读 · 0 评论 -
CMake | 使用宏重用代码
使用宏macro重用代码。 详解命令:${ARGC} ${ARGV} ${ARGN} math add_test set_tests_properties原创 2022-03-04 20:49:32 · 1310 阅读 · 0 评论 -
CMake | 在配置或构建时获取git相关信息
在配置或构建时获取git-hash等信息。 介绍git log等命令。原创 2022-03-03 15:42:42 · 2197 阅读 · 0 评论 -
CMake | 关于版本号的那些事儿
CMAKE_PROJECT_VERSION 、PROJECT_VERSION、PROJECT_VERSION_MAJOR、PROJECT_VERSION_MINOR及PROJECT_VERSION_PATCH等版本号变量。 file(READ <filename> <variable>)及string(STRIP <string> <output_variable>) 函数原创 2022-03-01 20:04:59 · 7846 阅读 · 0 评论 -
CMake I 构建时生成源码
本文通过使用add_custom_command()函数执行python命令生成C++文件primes.hpp。介绍file(MAKE_DIRECTORY [...])命令原创 2022-02-23 17:37:47 · 1254 阅读 · 0 评论 -
CMake I 配置时生成源码
在配置时生成源码有两种方式:1.提前写好配置文件print_info.c.in,利用cmake_host_system_information、configure_file和target_sources等生成源码print_info.c。(推荐使用) 2.提前写好配置文件print_info.c.in,使用python编写configure_file函数,利用python解释器生成print_info.c。原创 2022-02-21 16:59:28 · 1273 阅读 · 0 评论 -
CMake I 生成器表达式
bool生成器表达式、字符串值生成器表达式。原创 2022-02-17 14:27:05 · 2197 阅读 · 2 评论 -
CMake I try_run与check_cxx_source_runs详解
检查是否可以在当前系统上编译、链接和运行C++代码: try_run与check_cxx_source_runs。原创 2022-02-17 11:12:25 · 807 阅读 · 0 评论 -
CMake I 编译源文件的两种方式
编译源文件的两种方式:try_compile和check_<LANG>_source_compiles。原创 2022-02-14 16:59:53 · 2436 阅读 · 0 评论 -
CMake I add_custom_command命令详解(构建)
add_custom_command 向目标添加规则,并通过执行命令生成指定输出的文件。原创 2022-02-10 18:33:50 · 22238 阅读 · 0 评论 -
CMake I execute_process命令详解(配置)
execute_process 命令将从当前正在执行的CMake进程中派生一个或多个子进程,从而提供了在配置项目时运行任意命令的方法。原创 2022-02-10 14:47:51 · 8272 阅读 · 0 评论 -
CMake I 解压并使用第三方Eigen库
CMAKE_COMMAND CMAKE_CURRENT_BINARY_DIR add_custom_target原创 2022-02-09 18:45:33 · 3802 阅读 · 0 评论 -
CMake I 使用Boost Test进行单元测试
Boost动态链接:BOOST_XXX_DYN_LINK原创 2022-01-27 15:13:03 · 1432 阅读 · 0 评论 -
CMake I 使用Catch2库进行单元测试
使用Catch2库进行单元测试。原创 2022-01-25 20:49:08 · 2149 阅读 · 0 评论 -
CMake I 创建一个简单的单元测试
创建一个简单的单元测试。ctest命令、add_test()、enable_testing()。原创 2022-01-25 16:44:46 · 6191 阅读 · 0 评论 -
CMake I 使用Boost库filesystem
使用Boost::filesystem库原创 2022-01-21 18:16:25 · 2890 阅读 · 0 评论 -
CMake I 细谈find_package函数
find_package()有Module模式和Config模式。 pkg-config原创 2022-01-21 16:59:32 · 3974 阅读 · 0 评论 -
CMake I 检测处理器体系结构
检测处理器体系结构:x86、x64、AMD64。检测处理器指令集:虚拟内存大小、CPU线程数、主机名......CMAKE_SIZEOF_VOID_P、CMAKE_HOST_SYSTEM_PROCESSOR、CMAKE_SYS、cmake_host_system_information、configure_file、target_sources、target_include_directories PROJECT_SOURCE_DIR 、PROJECT_BINARY_DIR原创 2022-01-17 19:20:14 · 6639 阅读 · 0 评论 -
CMake I 检测操作系统&设置预处理器
1.检测操作系统Windows、Linux...2.处理与平台相关的源码:预处理器。原创 2022-01-14 16:31:42 · 1875 阅读 · 0 评论 -
CMake I 控制流
1.foreach2.set_source_files_properties3.get_source_file_property原创 2022-01-14 11:10:32 · 1752 阅读 · 0 评论 -
CMake I 设置语言标准
1.<LANG>_STANDARD 2.set_target_properties 3.CMAKE_<LANG>_STANDARD原创 2022-01-13 20:06:38 · 2422 阅读 · 0 评论 -
CMake I 设置编译器标志
target_compile_options check_cxx_compiler_flag原创 2022-01-13 18:40:02 · 2214 阅读 · 0 评论 -
CMake I 指定构建类型Debug/Release
目录一、单配置生成器CMAKE_BUILD_TYPE1.CMakeLists.txt2.构建(1)Release(2)Debug二、复合配置生成器CMAKE_CONFIGURATION_TYPES1.Release版本VS2019 x642.Release/Debug版本VS2017 x64(1)构建(2)编译Release(3)编译Debug一、单配置生成器CMAKE_BUILD_TYPECMake可以配置构建类型,例如:Debug、R...原创 2022-01-11 21:02:54 · 12709 阅读 · 2 评论 -
CMake I 获取/设置编译器
目录一、获取编译器信息1.与编译器交互(1)CMake变量(2)CMakeLists.txt二、设置编译器一、获取编译器信息Microsoft Windows上,如果cmake生成器是Visual Studio,将选择Visual Studio中 的 C++ 和 C 编译器。CMake提供 --system-information 标志,它将把关于系统的所有信息转储到屏幕或文件中:cmake --system-information informati...原创 2022-01-11 17:18:45 · 6742 阅读 · 0 评论 -
CMake I 条件控制编译
基于上篇文章,我们可以通过条件结构 if-else-endif来控制cmake编译的行为。本文的例子用来实现:将 Message.h 和 Message.cpp 构建成一个静态库,然后将生成库链接到 helloworld 可执行文件中。 将 Message.h、Message.cpp 和 helloworld.cpp 构建成一个可执行文件,但不生成任何一个库。一、CMakeLists.txt1.源文件cmake_minimum_required(VERSION 3.5 FA...原创 2022-01-10 20:14:37 · 6235 阅读 · 0 评论 -
CMake I 编译静态库、动态库和对象库
目录一、源文件1.Message.h2.Message.cpp3.helloworld.cpp二、CMakeLists.txt1.源文件2.CMake语言说明(1)cmake_minimum_required(2)project(3)add_library(4)add_executable(5)target_link_libraries三、cmake配置及编译1.cmake配置2.构建/编译【扩展】编译动态库(1)修改CMakeLists.原创 2022-01-07 20:30:08 · 2539 阅读 · 0 评论 -
CMake I CMake入门之hello world
目录一、环境安装1.安装CMake2.安装编译器(1)visual studio3.自动化构建工具(1)visual studio(2)Ninja二、hello world1.编写cpp文件2.编写CMakeLists.txt文件3.项目配置4.编译可执行文件5.操作目标文件一、环境安装1.安装CMake官网:Download | CMake2.安装编译器编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常...原创 2022-01-04 20:38:33 · 2037 阅读 · 0 评论