Я использую CMake FetchContent для загрузки и сборки сторонней библиотеки (в данном случае realsense2). После опробования примера googletest из официальной документации (https://cmake.org/cmake/help/v3.11/module/FetchContent.html) я был поражен тем, насколько легко это работает. Включение заголовков было сделано волшебным образом. Теперь с realsense2 SDK у меня проблема.
Мне нужно добавить дополнительную команду include_directories, например так:
FetchContent_Declare(
realsense2
GIT_REPOSITORY https://github.com/IntelRealSense/librealsense.git
GIT_TAG v2.23.0
)
FetchContent_MakeAvailable(realsense2)
FetchContent_GetProperties(realsense2)
if(NOT realsense2_POPULATED)
FetchContent_Populate(realsense2)
add_subdirectory(${realsense2_SOURCE_DIR} ${realsense2_BINARY_DIR})
endif()
//I should not be required to do this according to documentation
include_directories(${realsense2_SOURCE_DIR}/include)
Если я этого не сделаю, некоторые заголовки не найдены. Любые предложения по этой проблеме?
РЕДАКТИРОВАТЬ: Чтобы уточнить, вот как я добавил библиотеки:
target_link_libraries(TestExe gtest gtest_main)
и другие точно такие же, но на этот раз это не exe, это dll
add_library(TestLib SHARED ${TestLib_HEADERS} ${TestLib_SOURCES} )
target_link_libraries(TestLib realsense2)
На данный момент меня больше беспокоит, почему мне не нужно добавлять какие-либо включения для googletest framework