Cmake с Multy Multy включает в себя путь к сохранениюC++

Программы на C++. Форум разработчиков
Anonymous
Cmake с Multy Multy включает в себя путь к сохранению

Сообщение Anonymous »

Я пытаюсь создать библиотеку или, возможно, лучше сделать две библиотеки. Структура файла ниже (с общими именами). Я пытаюсь получить пример Probroject, чтобы иметь возможность включить Messagea.h, который будет включать в себя MessageTilitiesA.H. В настоящее время он может найти messagea.cpp, но тогда он не может найти messageutitlities.h < /p>

Код: Выделить всё

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

classa.cpp необходимо иметь возможность #include "Сообщения/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

Вернуться в «C++»