vcpkg/ports/spdlog/portfile.cmake
2019-08-13 19:55:28 -07:00

58 lines
1.7 KiB
CMake

#header-only library
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gabime/spdlog
REF v1.3.1
SHA512 a851a44b6384f493dd312ae0a611d068af46bbfe8daf1c2f61f13d8836a3801f41b339074fbe8da8e428131c82fa5c4a9e3320a55cbdd4b7aff8bb349dfff7dd
HEAD_REF v1.x
PATCHES
disable-master-project-check.patch
fix-feature-export.patch
)
set(SPDLOG_USE_BENCHMARK OFF)
if("benchmark" IN_LIST FEATURES)
set(SPDLOG_USE_BENCHMARK ON)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DSPDLOG_FMT_EXTERNAL=ON
-DSPDLOG_BUILD_BENCH=${SPDLOG_USE_BENCHMARK}
)
vcpkg_install_cmake()
if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}")
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/${PORT}/cmake")
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/${PORT}/cmake)
endif()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
# use vcpkg-provided fmt library (see also option SPDLOG_FMT_EXTERNAL above)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/bundled)
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/fmt.h
"#if !defined(SPDLOG_FMT_EXTERNAL)"
"#if 0 // !defined(SPDLOG_FMT_EXTERNAL)"
)
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/ostr.h
"#if !defined(SPDLOG_FMT_EXTERNAL)"
"#if 0 // !defined(SPDLOG_FMT_EXTERNAL)"
)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/spdlog)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/spdlog/LICENSE ${CURRENT_PACKAGES_DIR}/share/spdlog/copyright)