vcpkg/ports/flatbuffers/portfile.cmake
Thomas1664 8161f65543
[flatbuffers] Only build tool in release mode (#35333)
* [flatbuffers] Only build tools in release mode

* version

* Remove headers for PCH

* version
2023-11-27 23:02:41 -08:00

50 lines
1.6 KiB
CMake

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/flatbuffers
REF "v${VERSION}"
SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31
HEAD_REF master
PATCHES
fix-uwp-build.patch
)
set(options "")
if(VCPKG_CROSSCOMPILING)
list(APPEND options -DFLATBUFFERS_BUILD_FLATC=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF)
if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
# The option may cause "#error Unsupported architecture"
list(APPEND options -DFLATBUFFERS_OSX_BUILD_UNIVERSAL=OFF)
endif()
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DFLATBUFFERS_BUILD_TESTS=OFF
-DFLATBUFFERS_BUILD_GRPCTEST=OFF
${options}
OPTIONS_DEBUG
-DFLATBUFFERS_BUILD_FLATC=OFF
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/flatbuffers)
vcpkg_fixup_pkgconfig()
file(GLOB flatc_path ${CURRENT_PACKAGES_DIR}/bin/flatc*)
if(flatc_path)
vcpkg_copy_tools(TOOL_NAMES flatc AUTO_CLEAN)
else()
file(APPEND "${CURRENT_PACKAGES_DIR}/share/flatbuffers/flatbuffers-config.cmake"
"\ninclude(\"\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}/share/flatbuffers/FlatcTargets.cmake\")\n")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/flatbuffers/pch")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")