clion,cmake编译开源项目新手入门

cmake

cmake的重要指令

cmake命令

cmake命令指的是通过cmakefile.list编译计划生成编译结果,一般是可执行文件和一些库文件。

对应图像界面位置:

即build工具

在这里插入图片描述

cmake install命令

install命令才会把这些库添加到环境变量中,与这个有关的变量是:CMAKE_INSTALL_PREFIX。
CMAKE_INSTALL_PREFIX默认值在linux系统中位置是/usr/local,windows则是C:/Program Files (x86)

install默认点击debug/run的时候并不会触发,需要一点手动操作。

详情可以参考官网install说明:cmake install clion官网操作说明

对应图像界面位置:

在这里插入图片描述
下图位置可以设置run/debug的时候自动install,具体操作参考上面给出的官网。
在这里插入图片描述

install中的findPackage

作用:在环境变量下查找某个包,查找后的包可以用到后面。

原理:执行FindXXX.cmake程序,这个程序在cmake2.x的时候需要手写,3.x后可以使用自动生成的XXXConfig.cmake来配置找到程序包,XXX是库的名字。

install中的configure_file

该命令将 <input> 指定的文件拷贝为 <output>指定的文件,并将 <input> 文件中 @VAR@ 或 ${VAR} 的位置替换为使用 configure_file() 命令的当前 CMakeLists.txt 中变量 VAR 的值。该命令用于外部文件获取 CMakeLists.txt 文件中变量的值。

configure_file(<input> <output) 中的 <output> 指定的文件名必须是 xxxConfig.cmake 或 xxx-config.cmake(xxx必须为小写)。

cmake install文件demo

完整项目地址:my_oatpp

#######################################################################################
# 生成Target文件,将目标文件 targets 的可导出信息存储在 <export_name> 中(内存),用于生成可导出文件。
install(
    TARGETS ${OATPP_THIS_MODULE_TARGETS}
    EXPORT "${OATPP_MODULE_NAME}Targets"
    ARCHIVE
        DESTINATION "${CMAKE_INSTALL_LIBDIR}/oatpp-${OATPP_MODULE_VERSION}"
        COMPONENT Devel
    LIBRARY
        DESTINATION "${CMAKE_INSTALL_LIBDIR}/oatpp-${OATPP_MODULE_VERSION}"
        COMPONENT Library
    RUNTIME
        DESTINATION "${CMAKE_INSTALL_BINDIR}/oatpp-${OATPP_MODULE_VERSION}"
        COMPONENT Library
    INCLUDES
        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/oatpp-${OATPP_MODULE_VERSION}/${OATPP_MODULE_NAME}"
)
# 安装hpp类型文件到include文件夹下
install(DIRECTORY ${OATPP_DIRS_TO_INSTALL}
        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/oatpp-${OATPP_MODULE_VERSION}/${OATPP_MODULE_NAME}"
        COMPONENT Devel
        FILES_MATCHING PATTERN "*.hpp"
)
# 使用生成的导出信息,生成导出目标文件
install(EXPORT "${OATPP_MODULE_NAME}Targets"
        FILE "${OATPP_MODULE_NAME}Targets.cmake"
        NAMESPACE oatpp::
        DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${OATPP_MODULE_NAME}-${OATPP_MODULE_VERSION}"
        COMPONENT Devel
)
###################################################
# packaging Config
include(CMakePackageConfigHelpers)

write_basic_package_version_file("${OATPP_MODULE_NAME}ConfigVersion.cmake"
        VERSION ${OATPP_MODULE_VERSION}
        COMPATIBILITY ExactVersion ## Use exact version matching.
)

## Take module-config.cmake.in file in this direcory as a template

configure_package_config_file(
            "${CMAKE_CURRENT_LIST_DIR}/module-config.cmake.in"
            "${OATPP_MODULE_NAME}Config.cmake"
        INSTALL_DESTINATION
            "${CMAKE_INSTALL_LIBDIR}/cmake/${OATPP_MODULE_NAME}-${OATPP_MODULE_VERSION}"
        PATH_VARS
            OATPP_MODULE_NAME
            OATPP_MODULE_VERSION
            OATPP_MODULE_LIBRARIES
            OATPP_MODULE_LIBDIR
        NO_CHECK_REQUIRED_COMPONENTS_MACRO
)
###################################################

# 安装Config文件
install(
        FILES
            "${CMAKE_CURRENT_BINARY_DIR}/${OATPP_MODULE_NAME}Config.cmake"
            "${CMAKE_CURRENT_BINARY_DIR}/${OATPP_MODULE_NAME}ConfigVersion.cmake"
        DESTINATION
            "${CMAKE_INSTALL_LIBDIR}/cmake/${OATPP_MODULE_NAME}-${OATPP_MODULE_VERSION}"
        COMPONENT Devel
)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于CLionCMake使用,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了CLionCMake。如果你还没有安装,你可以从官方网站下载并安装CLionCMake的最新版本。 2. 打开CLion,点击"File"菜单,然后选择"New Project"。在弹出的对话框中,选择一个合适的项目模板,并选择一个保存项目的目录。 3. 在新建的项目中,你可以创建和编辑你的源代码文件。你可以使用C/C++等语言编写代码。 4. 在CLion中,你可以选择使用CMake来构建你的项目。CMake是一个跨平台的构建工具,它可以帮助你生成适用于不同操作系统和编译器的构建脚本。 5. 在你的项目目录中,创建一个名为CMakeLists.txt的文件,并在其中编写构建脚本。你可以指定编译器、编译选项、链接库等。 6. 在CLion中,点击"File"菜单,然后选择"Reload CMake Project"来加载你的CMakeLists.txt文件并配置你的项目。 7. 在CLion的工具栏中,你可以选择不同的构建配置,比如Debug或Release。点击构建按钮来构建你的项目。 8. 一旦构建成功,你可以运行你的项目。点击运行按钮来执行你的程序。 总结一下,使用CLionCMake可以帮助你更方便地编写、构建和运行C/C++等项目。你需要安装CLionCMake,并在CLion中创建项目和配置构建脚本。然后,你可以使用CLion的工具栏来构建和运行你的项目。希望这些信息对你有帮助! 引用: cmake-3.16.0-rc3.tar.gz官网搬运,目前最新版,官网下载速度极慢,方便大家使用cmake-3.16.0-rc3-win64-x64.msi,官网搬运,目前最新版,官网下载速度极慢,方便大家使用。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [cmake-3.16.0-rc3.tar.zip](https://download.csdn.net/download/qq_29935433/12098507)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [cmake-3.16.0-rc3-win64-x64.msi](https://download.csdn.net/download/qq_29935433/12097513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值