Тема: Додавання власної бібліотеки через CMake

Мій проєкт має основний CMake файл і CMake файл в теці з власною бібліотекою.
Я розділив хедер і срр файл, поклавши їх у різні теки.
І тепер не можу імпортувати хедер до срр файлу, бо той його не бачить.
Структура бібліотеки така:
libs/utils/include/public/хедер
libs/utils/src/срр файл

Ось основний CMake:

cmake_minimum_required(VERSION 3.28 FATAL_ERROR)

project(Cube
    VERSION 1.0.0
    LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20 )
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_COLOR_DIAGNOSTICS ON)

find_package(OpenGL REQUIRED)
find_package(glfw3 3.4 REQUIRED)
find_package(GLEW REQUIRED)
find_package(glm REQUIRED)

set(LIBRARIES_DIR
    ${CMAKE_SOURCE_DIR}/libs/utils
)

foreach(dir ${LIBRARIES_DIR})
    add_subdirectory(${dir})
endforeach()

set(SOURCE_SHADERS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/shaders)

set(RESOURCE_FILE_DESTINATION ${CMAKE_BINARY_DIR})

file(COPY ${SOURCE_SHADERS_DIR} DESTINATION ${RESOURCE_FILE_DESTINATION})

add_executable(${PROJECT_NAME} main.cpp)

target_link_libraries(${PROJECT_NAME} OpenGL::GL glfw glm::glm GLEW::GLEW my_opengl_libs)

# Цією командою можна зручно встановити бажаний стандарт [c++17, c++20, c++23]
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20)
# Цією командою можна легко додати дефайни, можна вписувати їх на місці
#target_compile_definitions(${PROJECT_NAME} PUBLIC _GLIBCXX_DEBUG)
# Цією командою виставляємо прапорці компілятору
target_compile_options(${PROJECT_NAME}
  PUBLIC   -Wall
           -Wextra
           -Wpedantic
           -fsanitize=address,undefined,leak
           -march=native
           -g3
           -Wconversion
           -fstack-protector-strong
         )
# Цією командою виставляємо прапорці лінкеру
target_link_options(${PROJECT_NAME}
  PUBLIC
  -fsanitize=address,undefined,leak
  -g3
)


if(CMAKE_CXX_COMPILER_LOADED)
     message(STATUS "Compiler path: ${CMAKE_CXX_COMPILER}")
     message(STATUS "Compiler ID: ${CMAKE_CXX_COMPILER_ID}")
     message(STATUS "Compiler version:
             ${CMAKE_CXX_COMPILER_VERSION}")
endif()

if (CMAKE_CXX_COMPILER_IMPORT_STD)
  message(STATUS "Import std support.")
endif()

set_property(TARGET ${PROJECT_NAME} PROPERTY  CXX_STANDARD 23)

add_custom_command(
    TARGET ${PROJECT_NAME}
    POST_BUILD
    COMMAND ${PROJECT_NAME}
)

include(GNUInstallDirs)
install(TARGETS ${PROJECT_NAME}
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

Ось додатковий з теки libs/utils:

cmake_minimum_required(VERSION 3.28 FATAL_ERROR)

project(my_opengl_libs)

find_package(glfw3 REQUIRED)
find_package(glm REQUIRED)
find_package(OpenGL REQUIRED)

set(SOURCE_FILES 
  ${CMAKE_CURRENT_SOURCE_DIR}/src/Utils.cpp
)


add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES})

target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include/public)

target_link_libraries(${PROJECT_NAME}
    OpenGL::GL
    glfw
    glm::glm
)

Не знаю, чому не працює. На друкарські помилки перевірив — немає їх.