install指令用于定义安装规则,安装的内容可以包括目标二进制、动态库、静态库以及文件、目录、脚本等。需要引入一个新的cmake指令和一个非常有用的变量 cmake_install_prefix。
法一:cmake -Dcmake_install_prefix = /usr
目标文件的安装:
参数 TARGETS后面跟的是我们生成的目标文件,可能是可执行二进制、动态库和静态库。destination 定义了安装的路径 通常是${cmake_install_prefix}/<destination定义的路径>
普通文件的安装:
安装一般文件,并可以指定访问权限,文件名是此指令所在路径下的相对路径。
目录的安装:
directory后面链接的是自身目录的相对路径,但是注意abc和abc/的不同
目录名不以/结尾,这个目录安装到目标路径下的abc,而以/结尾,代表将这个目录的内容安装到目标路径,但是不包含这个目录本身。
add_library指令
同时名字相同的静态库和动态库,这条指令可以设置输出的名字,对于动态库,指定动态库版本和API版本。
1.引入头文件搜索路径
hello.h位于/usr/include/hello目录中,并没有位于系统标准的头文件路径。
该指令可以用来向工程添加多个特定的头文件搜索路径,路径间用空格分割。默认方式是追加到当前的头文件搜索路径的后面。
为target添加链接的共享库
特殊的环境变量CMAKE_INCLUDE_PATH 和CMAKE_LIBRARY_PATH 这两个是环境变量而不是cmake变量。使用的方法是在bash中用export或者cmake_include_path=/home/include cmake ..等方式。
如果头文件没有放在常规路径(/usr/include,/usr/local/include)可通过这些变量进行弥补。比如采用bash的方法:
find_path用来在指定路径中搜索文件名,比如