在何处/如何在CMake交叉构建项目中设置路径

时间:2016-09-29 10:04:41

标签: c++ path cmake cross-platform

我有一个C ++项目,它生成一个主二进制文件和一些支持二进制文件和库(DLL / SO)。还有一些额外的数据(资产,文本文件...)

目前使用混合使用CMake和Shell脚本的粗略方法来安装所有这些,特别是对于包系统而言非常糟糕。 我们(OpenSource项目)想要的是

  1. 基本安装到/ usr / local(bin,share,...)
  2. 安装到一个目录(尤其是窗户或者夜间)
  3. 问题:该程序如何知道它的安装位置和方式?目前,路径在CMake(* _BINDIR,* _DATA,* _GAMEDIR)中设置,并作为程序的定义传递。对于案例2."的基本路径。"对于情况1,使用(例如,对于编译程序的分布式版本是必需的)。路径是绝对的。

    但其他项目如何解决这个问题呢?他们只是使用相对路径(到CMAKE_INSTALL_PREFIX)并将CMAKE_INSTALL_PREFIX设置为"。"或" /"? DESTDIR怎么样?

    基本上如此:如何正确设置路径并让编译的程序知道它们而不会破坏分发编译程序的能力?

0 个答案:

没有答案