在这个例子中, 我们没有设置 CMAKE_INSTALL_PREFIX 和DESTINATION。这时, myexe 会被安装到 CMake 的默认安装路径下的 bin/ 子目录中。 如果我们要改变安装路径, 只需要修改 CMAKE_INSTALL_PREFIX。这可以通过命令行参数 -DCMAKE_INSTALL_PREFIX:PATH=/your/desired/path 来实现,也可以直接在 CMakeLists.txt ...
2.直接在CMakeLists.txt中设置 set(CMAKE_INSTALL_PREFIX /xxx/x) 编译完成后,执行make install即可。
建议使用GNUInstallDirs中的变量。如果路径不存在会自动创建。 相对路径:会使用 CMAKE_INSTALL_PREFIX 作为前缀路径,即${CMAKE_INSTALL_PREFIX}/<your_path>,指定路径不存在的话可以自动创建。如果在cpack中使用,路径使用CPACK_PACKAGING_INSTALL_PREFIX 绝对路径 COMPONENT:指定一个与安装规则相关联的安装组件名,如"...
DESTINATION定义了安装的路径,如果路径以/开头,那么指的是绝对路径,这时候CMAKE_INSTALL_PREFIX其实就无效了。如果你希望使用CMAKE_INSTALL_PREFIX来定义安装路径,就要写成相对路径,即不要以/开头,那么安装后的路径就是${CMAKE_INSTALL_PREFIX}/<DESTINATION定义的路径> 举个简单的例子: INSTALL(TARGETS myrun mylib ...
很多文章会说,你可以用set(CACHE),但实际上因为CMAKE_INSTALL_PREFIX总会有一个默认值,所以根本不会生效; 如果你用set(CACHE FORCE),那么将失去从命令行覆盖设置的能力。 正确的方式应该是: if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/MyInstallPath CACHE ...
1.1.3 安装路径(Install Paths) 安装路径(Install Paths)是指定目标安装的位置。在CMake中,我们可以通过CMAKE_INSTALL_PREFIX变量来设置安装路径的前缀,然后在install命令中通过DESTINATION参数来指定目标的具体安装位置。 1.1.4 组件(Components) 组件(Components)是CMake Install的一个高级概念。在一个大型的项目中,我...
将hello直接安装到/usr/bin目录,也可以通过make install DESTDIR=/tmp/test将他安装在/tmp/test/usr/bin目录,打包时这个方式经常被使用。 稍微复杂一点的是还需要定义PREFIX,一般autotools工程,会运行这样的指令: ./configure –prefix=/usr 或者 ./configure --prefix=/usr/local 来指定PREFIX.比如上面的Makefile...
如果设置的CMAKE_INSTALL_PREFIX为/home/test/Download/install,那么文件会分别安装到: /home/test/Download/install/bin /home/test/Download/install/var /home/test/Download/install/etc ... 如果重新设置以下路径为opt: set(CMAKE_INSTALL_BINDIR "opt") ...
如果是相对路径,会以CMAKE_INSTALL_PREFIX变量(Unix/Linux下默认值是/usr/local,Windows下的默认值是C:/Program Files/${PROJECT_NAME})内容为前缀。类Unix系统下可以在安装时通过DESTDIR环境变量(参考DESTDIR,备注:DESTDIR是DESTination DIRectory的缩写)重定位整个安装路径。例如文件的安装前缀默认是/usr/local/,当...