首页 > 其他分享 >CMake 基础使用

CMake 基础使用

时间:2023-12-17 13:33:39浏览次数:37  
标签:CMakeLists CMake 基础 SOURCE 使用 cpp txt DIR

# This is a CMakeLists.txt

#[[
This is a CMakeLists.txt
This is a CMakeLists.txt
This is a CMakeLists.txt

* CMake 生成的 make 文件以及一些其他的乱七八糟的文件都在终端当前对应的目录中
]]

cmake_minimum_required(VERSION 3.15)
#最低 CMake 版本

project(CMakeLearning)
#工程的名字 ( + 当前项目版本 + 当前项目描述 + 网页Homepage + 构建项目语言)

set(SRC_LIST add.cpp div.cpp mul.cpp main.cpp sub.cpp)
#定义变量为当前目录下所有工程源代码

#自动搜索变量
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC1)
#路径名 + 变量名,取出路径中所有的源文件到变量中
#PROJECT_SOURCE_DIR 指的是 CMakeLists.txt 的路径

file(GLOB SRC2 ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
#GLOB 当前目录搜索,GLOB_RECURSE 当前目录以及子目录搜索 + 变量名 + 路径 + 文件类型(后缀名
#CMAKE_CURRENT_SOURCE_DIR 指的是 CMakeLists.txt 的路径

include_directories(${PROJECT_SOURCE_DIR}/include)
#设置头文件所在目录

set(CMAKE_CXX_STANDARD 11)
#定义宏编译C++标准,终端输入时后面加 -DCMAKE_CXX_STANDARD=11,在 C++ 11标准下生成可执行文件

set(EXECUTABLE_OUTPUT_PATH .)
#生成可执行文件的目标位置,相对 make 文件的路径或者绝对路径均可
#这里是指定生成到 make 相同的路径下

add_executable(app ${SRC1})
#生成可执行程序的名字 + 项目源文件

标签:CMakeLists,CMake,基础,SOURCE,使用,cpp,txt,DIR
From: https://www.cnblogs.com/zaza-zt/p/17908978.html

相关文章

  • Android中使用Gson
    Gson是一个Java库,可用于将Java对象转换为它们的JSON表示。它还可以用于将JSON字符串转换为等效的Java对象。Gson可以处理任意Java对象,包括您没有源代码的已有对象。一、简单使用1.导入在Android的build.gradle中添加依赖:dependencies{implementation'com.google.code.......
  • 使用 Prometheus 监控 Memcached 最佳实践
    监控Memcached监控Memcached的重要性无法忽视。通过监控Memcached,我们可以及时了解到系统中的缓存命中率、缓存使用量和缓存访问频率等关键指标,从而更好地优化系统性能。同时,监控Memcached还可以帮助我们发现潜在的性能问题和内存泄漏,及时采取措施进行修复,保障系统的稳定运行。在......
  • ARM64技术 —— 系统调用指令SVC、HVC和SMC的使用规则
    来源:learn_the_architecture_-_aarch64_exception_model_102412_0103_01_en.pdf即:EL0不能调用SMC或者HVC这个从HVC和SMC指令的伪码中可以看到:HVCSMC......
  • 02.环境安装与使用
    目前mobile自动化解决方案iOSAndroidCalabash-iOScalabash-AndroidFrankMonkeyTalkUIAutomationRobotiumiOS-driverUIAutomatorKeepItFunctionalSelendroidMacacaMacacaAppiumAppium 自动化工具选择工具名称被测系统脚本语言是否支......
  • 2023-2024-1 20231310《计算机基础与程序设计》第12周学习总结
    作业信息作业属于的课程<班级链接>(2022-2023-1-计算机基础与程序设计)作业要求<作业要求>(2022-2023-1计算机基础与程序设计第一周作业)作业目标《C语言程序设计》第11章作业正文https://www.cnblogs.com/wang-hoNbang/p/17908886.html教材学习内容总结《C......
  • 使用Docker自定义配置部署RustDesk Server
    “RustDesk是一款可以平替TeamViewer的开源软件,旨在提供安全便捷的自建方案。”这是RustDesk官网对自己的描述。作为一款使用Rust语言开发的开源软件,在为数不多的Rust开发者和数量庞大的Rust学习者中还是有相当的知名度的,并且商业化的RustDeskPro也是如火如荼。开始docker......
  • 2023-2024-1 20231410刘珈岐《计算机基础与程序设计》第12周学习总结
    2023-2024-120231410刘珈岐《计算机基础与程序设计》第12周学习总结作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13008)这个作业的......
  • Spring Boot Actuator 使用和常用配置
    转载请注明出处:SpringBootActuator是SpringBoot提供的一个非常强大的工具,它可以帮助我们监控和管理我们的SpringBoot应用。Actuator提供了一系列的端点,我们可以通过这些端点来查看我们的应用的运行状态,例如健康状态、指标、信息、数据库连接、Redis连接等等1.配置Spring......
  • 零基础学习信奥如何进行科学规划
    我自己与信奥、与编程有着很深的缘分,无论是从我家孩子读书时的竞赛经历(曾经的信奥选手)还是我曾经的工作背景(之前一直在教育系统从事信息学工作),到现在自己在一线执教,管理教育教学团队,总结出一些信奥学习的基本规律。 #1信奥学习进阶路线 从零基础到高水平选手的学习历程,会经过......
  • 2023-2024-1 20231312 《计算机基础与程序设计》第12周学习总结
    作业信息这个作业属于哪个课程<班级的链接>2023-2024-1-计算机基础与程序设计|-这个作业要求在哪里<作业要求链接>2023-2024-1计算机基础与程序设计第6周作业|这个作业的目标《C语言程序设计》第11章|作业正文作业链接教材学习内容总结《C》指针在一......