CLion CMakeLists.txt用于不同构建系统的库路径

时间:2017-01-15 17:25:31

标签: c++ cmake clion

我目前正在XCode上运行一个项目。 随着我们扩大我们的团队,我们在Ubuntu上有2名开发人员。所以我们试图切换到CLion。

现在的问题是,包含路径完全不同,“find_package”不起作用。

有没有办法在不定义每个构建系统的路径的情况下解决这个问题?

1 个答案:

答案 0 :(得分:0)

有几种方法:

  1. 在工作区设置中设置标志-DCMAKE_PREFIX_PATH =。确保使用.gitignore工具阻止推送忽略.idea /文件夹中不必要的文件。

  2. 有一个CMakeLists.txt来提供环境,并让CMakeLists.txt包含你的项目的CMakeLists.txt。

  3. 第二种方式可能更易于管理,因为它允许您:

    a)明确定义每个编译环境。

    b)避免使用特定于环境的噪声污染项目的CMakeLists.txt文件。

    通常,在构建和安装库时,它们将安装在以下目录结构中:

    <base directory such as /usr/local>/bin

    <base directory such as /usr/local>/lib

    <base directory such as /usr/local>/include

    -DCMAKE_PREFIX_PATH =应指定“<base directory such as /usr/local>”部分。不是“/include”部分。

    如果您没有在正常结构中安装所需的库,那么所有的赌注都会关闭,您可能必须明确指定include和library目录。

    此时,我可以指导您阅读文档吗?

    https://cmake.org/cmake/help/v3.7/command/find_package.html?highlight=find_package

    https://cmake.org/Wiki/CMake_Useful_Variables