CLion和find_package问题:生成的CMake文件放在一些奇怪的位置

时间:2016-02-29 07:30:55

标签: c++ cmake clion

所以基本上我有以下设置:

一个名为 mylib 的小型测试库,带有相应的CMake文件。 CMake文件创建所有必要的信息,以便另一个项目(将成为我的二进制文件)可以使用find_package来添加库。该库还有一个安装目标。

一个名为 mybin 的小二进制文件,根据CMake文件再次依赖于mylib项目。使用find_package我可以通过指定相应的myLibConfig.cmake(和myLibTargets.cmake等)文件的位置或者通过执行mylib的安装目标然后让CMake找到库本身来添加mylib。

使用CMake和XCode,一切都像魅力一样。首先,我配置并构建库。其次,我配置我的二进制项目,指定库的位置,然后构建它没有任何问题。

现在我想使用CLion做同样的事情。我现在的问题是,CLion将所有生成的CMake文件(通常放在build文件夹中)放在一些无法在IDE中更改的神秘位置。现在,当我想构建mybin项目时,我必须指定这个神秘的位置,这对我来说有点奇怪(特别是因为你必须先找出CLion实际放置那些文件的位置)。

所以我的问题是:是否有更方便的方法来处理所描述的配置?我想这或多或少是标准用例,让我想知道我是否错过了某些东西。能够指定CLion应该放置生成的CMake文件的位置可以解决我的问题。

我知道我可以安装库(使用安装目标),然后让CMake找到它。这里的问题是CLion(据我的理解)并不支持安装目标,因此我必须使用(在我的情况下)XCode来首先构建和安装库。

1 个答案:

答案 0 :(得分:0)

我误解了find_package的意图(正如Tsyvarev指出的那样)。通过使用this question中提出的解决方案,我设法为CLion添加了一个安装目标,现在可以让我方便地构建" mylib"并在" mybin"中使用它无需手动配置任何项目。