次のディレクトリ構造のプロジェクトがあるとします。
myproject
├── .git [...]
├── CMakeLists.txt
└── src
├── CMakeLists.txt
├── foo.cc
└── foo.h
src/foo.cc
のようなヘッダー ファイルをインクルードして、 #include "foo.h"
Google のcpplint.pyを実行すると、
src/foo.cc:8: Include the directory when naming .h files [build/include] [4]
だから私はそれを含めます#include "./foo.h"
。今、私は別の苦情を受けます:
src/foo.cc:8: src/foo.cc should include its header file src/foo.h [build/include] [5]
ただし、として含める#include "src/foo.h"
と、現在の CMake のセットアップでは、コンパイラはそれを見つけられません。これは、私の 2 つの CMakeLists.txt ファイルがどのように見えるかです。
CMakeLists.txt:
project(myproject)
add_subdirectory(src)
src/CMakeLists.txt:
set(SRCS foo.cc)
add_executable(foo ${SRCS})
私がCMakeを使用している方法は、根本的に間違っていますか? ファイルを完全に削除src/CMakeLists.txt
し、ベース内のすべてのソース ファイルをCMakeLists.txt
フル パスで指定する必要がありますか?
それとも、CMake プロジェクトのセットアップ方法に実際には適合しないため、cpplint の苦情を単に無視する必要がありますか?