add_executable(demo ./src/main.cpp) target_link_libraries(demo libsugan) 连接库: target_link_libraries(demo libsugan) target_link_libraries(app libsort.a) #生成app 链入 libsort.a静态库 TARGET_LINK_LIBRARIES(app libsort.a) 原例子: add_library,target_link_libraries,set_target_properties,targ...
CMake本身是一个工具集,由五个可执行的程序组成:cmake、ctest、cpack、cmake-gui和ccmake,其中cmake可以说是出镜率最高的明星级别程序了,它用于在构建项目的第一步,进行项目的配置、生成和构建项目的主要可执行文件的工作。其他的程序们ctest用于运行和报告测试结果的测试驱动程序,cpack用来生成安装程序和源包的...
cmake_minimum_required (VERSION 3.5) project (demo) set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) set (SRC_LIST ${PROJECT_SOURCE_DIR}/src/main.c) # find testFunc.h include_directories (${PROJECT_SOURCE_DIR}/testFunc/inc) find_library(TESTFUNC_LIB testFunc HINTS ${PROJECT_SOUR...
其中,executable_name 用于指定可执行文件的名称,source1、source2 等参数用于指定源文件的名称。例如: add_executable(MyProject main.cpp) 这个命令将设置可执行文件名称为 MyProject,并将 main.cpp 文件作为源文件添加到项目中。 其他常用 CMake 命令 ...
cpp) add_executable(zipapp zipapp.cpp) 链接库和最终target:target_link_libraries(zipapp archive) 3.7 其他命令等 3.7.1、打印调试日志消息 代码语言:javascript 代码运行次数:0 运行 AI代码解释 message(STATUS“my custom debug info”) 3.7.2、操作文件 代码语言:javascript 代码运行次数:0 运行 AI代码解释...
一个简单原则,在哪里ADD_EXECUTABLE或者ADD_LIBRARY,如果需要改变目标存放路径,就在哪里加上上述的定义。在这个例子中,则是src下的CMakeLists.txt。 4、如何安装 安装有两种方式:一是从代码编译后直接make install安装,一种是打包时的指定目录安装。 makefile的写法如下: DESTDIR= install: mkdir -p $(DESTDIR)...
md5.cpp)link_libraries(lib_demo)add_executable(demo main.cpp)# link libraryinstaticmodetarget_link_libraries(demo libuuid.a) 另外,使用cmake生成makefile之后,make edit_cache可以编辑编译选项。 不熟悉的命令可以去查找文档,贴个目前最新的cmake3.19官方帮助文档地址https://cmake.org/cmake/help/v3.19/...
set_target_properties(MyExecutablePROPERTIES COMPILE_OPTIONS"-Wall") 设置链接选项: set_target_properties(MyExecutablePROPERTIES LINK_FLAGS"-L/path/to/lib") 6.2 自定义编译和链接选项 为特定目标设置自定义的编译和链接选项。 设置编译选项: target_compile_options(MyExecutablePRIVATE-Wall-Wextra) ...
add_executable(main main.c) 2.3 运行查看 在终端下切到main.c所在的目录下,然后输入以下命令运行cmake: cmake . 输出结果如下: ps:此时,建议留意一下这个文件夹下多生成的文件都有哪些。 可以看到成功生成了Makefile,还有一些cmake运行时自动生成的文件。
[100%] Linking C executable hello [100%] Built target hellomgh@mgh-OptiPlex-5050:~/桌面/cmake_test/test2/build$ ./helloHello World. 二、多文件目录 1. 目录结构 mgh@mgh-OptiPlex-5050:~/桌面/cmake_test$ tree test test ├── CMakeLists.txt ...