Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

39 baris
1.3 KiB
CMake

include_guard(GLOBAL)
if(ROCPROFSYS_BUILD_SPDLOG)
message(STATUS "Building spdlog from source!")
include(FetchContent)
rocprofiler_systems_checkout_git_submodule(
RELATIVE_PATH external/spdlog
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
REPO_URL https://github.com/gabime/spdlog.git
TEST_FILE CMakeLists.txt
REPO_BRANCH "v1.16.0"
)
FetchContent_Declare(spdlog SOURCE_DIR ${PROJECT_SOURCE_DIR}/external/spdlog)
set(SPDLOG_BUILD_SHARED OFF CACHE BOOL "" FORCE)
set(SPDLOG_BUILD_EXAMPLE OFF CACHE BOOL "" FORCE)
set(SPDLOG_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(SPDLOG_INSTALL OFF CACHE BOOL "" FORCE)
set(SPDLOG_FMT_EXTERNAL OFF CACHE BOOL "" FORCE)
# Spdlog workaround for building static library
set(_ROCPROFSYS_BUILD_SHARED_LIBS_BACKUP ${BUILD_SHARED_LIBS})
set(BUILD_SHARED_LIBS OFF)
FetchContent_MakeAvailable(spdlog)
set(BUILD_SHARED_LIBS ${_ROCPROFSYS_BUILD_SHARED_LIBS_BACKUP})
unset(_ROCPROFSYS_BUILD_SHARED_LIBS_BACKUP)
target_link_libraries(rocprofiler-systems-spdlog INTERFACE spdlog::spdlog)
else()
message(STATUS "Using system spdlog library")
find_package(spdlog REQUIRED)
target_link_libraries(rocprofiler-systems-spdlog INTERFACE spdlog::spdlog)
endif()