[unicorn] Adjust handling of CRT and LIBRARY LINKAGE. Reformat to LF.

This commit is contained in:
Robert Schumacher 2017-12-08 23:54:41 -08:00
parent 8ea6a9818a
commit 8766979444
2 changed files with 61 additions and 50 deletions

View File

@ -1,3 +1,3 @@
Source: unicorn Source: unicorn
Version: 2017-12-06-bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4 Version: 2017-12-06-bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4-1
Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework

View File

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