vcpkg/ports/capstone/portfile.cmake
MACHIZAUD Andréa e0c3408c77
[tracy] Add Tracy profiler and capture tools using project files (#24091)
* [tracy] Add Tracy `profiler` and `capture` tools

* [tracy] Linux supports

* [capstone] fix non-installed pkg-config

* [tracy] supports for capstone (including pkgconfig support)

* [tracy] Add license

* [tracy] fix OSX

* [tracy] tools cannot be built on x86 Windows

* [tracy] do not build tools by default

* [tracy] Fix case

* [tracy] fix vcpkg copyright location convention

* Apply suggestions from code review

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* Finish code for code review suggestions

* Use `vcpkg_build_make` instead of `vcpkg_execute_build_process`

* Apply suggestions from code review

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* Workaround Windows cl complaint about `nodiscard`

* Use tools bundle rather than individual tools in features

* [capstone] Upgrade port after capstone-engine/capstone#1870 merge

Co-authored-by: MACHIZAUD Andréa <andrea.machizaud@adobe.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
2022-04-20 14:51:12 -07:00

53 lines
1.8 KiB
CMake

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO "capstone-engine/capstone"
REF 000561b4f74dc15bda9af9544fe714efda7a6e13 # 5.0.0-rc2
SHA512 66b09a7d2fda297836bbedaeece71dcfe39bdbd633d9b6ecb68ee2e5aa094b697226136ab172cdc4550e8b2ef1448d001c8ee4e0d456c6d277afe0b3d1aab5a1
HEAD_REF next
PATCHES
001-silence-windows-crt-secure-warnings.patch
)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"arm" CAPSTONE_ARM_SUPPORT
"arm64" CAPSTONE_ARM64_SUPPORT
"evm" CAPSTONE_EVM_SUPPORT
"m680x" CAPSTONE_M680X_SUPPORT
"m68k" CAPSTONE_M68K_SUPPORT
"mips" CAPSTONE_MIPS_SUPPORT
"osxkernel" CAPSTONE_OSXKERNEL_SUPPORT
"ppc" CAPSTONE_PPC_SUPPORT
"sparc" CAPSTONE_SPARC_SUPPORT
"sysz" CAPSTONE_SYSZ_SUPPORT
"tms320c64x" CAPSTONE_TMS320C64X_SUPPORT
"x86" CAPSTONE_X86_SUPPORT
"x86-reduce" CAPSTONE_X86_REDUCE
"xcore" CAPSTONE_XCORE_SUPPORT
"diet" CAPSTONE_BUILD_DIET
)
if ("osxkernel" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_OSX)
message(FATAL_ERROR "Feature 'osxkernel' only supported in OSX")
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DCAPSTONE_BUILD_TESTS=OFF
-DCAPSTONE_BUILD_CSTOOL=OFF
-DCAPSTONE_BUILD_STATIC_RUNTIME=${STATIC_CRT}
${FEATURE_OPTIONS}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT})
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)