INSTALL(FILES hello.h DESTINATION include/hello) # 二进制,静态库,动态库安装都用TARGETS # ARCHIVE 特指静态库,LIBRARY 特指动态库,RUNTIME 特指可执行目标二进制。 INSTALL(TARGETS hello hello_static LIBRARY DESTINATION lib ARCHIVE DESTINA
三. 介绍两个特殊的环境变量CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH 注意:这两个是环境变量而不是 cmake 变量!使用方法是: 在.bashrc中用 export CMAKE_INCLUDE_PATH=/home/include/cmake .. 如果头文件没有存放在常规路径(/usr/include, /usr/local/include 等),则可以通过这些变量进行弥补。我们以本...
(3)还有CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH。 四、系统信息 CMAKE_MAJOR_VERSION,CMAKE 主版本号,比如2.4.6 中的2 。 CMAKE_MINOR_VERSION,CMAKE 次版本号,比如2.4.6 中的4 。 CMAKE_PATCH_VERSION,CMAKE 补丁等级,比如2.4.6 中的6 。 CMAKE_SYSTEM,系统名称,比如Linux-2.6.22 。 CMAKE_SY...
2.CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE 将工程提供的头文件目录始终至于系统头文件目录的前面,当你定义的头文件确实跟系统发生冲突时可以提供一些帮助。 3.CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH 如果头文件和库文件没有存放在常规路径(/usr/include, /usr/local/include 等),则可以通过这些变量进行设置。
2、将头文件搜索路径插入到其它的前面: include_directories(BEFORE /tmp) 当使用CMake的include复用...
是指在使用cmake构建项目时,指定不同的链接库路径和加载库路径的方法。 链接库路径(Library Path)是指编译器在链接阶段查找库文件的路径。当我们使用一些第三方库时,需要告诉编译器库文件所在的路径,以便正确链接。在cmake中,可以使用link_directories命令来指定链接库路径。 加载库路径(Library Load Path)是指在...
在chapter3 目录创建 main.c 和 CMakeLists.txt(注意文件名大小写): main.c 文件内容: // main.c #include <stdio.h> int main(void) { printf("Hello World from chapter3 Main!\n"); return 0; } CMakeLists.txt 文件内容: PROJECT(HELLO) SET(SRC_LIST main.c) MESSAGE(STA...
#include <stdio.h> void HelloFunc(); #endif 在lib目录下建立CMakeLists.txt,内容如下: 注意: 这里我们将Section 7之前的CMakeLists.txt中应有的内容提供如下: SET (LIBHELLO_SRC hello.cpp) # SET (LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) ...
#include <stdio.h> void HelloFunc(); #endif 在lib目录下建立CMakeLists.txt,内容如下: SET(LIBHELLO_SRC hello.c) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) (三)、编译共享库 仍然采用 out-of-source 编译的方式,按照习惯,我们建立一个build目录,在build目录中 ...
CMake是一个主要用于CPP的构建工具。CMake语言是平台无关的中间编译工具。同一个CMake编译规则在不同系统平台构建出不同的可执行构建文件。在Linux产生MakeFile,在Windows平台产生Visual Studio工程等。CMake旨在解决各平台的不同Make工具的产生的差异(比如GNU Make, ...