mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-01 00:32:04 +08:00
9b79636305
* [gperftools] Add new port * [gperftools] Fix linux build * [gperftools] Update * [vcpkg-baseline] Update [gperftools] Install tools optionally * [gperftools] Fail port on unsupported targets * [gperftools] Add `Supports` field into CONTROL file * [gperftools] Call vcpkg_copy_tools * [gperftools] Fix *nix build error [gperftools] Use static CRT in override mode * [gperftools] Format * [gperftools] Install deprecated headers
84 lines
2.5 KiB
CMake
84 lines
2.5 KiB
CMake
vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp")
|
|
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO gperftools/gperftools
|
|
REF fe62a0baab87ba3abca12f4a621532bf67c9a7d2
|
|
SHA512 fc0fb2c56d38046ac7bc2d36863dabf073b7aede7ce18916228d7b9f64cf33ae754708bff028353ada52bf4b79a7cd3e3334c1558a9ba64b06326b1537faf690
|
|
HEAD_REF master
|
|
)
|
|
|
|
if(VCPKG_TARGET_IS_WINDOWS)
|
|
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
|
|
|
if(override IN_LIST FEATURES)
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
|
message(STATUS "${PORT}[override] only supports static library linkage. Building static library.")
|
|
vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_STATIC_CRT)
|
|
endif()
|
|
endif()
|
|
|
|
vcpkg_check_features(
|
|
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
|
override GPERFTOOLS_WIN32_OVERRIDE
|
|
tools GPERFTOOLS_BUILD_TOOLS
|
|
)
|
|
|
|
vcpkg_configure_cmake(
|
|
SOURCE_PATH ${SOURCE_PATH}
|
|
PREFER_NINJA
|
|
DISABLE_PARALLEL_CONFIGURE
|
|
OPTIONS
|
|
${FEATURE_OPTIONS}
|
|
)
|
|
|
|
vcpkg_install_cmake()
|
|
|
|
vcpkg_copy_pdbs()
|
|
|
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
|
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
|
file(GLOB gperf_public_headers ${CURRENT_PACKAGES_DIR}/include/gperftools/*.h)
|
|
|
|
foreach(gperf_header ${gperf_public_headers})
|
|
vcpkg_replace_string(${gperf_header} "__declspec(dllimport)" "")
|
|
endforeach()
|
|
endif()
|
|
|
|
if(tools IN_LIST FEATURES)
|
|
vcpkg_copy_tools(TOOL_NAMES addr2line-pdb nm-pdb AUTO_CLEAN)
|
|
endif()
|
|
else()
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
|
set(BUILD_OPTS --enable-shared --disable-static)
|
|
else()
|
|
set(BUILD_OPTS --enable-static --disable-shared)
|
|
endif()
|
|
|
|
vcpkg_configure_make(
|
|
SOURCE_PATH ${SOURCE_PATH}
|
|
AUTOCONFIG
|
|
OPTIONS
|
|
${BUILD_OPTS}
|
|
)
|
|
|
|
vcpkg_install_make()
|
|
|
|
if(tools IN_LIST FEATURES)
|
|
vcpkg_copy_tools(TOOL_NAMES pprof pprof-symbolize AUTO_CLEAN)
|
|
endif()
|
|
|
|
file(REMOVE_RECURSE
|
|
${CURRENT_PACKAGES_DIR}/debug/include
|
|
${CURRENT_PACKAGES_DIR}/debug/share
|
|
)
|
|
|
|
# https://github.com/microsoft/vcpkg/pull/8750#issuecomment-625590773
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
|
endif()
|
|
endif()
|
|
|
|
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|