我有一个仅限标题的图书馆项目。在我的CMakeLists.txt中,我使用INTERFACE库类型
我想将此项目导入CLion,但是当我打开任何头文件时,IDE会抱怨 此文件不属于任何项目目标
那么有没有办法在CLion中开发一个仅限标题的项目?
测试项目布局非常简单:
% tree foo
foo
├── CMakeLists.txt
└── foo.hpp
和CMakeLists的内容是
cmake_minimum_required(VERSION 3.8)
project(foo)
add_library(foo INTERFACE)
target_include_directories(foo INTERFACE ${PROJECT_SOURCE_DIR})
target_sources(foo INTERFACE ${PROJECT_SOURCE_DIR}/foo.hpp)
CLION 2017.2 + CMake 3.8
答案 0 :(得分:2)
升级我的CLion后我遇到了同样的问题。您非常接近但需要再添加一行:
add_library(target INTERFACE)
target_sources(target INTERFACE ${my_header_list})
target_include_directories(target INTERFACE ${CMAKE_SOURCE_DIR})
根据您的项目布局,这可能会有所不同。我看起来像这样:
|-- myLib
|-- CMakeLists.txt
|-- myLib
|-- foo.hpp
|-- bar.hpp
|-- etc...
我通过阅读this来了解这个解决方案。