如何使用CMake正确处理程序的资源文件的位置

时间:2013-09-25 13:01:31

标签: c++ linux cmake

我有一个C ++程序,它需要在运行时打开一些XML文件来收集有关系统的配置信息。我正在使用CMake来管理构建和部署(RPM),并试图找出最优雅的方法来处理安装这些XML文件并允许我的程序在运行时找到它们。

理想情况下,此解决方案将:

1)允许程序从其构建位置(用于测试/调试模式)运行,其中XML文件驻留在源目录中

2)当程序安装到/ usr或/ usr / local(或其他)时,XML文件将安装到/ usr / share / somePath / ConfigFiles /,程序将知道在那里查找它们。< / p>

我目前的解决方案是创建一个config.h.in文件,该文件定义XML文件的源路径和安装路径(/ usr / share / ...)。程序运行时,它会检查一个目录,然后检查另一个目录。有没有更好的方法来处理这个问题,以便程序知道是否已经执行了“make install”并且它将确切地知道在哪里找到它们而不必检查这两个位置?

0 个答案:

没有答案