EXECUTABLE_OUTPUT_PATH #库文件输出路径 LIBRARY_OUTPUT_PATH #安装路径 CMAKE_INSTALL_PREFIX Note:该变量可以在Cmakelist中显式地定义,即:SET(CMAKE_INSTALL_PREFIX < install_path >);也可以作为命令行参数传递:cmake -DCMAKE_INSTALL_PREFIX=< install_path > ;还可以在cmake完成后使用make install ...
# 本例中,将hello的共享库安装到<prefix>/lib目录; #将hello.h安装<prefix>/include/hello目录。 #INSTALL (TARGETS hello hello_shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) #INSTALL (TARGETS hello hello_static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) #INSTALL (FILES hello.h DESTINATION...
不论是SUBDIRS还是ADD_SUBDIRECTORY指令(不论是否指定编译输出目录),我们都可以通过SET指令重新定义EXECUTABLE_OUTPUT_PATH和LIBRARY_OUTPUT_PATH变量来指定最终的目标二进制的位置(指最终生成的hello或者最终的共享库,不包含编译生成的中间文件) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) SET(LIBRARY_OUTPUT...
ADD_EXECUTABLE(main main.cpp context.cpp patten.cpp patten.hpp ) 1. 9. 为生成的target配置安装目录 CMAKE_INSTALL_PREFIX SET(CMAKE_INSTALL_PREFIX <你要安装的路径>) 1. install(TARGETS MyLib EXPORT MyLibTargets LIBRARY DESTINATION lib # 动态库安装路径 ARCHIVE DESTINATION lib # ...
参数中的TARGETS后面跟的就是我们通过ADD_EXECUTABLE或者ADD_LIBRARY定义的目标文件,可能是可执行二进制、动态库、静态库。目标类型也就相对应的有三种,ARCHIVE特指静态库,LIBRARY特指动态库,RUNTIME特指可执行目标二进制。 DESTINATION定义了安装的路径,如果路径以/开头,那么指的是绝对路径,这时候CMAKE_INSTALL_PREFIX...
add_executable(HelloCMake hello_cmake.c) 3、运行cmake-gui,会打开如下界面: (1)源码所在的路径,即CMakeLists.txt所在的路径。本例为E:\workplace\cmake (2)构建过程中产生的文件的路径。本例为:E:\workplace\cmake\bin,注意这个路径可以与(1)路径相同,但若项目很大产生的文件很多要执行清理等操作时会...
在子文件夹添加了library或者executable之后,在上层目录添加subdirectory, 也可以在同一个CMakeList.txt中使用 include_directories 添加头文件目录 它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用。 语法: include_directories([AFTER|BEFORE][SYSTEM]dir1[dir2...])# ...
Target包括3种: executable、 library、自定义command 指令分别为 代码语言:javascript 复制 add_custom_command()add_library(archive archive.cpp zip.cpp lzma.cpp)add_executable(zipapp zipapp.cpp) 链接库和最终target:target_link_libraries(zipapp archive) ...
cmake_minimum_required(VERSION 3.1)# Set a default C++ compile flag# set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEX2" CACHE STRING "Set C++ Compiler Flags" FORCE)# Set the project nameproject (compile_flags)# Add an executableadd_executable(cmake_examples_compile_flags main.cpp)target_...
mark_as_advanced(Protobuf_PROTOC_EXECUTABLE) 实际上,apt安装的libprotobuf-dev,包含了放在/usr/bin/protoc这一可执行文件,而/usr/bin默认在PATH环境变量中,因此可以找到。 protobuf的库文件 是这样被查找到的: # The Protobuf library _protobuf_find_libraries(Protobuf protobuf) ...