5

次のディレクトリ構造のプロジェクトがあるとします。

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 の苦情を単に無視する必要がありますか?

4

1 に答える 1