vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gabime/spdlog REF v1.9.2 SHA512 87b12a792cf2d740ef29db4b6055788a487b6d474662b878711b8a5534efea5f0d97b6ac357834500b66cc65e1ba8934446a695e9691fd5d4b95397b6871555c HEAD_REF v1.x PATCHES fix-mingw-build.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES benchmark SPDLOG_BUILD_BENCH wchar SPDLOG_WCHAR_SUPPORT ) # configured in triplet file if(NOT DEFINED SPDLOG_WCHAR_FILENAMES) set(SPDLOG_WCHAR_FILENAMES OFF) endif() if(NOT VCPKG_TARGET_IS_WINDOWS) if("wchar" IN_LIST FEATURES) message(WARNING "Feature 'wchar' is only supported for Windows and has no effect on other platforms.") elseif(SPDLOG_WCHAR_FILENAMES) message(FATAL_ERROR "Build option 'SPDLOG_WCHAR_FILENAMES' is for Windows.") endif() endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SPDLOG_BUILD_SHARED) vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${FEATURE_OPTIONS} -DSPDLOG_FMT_EXTERNAL=ON -DSPDLOG_INSTALL=ON -DSPDLOG_BUILD_SHARED=${SPDLOG_BUILD_SHARED} -DSPDLOG_WCHAR_FILENAMES=${SPDLOG_WCHAR_FILENAMES} -DSPDLOG_BUILD_EXAMPLE=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/spdlog) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() # 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)" ) vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/chrono.h "#if !defined(SPDLOG_FMT_EXTERNAL)" "#if 0 // !defined(SPDLOG_FMT_EXTERNAL)" ) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)