Не получается подключить файл с помощью cmake. fatal error: Нет такого файла или каталога

cmake:

cmake_minimum_required( VERSION 3.4.0 )

project(network)

set(SOURCE_LIB
        src/Client/client.cpp
        src/Server/server.cpp
        src/network.cpp)

set(HEADER_LIB
        include/Client/client.h
        include/Server/server.h
        include/network.h
        ../include/logger.h) #проблема тут

add_library(${PROJECT_NAME} SHARED ${SOURCE_LIB} ${HEADER_LIB})

подключаю вот так:

#include "include/logger.h"

Ошибка, хотя ide не подчеркивает ничего, только при сборке пишет что не может найти: In file included from

/home/user/CLionProjects/net/src/Server/server.cpp:5:
/home/user/CLionProjects/net/include/Server/server.h:22:10: fatal error: include/logger.h: Нет такого файла или каталога
   22 | #include "include/logger.h"

иерархия папок: иерархия


Ответы (1 шт):

Автор решения: KoVadim

Ваш файл logger.h находится "вне каталога исходников" (то есть, не в том каталоге, где находится CMakeLists.txt или подкаталогах этого каталога). А это значит, что его нужно подключать по другому.

Вначале нужно указать CMake, где искать этот файл

include_directories("тут путь к logger/include")

в список HEADER_LIB такой файл не нужно добавлять.

И теперь можно этот файл использовать как "обычный библиотечный"

#include <logger.h>

А вот есть у этого logger.h есть cpp файл, то все будет немного сложнее.

→ Ссылка