私はヘッダーのみのライブラリプロジェクトを持っています。私のCMakeLists.txtで私はCLionにこのプロジェクトをインポートしたいCLIONとadd_library(ターゲットインターフェイス)
インタフェースライブラリのタイプを使用しますが、私が開いたときに、ヘッダーのいずれかがIDEは、は、このファイルは、任意のプロジェクトのターゲットに属していないと文句を言いファイル
これで、CLionでヘッダーのみのプロジェクトを開発する方法はありますか?
テストプロジェクトのレイアウトは非常に単純です:
% tree foo
foo
├── CMakeLists.txt
└── foo.hpp
そしてCMakeLists内容は、私は私のCLionをアップグレードした後、同じ問題を持っていた
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
'target_sources'を使用すると問題は解決します。私は同じ問題を抱えていて、 'target_sources'を追加することでそれを解決することができました。 '$ {CMAKE_CURRENT_SOURCE_DIR}'を使用しています。これは 'CMakeLists.txt'がある場所に解決されます。 '$ {CMAKE_CURRENT_SOURCE_DIR}/path/to/foo.hpp'のようなディレクトリに相対的な位置を指定します。 – lanoxx