cmake включает файлы h из других каталогов

У меня возникли проблемы с включением теста в проект cmake. Мой проект устроен следующим образом:

                                       TerrainMap
                                        /     \
                         PointAccumulator     heightQuadGrid
                                                \
                                                 Test

В каталоге TerrainMap файл CMakeLists.txt просто описывает версию cmake, имя проекта и включает два подкаталога.

В файле heightQuadGrid файл CMakeLists.txt выглядит следующим образом:

cmake_minimum_required(VERSION 2.8)

find_package(PCL 1.2 REQUIRED)
find_package(OpenCV REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_library(heightQuadGrid heightQuadGrid.cpp)

add_subdirectory(Test)

что, как я понимаю, создает библиотеку с именем heightQuadGrid. CMakeLists.txt в Test выглядит следующим образом:

FIND_PACKAGE(PCL 1.2 REQUIRED)
FIND_PACKAGE(OpenCV REQUIRED)
FIND_PACKAGE(Boost COMPONENTS unit_test_framework REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS} )

link_libraries(heightQuadGrid)

add_executable(heightQuadTreeTest heightQuadGridTest.cpp)
target_link_libraries (heightQuadTreeTest heightQuadGrid ${PCL_LIBRARIES} ${OpenCV_LIBS} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})

И, наконец, файл cpp heightQuadGridTest.cpp включает следующее:

#include <heightQuadGrid/heightQuadGrid.h>

cmake работает правильно, но когда я иду создавать проект, он сообщает мне, что не может найти heightQuadGrid/heightQuadGrid. .h

В чем дело, поскольку я видел очень похожий подход в другом рабочем проекте?

5
задан Fantastic Mr Fox 2 April 2012 в 23:42
поделиться