Код: Выделить всё
project
|. CMakeLists.txt
|----src
|. classA.cpp
|----include
| classA.h
|----SecondFolder
| include
| Messages
| messageA.h // this includes MessageUtilitiesA.h
|. |. messageB.h // etc
| MessageUtilities
} |. messageUtilityA.h
|
|----ExampleProject
| src
| example.cpp // needs to be able to include ClassA.h, and messageA.h
example.cpp должен иметь возможность #include "classa.h" и #include "Сообщения/Messagea.h"
Я в настоящее время использую Conan и Cmake. Мне просто нужно сделать второе место, его собственная библиотека. В Cmake я делаю < /p>
project(base CXX)
add_library(base
src/classA.cpp
)
target_include_directories(base
PUBLIC
include
SecondFolder/include
set_target_properties(base PROPERTIES PUBLIC_HEADER "include classA.h;{PROJECT_SOURCE_DIR}/SecondFolder/include/Messages/include/MessageA.h") # might just need to glob all the .h's from the entire folder perhaps
install(TARGETS base)
< /code>
Может быть, мне просто нужно добавить больше в cmake target_properties, составить вторую библиотеку только для второго размера? Таким образом, он не может найти #include "/messageutiliesa.h
Подробнее здесь: https://stackoverflow.com/questions/796 ... etain-path