首页 > 其他分享 >CMAKE-入门篇(一)

CMAKE-入门篇(一)

时间:2023-05-09 15:35:36浏览次数:35  
标签:cmake DEST blower LIBRARIES 入门篇 CMAKE server

路过的四海朋友大家好:
言哥倾囊相授软件工程高频常用17条cmake金句如下:

  1. cmake_minimum_required(VERSION 3.2) //cmake最低版本要求
  2. set(CMAKE_VERBOSE_MAKEFILE on) //启用Makefile构建过程中的详细输出。
  3. include(GNUInstallDirs) //使用 GNUInstallDirs.cmake 定义目标安装的标准位置,具体位置:./sysroots/aarch64-poky-linux/usr/share/cmake-3.14/Modules/GNUInstallDirs.cmake
  4. find_package(ara-exec REQUIRED)//查找相应的库,同时让对应的变量生效 cmake位置,库位置:./sysroots/aarch64-poky-linux/usr/lib/cmake/ara-exec/ara-exec-config.cmake
  5. add_definitions(-DHAS_VSOMEIP_BINDING) //设置HAS_VSOMEIP_BINDING编译参数
  6. set(APP_NAME blower_server) //设置APP名字
  7. LIST(APPEND ARA_LIBRARIES socket) //在变量中增加socket
  8. file(GLOB_RECURSE aragen_srcs ${GEN_DEST}/*.cpp) //GLOB_RECURSE遍历匹配目录的所有文件以及子目录下面的文件将其保存到变量aragen_srcs。
  9. include_directories(\({GEN_DEST}/\){APP_NAME}/includes) //将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。
  10. message(STATUS "GEN_DEST_PATH: ${GEN_DEST}")//相当于debug打印
  11. set(CMAKE_CXX_STANDARD 14) //设置C++标准是c++14
  12. aux_source_directory(libs/jsoncpp LIBS_JSONCPP) //查找在libs/jsoncpp路径下的所有源文件,并保存在LIBS_JSONCPP变量中
  13. link_directories(${Boost_LIBRARY_DIRS}) //添加库文件目录,相当于添加环境变量路径作用
  14. add_executable(blower_server ${ALL_COMPILE_SRC}) //先指定可执行文件,再连接相应的库
  15. target_link_libraries(blower_server ${CMAKE_THREAD_LIBS_INIT} ${ARA_LIBRARIES} ${ARAEXEC_LIBRARIES} ${ADAPTIVEPLATFORM_LIBRARIES})
  16. install(TARGETS blower_server RUNTIME DESTINATION opt/blower_server/bin)//RUNTIME 特指可执行目标二进制
  17. install(DIRECTORY //将生成的文件拷贝到opt文件夹中
    ${MANIFESTDIR}/blower_server
    DESTINATION opt
    )

看到这里,如果上述内容对你有益,请点赞、收藏加关注、留言评论,谢谢。

标签:cmake,DEST,blower,LIBRARIES,入门篇,CMAKE,server
From: https://www.cnblogs.com/MirrorCore/p/17385142.html

相关文章

  • CMake+Visual Studio构建Qt程序
    转载:https://www.codenong.com/cs106288798/转载:https://zhuanlan.zhihu.com/p/400804242一、编写代码文件main.cpp#include<QApplication>#include"Mainwindow.h"intmain(intargc,char*argv[]){QApplicationapp(argc,argv);MainWindowmain......
  • cmake add to linker from CLI
    CMAKE_EXE_LINKER_FLAGSCMAKE_MODULE_LINKER_FLAGSCMAKE_SHARED_LINKER_FLAGSCMAKE_STATIC_LINKER_FLAGShttps://cmake.org/cmake/help/latest/command/target_link_options.htmlhttps://stackoverflow.com/questions/24532853/how-can-i-add-linker-flag-for-libraries......
  • CMake重要指令
    1语法特性介绍基本语法格式——指令(参数1参数2)参数使用括弧括起来;参数之间使用空格或者分号隔开;set(HELLOhello.cpp)add_executable(hellomain.cpphello.cpp)ADD_EXECUTABLE(hellomain.cpp${HELLO})变量使用${}方式取值,但是在IF控制语句中是直接使用变......
  • Ubuntu 下判断 cmake 用的 gcc 还是 g++,如何切换版本
    >1/1>>Ubuntu下怎么知道cmake用的gcc还是g++1/1在Ubuntu上,可以通过`cmake`命令行选项`-DCMAKE_CXX_COMPILER`来指定C++编译器,而默认情况下,`cmake`将使用系统的默认编译器。要查看`cmake`使用的默认C++编译器,可以使用以下命令:perl```perlcmake--system......
  • Cmake入门
    Cmake官方网址https://cmake.org/CMakeLists.txt1#CMakeLists.txt23PROJECT(HELLO)45SET(SRC_LISTmain.cpp)67MESSAGE(STATUS"ThisisBINARYdir"${HELLO_BINARY_DIR})89MESSAGE(STATUS"ThisisSOURCEdir"${HELLO_SOUR......
  • cmake默认目标
    CMake生成的Makefile的默认目标是由Make工具决定的,而不是由CMake决定的。Make工具将默认目标设置为Makefile中的第一个目标。如果Makefile中没有明确指定默认目标,则默认情况下,Make工具将使用第一个目标作为默认目标。 在CMake中,可以使用add_executable或add_library命令来......
  • CMake 入门实战
    CMake入门实战本仓库是CMake入门实战的源代码。为了方便githubpages无法正常阅读的朋友,下面也附带上正文。但为了您更好的阅读体验,不妨前往原博客阅读:https://hahack.com/codes/cmake。什么是CMakeAllproblemsincomputersciencecanbesolvedbyanotherle......
  • 现代cmake用法
    目录自己写代码使用方法源码组织格式cmake关键字建议前向声明引用第三方库/依赖find_package用法非默认安装路径内容来源:这个UP主课讲的很好小彭老师cmake课程自己写代码使用方法推荐使用这样的目录结构include目录下要套一层目录是为了在使用时避免同名头文件冲突源码组织......
  • Tool-CMake-list
    Tool-CMake-listhttps://www.visgraf.impa.br/seminar/slides/rodlima_cmake_presentation.pdfUsefultomanagelonglistofelementsElementscanbemanipulateddependingonrunningplatformUsefulforsourcefilelistsExample:set(sourcesviewer.cpp......
  • Tool-CMake-Own Finder(-I -L -l)-compiling
    Tool-CMake-OwnFinder(-I-L-l)-compilingWhatisafinderWhencompilingapieceofsoftwarewhichlinkstothird­partylibraries,weneedtoknow:Wheretofindthe.hfiles(­Iingcc)Wheretofindthelibraries(.so/.dll/.lib/.dylib/...)(­Lingcc......