-->

如何修改安装路径,而不运行配置脚本/ CMake的再次(how to modify the inst

2019-08-03 00:56发布

我工作的一个项目,这需要相当长的时间来建立(10-15)分钟。 我已经重新编译,以验证是否存在编译错误。 现在我想更改安装目录,以便我有可执行新版本有了新的变化。 是否有只修改安装路径,以便“使安装”安装到新的位置,而不是旧的方法?

Answer 1:

CMake的生成的makefile支持DESTDIR编码约定的makefile文件。 因此,你可以通过设置覆盖缺省安装位置DESTDIR时调用make变量:

$ make install DESTDIR=/opt/local

有没有必要重新运行CMake的。



Answer 2:

我不知道这是否是普遍事实,但我可以给它的应用的一个例子接受的答案被sakra不能正常工作。 如果修改通过修改安装目录DESTDIR安装ITK的时候,它只会追加DESTDIR其已经形成的安装路径:

make install DESTDIR=/opt/local

[...]

-- Installing: /opt/local/usr/local/lib/cmake/ITK-4.4/WrapITK/Configuration/Typedefs/itkRenyiEntropy[...]

在另一方面,下面的这个答案由Fraser将导致无需重新编译正确的安装路径:

cmake -DCMAKE_INSTALL_PREFIX=/opt/local /path/to/ITK_source
make install

[...]

 -- Installing: /opt/local /lib/cmake/ITK-4.4/WrapITK/Configuration/Typedefs/itkRenyiEntropy[...] 



Answer 3:

与运行CMake的-DCMAKE_INSTALL_PREFIX=<somewhere different to last time>应该不会造成你的项目需要重新编译。 如果您通过其他命令行参数的CMake其中例如改变编译器标志,这迫使重建的受影响的目标,而只是改变安装前缀不会。



Answer 4:

DESTDIR和前缀的规范定义是:文件安装到$ DESTDIR $前缀,但是准备,好像他们的最终安装位置只是$前缀。

所以DESTDIR只是为人们构建软件包或二进制文件的压缩包; CMAKE_INSTALL_PREFIX是谁想要以指定生成的二进制文件应该生活在年底。



Answer 5:

为了以防万一,如果有人没有使用CMake的则有做,在Makefile文件的方法。 如果你在你的build目录生成Makefile.config文件,找到prefix 。 这个prefix是安装path ,其中的二进制文件/头文件等将被安装。 改变这将安装二进制文件/头,以修改后的path



文章来源: how to modify the install-path without running the configure script/cmake again