如何在CMake / CLion中设置子目录?

时间:2017-12-22 12:30:43

标签: c++ cmake clion

这类似于Including directories in Clion,但在遵循接受的答案后,我没有取得任何进展。

我试图在CLion中编辑一个大型OSS项目。它不使用CMake,因此CLion生成了一个CMakeLists.txt文件。当我打开源文件时,它无法解析使用子目录的包含:

Problem illustrated

此屏幕截图所来自的文件位于同一个" opto"它正在从中导入的子目录。如果我将导入更改为不包括" opto"它工作正常,但我无法做到这一点,因为这是一个重大项目,我只是想写一个小补丁:

$ find . -type f | wc -l
10532

我已按照其他答案的建议将我直接导入add_executable的文件添加到了:

# CMakeLists.txt
add_executable(hotspot
    [lots of other files]
    src/share/vm/opto/compile.hpp
)

我已将opto目录添加到include_directories,如另一个问题的第二个答案中所述:

# CMakeLists.txt
include_directories(
    src
    src/share/vm/opto)

也没有帮助CLion通过opto子目录解析导入。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

必须使用 include_directories(),但是您必须分别提及每个子目录。下面,我以相同的方式包括了两个目录,其中一个是sub_directory。

enter image description here

CLion已成功检测到头文件。

enter image description here