vcpkg/ports/bde/portfile.cmake

63 lines
2.1 KiB
CMake

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
# Acquire Python and add it to PATH
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
# Acquire BDE Tools and add them to PATH
set (BDE_TOOLS_VER "${VERSION}")
vcpkg_from_github(
OUT_SOURCE_PATH TOOLS_PATH
REPO "bloomberg/bde-tools"
REF "${BDE_TOOLS_VER}"
SHA512 c1ec488c6cd4e4859e916aab52d809a3cb292e933dbf3e8cf662d60617956c44eceec1853b2d310d587dcb0fe70eba74271ca2d2a2d06e06393852acae9311ab
HEAD_REF main
)
message(STATUS "Configure bde-tools-v${BDE_TOOLS_VERSION}")
vcpkg_add_to_path("${PYTHON3_EXE_PATH}")
vcpkg_add_to_path("${TOOLS_PATH}/bin")
# Acquire BDE sources
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO "bloomberg/bde"
REF "${VERSION}"
SHA512 f9d7433fc3a7ebf1e2a1fddab850b6f10f7ced78aec0e1f1e86c152187fcf2434846102cfb95621e95a22d8977f5d8af46deeef0400b8debba3511c6e6552882
HEAD_REF main
PATCHES fix-bdlar-target.patch use-vcpkg-pcre2.patch
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBDE_BUILD_TARGET_CPP17=ON
-DCMAKE_CXX_STANDARD=17
-DCMAKE_CXX_STANDARD_REQUIRED=ON
-DCMAKE_CXX_EXTENSIONS=OFF
-DBBS_BUILD_SYSTEM=1
-DBDE_USE_EXTERNAL_PCRE2=1
"-DBdeBuildSystem_DIR:PATH=${TOOLS_PATH}/BdeBuildSystem"
OPTIONS_RELEASE
-DBDE_BUILD_TARGET_OPT=1
OPTIONS_DEBUG
-DBDE_BUILD_TARGET_DBG=1
)
# Build release
vcpkg_cmake_build()
# Install release
vcpkg_cmake_install()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
list(APPEND SUBPACKAGES "inteldfp" "s_baltst" "bsl" "bbryu" "bdl" "bbl" "bal")
include(GNUInstallDirs) # needed for CMAKE_INSTALL_LIBDIR
foreach(subpackage IN LISTS SUBPACKAGES)
vcpkg_cmake_config_fixup(PACKAGE_NAME ${subpackage} CONFIG_PATH /${CMAKE_INSTALL_LIBDIR}/cmake/${subpackage} DO_NOT_DELETE_PARENT_CONFIG_PATH)
endforeach()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake" "${CURRENT_PACKAGES_DIR}/debug/${CMAKE_INSTALL_LIBDIR}/cmake")
# Handle copyright
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
vcpkg_fixup_pkgconfig()