Find the system copy of spdlog which then tells us how to link against both it & libfmt correctly, rather than accidentally picking up system spdlog headers and nothing else (defines, needed libraries, etc) when (for some reason?) FetchContent fails and we don't realise it. TODO: Figure out why FetchContent(?) failing doesn't kill the build TODO: Add a proper option for this to use the system copy/not Bug: https://bugs.gentoo.org/930157 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,9 +57,6 @@ elseif(Git_FOUND) endif() endif() -include(FetchContent) -set(SPDLOG_ROOT "${FETCHCONTENT_BASE_DIR}/spdlog-src") - # Update other relevant variables to include the patch set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") set(CMAKE_PROJECT_VERSION_PATCH "${PROJECT_VERSION_PATCH}") @@ -166,7 +163,6 @@ endif() include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/source/wrapper/include) -include_directories(${SPDLOG_ROOT}/include) include_directories("${CMAKE_CURRENT_SOURCE_DIR}") diff --git a/source/utils/CMakeLists.txt b/source/utils/CMakeLists.txt index cb6cfb1..4e486d8 100644 --- a/source/utils/CMakeLists.txt +++ b/source/utils/CMakeLists.txt @@ -1,23 +1,11 @@ # Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: MIT -include(FetchContent) -set(SPDLOG_REPO https://github.com/gabime/spdlog) -set(SPDLOG_TAG v1.13.0) -FetchContent_Declare( - spdlog - GIT_REPOSITORY ${SPDLOG_REPO} - GIT_TAG ${SPDLOG_TAG} -) -FetchContent_makeAvailable(spdlog) +find_package(spdlog) add_library(utils - STATIC "logging.h" "logging.cpp" ) -target_include_directories(utils - PUBLIC - ${FETCHCONTENT_BASE_DIR}/spdlog-src/include -) +target_link_libraries(utils spdlog::spdlog)