我有一个仅限标题的库项目.在我的CMakeLists.txt中,我使用INTERFACE库类型
我想将此项目导入CLion,但是当我打开任何头文件时,IDE会抱怨此文件不属于任何项目目标
那么有没有办法在CLion中开发一个仅限标题的项目?
测试项目布局非常简单:
% tree foo
foo
??? CMakeLists.txt
??? foo.hpp
Run Code Online (Sandbox Code Playgroud)
而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)
Run Code Online (Sandbox Code Playgroud)
CLION 2017.2 + CMake 3.8
升级 CLion 后我遇到了同样的问题。您非常接近,但需要再添加一行:
add_library(target INTERFACE)
target_sources(target INTERFACE ${my_header_list})
target_include_directories(target INTERFACE ${CMAKE_SOURCE_DIR})
Run Code Online (Sandbox Code Playgroud)
根据您的项目布局,这可能看起来有所不同。我的看起来像这样:
|-- myLib
|-- CMakeLists.txt
|-- myLib
|-- foo.hpp
|-- bar.hpp
|-- etc...
Run Code Online (Sandbox Code Playgroud)
我通过阅读this找到了这个解决方案。
| 归档时间: |
|
| 查看次数: |
1819 次 |
| 最近记录: |