vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hunspell/hunspell REF v1.7.0 SHA512 8149b2e8b703a0610c9ca5160c2dfad3cf3b85b16b3f0f5cfcb7ebb802473b2d499e8e2d0a637a97a37a24d62424e82d3880809210d3f043fa17a4970d47c903 HEAD_REF master PATCHES 0001_fix_unistd.patch 0002-disable-test.patch 0003-fix-win-build.patch 0004-add-win-arm64.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tools BUILD_TOOLS ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) file(REMOVE "${SOURCE_PATH}/README") #README is a symlink #architecture detection if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(HUNSPELL_ARCH Win32) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(HUNSPELL_ARCH x64) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(HUNSPELL_ARCH ARM64) else() message(FATAL_ERROR "unsupported architecture") endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(HUNSPELL_CONFIGURATION _dll) else() set(HUNSPELL_CONFIGURATION ) endif() if("tools" IN_LIST FEATURES) set(HSP_TARGET hunspell) else() set(HSP_TARGET libhunspell) endif() vcpkg_install_msbuild( SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH "msvc/Hunspell.sln" INCLUDES_SUBPATH src/hunspell PLATFORM ${HUNSPELL_ARCH} RELEASE_CONFIGURATION Release${HUNSPELL_CONFIGURATION} DEBUG_CONFIGURATION Debug${HUNSPELL_CONFIGURATION} ALLOW_ROOT_INCLUDES ) else() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(ENV{CFLAGS} "$ENV{CFLAGS} -DHUNSPELL_STATIC") set(ENV{CXXFLAGS} "$ENV{CXXFLAGS} -DHUNSPELL_STATIC") endif() if(NOT "tools" IN_LIST FEATURES) # Building the tools is not possible on windows! file(READ "${SOURCE_PATH}/src/Makefile.am" _contents) string(REPLACE " parsers tools" "" _contents "${_contents}") file(WRITE "${SOURCE_PATH}/src/Makefile.am" "${_contents}") endif() vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} OPTIONS AUTOCONFIG ADDITIONAL_MSYS_PACKAGES gzip ) #install-pkgconfDATA: vcpkg_build_make(BUILD_TARGET dist LOGFILE_ROOT build-dist) vcpkg_install_make() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") vcpkg_fixup_pkgconfig() endif() vcpkg_copy_pdbs() if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") if (VCPKG_TARGET_IS_WINDOWS) set(HUNSPELL_EXPORT_HDR "${CURRENT_PACKAGES_DIR}/include/hunvisapi.h") else() set(HUNSPELL_EXPORT_HDR "${CURRENT_PACKAGES_DIR}/include/hunspell/hunvisapi.h") endif() vcpkg_replace_string( ${HUNSPELL_EXPORT_HDR} "#if defined(HUNSPELL_STATIC)" "#if 1" ) endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright-lgpl) file(INSTALL "${SOURCE_PATH}/COPYING.MPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright-mpl)