vcpkg/ports/unicorn/portfile.cmake
Robert Schumacher 516d10bb68 [many ports] Updates 2019.04.19 (#6155)
* [many ports] Updates 2019.04.19
2019-04-30 09:20:18 -07:00

59 lines
2.3 KiB
CMake

include(vcpkg_common_functions)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(FATAL_ERROR "WindowsStore not supported")
endif()
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(FATAL_ERROR "unicorn can currently only be built with /MT or /MTd (static CRT linkage)")
endif()
# Note: this is safe because unicorn is a C library and takes steps to avoid memory allocate/free across the DLL boundary.
set(VCPKG_CRT_LINKAGE "static")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO unicorn-engine/unicorn
REF 778171fc9546c1fc3d1341ff1151eab379848ea0
SHA512 cad25326259d054718c8e338278374ba6b5dffbc84598023c14b64218139b106e8004dc9f6e2cd679638258da3de2f3cc5974e07639eda346d7e4ebcf44bd00e
HEAD_REF master
)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(UNICORN_PLATFORM "Win32")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(UNICORN_PLATFORM "x64")
else()
message(FATAL_ERROR "Unsupported architecture")
endif()
vcpkg_build_msbuild(
PROJECT_PATH "${SOURCE_PATH}/msvc/unicorn.sln"
PLATFORM "${UNICORN_PLATFORM}"
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
else()
file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn_static.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn_static.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
endif()
file(
INSTALL "${SOURCE_PATH}/msvc/distro/include/unicorn"
DESTINATION "${CURRENT_PACKAGES_DIR}/include"
RENAME "unicorn"
)
file(
INSTALL "${SOURCE_PATH}/COPYING"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/unicorn"
RENAME "copyright"
)
file(
INSTALL "${SOURCE_PATH}/COPYING_GLIB"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/unicorn"
)