mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 20:32:47 +08:00
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/philc/4912
This commit is contained in:
commit
d2448e0a95
@ -1,5 +1,5 @@
|
||||
--- a/cmake/CMakeLists.txt
|
||||
+++ b/cmake/CMakeLists.txt
|
||||
--- a/CMake/CMakeLists.txt
|
||||
+++ b/CMake/CMakeLists.txt
|
||||
@@ -13,10 +13,12 @@
|
||||
# directory, but can also be used for custom projects.
|
||||
#############################################################
|
||||
@ -8,7 +8,7 @@
|
||||
- set(OGRE_CMAKE_DIR "CMake")
|
||||
-else()
|
||||
- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
|
||||
+if (NOT DEFINED OGRE_CMAKE_DIR)
|
||||
+if(NOT DEFINED OGRE_CMAKE_DIR)
|
||||
+ if(WIN32 OR APPLE)
|
||||
+ set(OGRE_CMAKE_DIR "CMake")
|
||||
+ else()
|
||||
@ -16,10 +16,10 @@
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
set(INST_FILES
|
||||
--- a/cmake/InstallResources.cmake
|
||||
+++ b/cmake/InstallResources.cmake
|
||||
@@ -241,10 +241,12 @@ endif ()
|
||||
set(INST_FILES Utils/FindPkgMacros.cmake)
|
||||
--- a/CMake/InstallResources.cmake
|
||||
+++ b/CMake/InstallResources.cmake
|
||||
@@ -242,10 +242,12 @@
|
||||
# Create the CMake package files
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
- set(OGRE_CMAKE_DIR "CMake")
|
||||
-else()
|
||||
- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
|
||||
+if (NOT DEFINED OGRE_CMAKE_DIR)
|
||||
+if(NOT DEFINED OGRE_CMAKE_DIR)
|
||||
+ if(WIN32 OR APPLE)
|
||||
+ set(OGRE_CMAKE_DIR "CMake")
|
||||
+ else()
|
||||
|
37
ports/ogre/002-link-optimized-lib-workaround.patch
Normal file
37
ports/ogre/002-link-optimized-lib-workaround.patch
Normal file
@ -0,0 +1,37 @@
|
||||
--- a/CMake/Dependencies.cmake
|
||||
+++ b/CMake/Dependencies.cmake
|
||||
@@ -199,6 +199,11 @@
|
||||
# Find zlib
|
||||
find_package(ZLIB)
|
||||
macro_log_feature(ZLIB_FOUND "zlib" "Simple data compression library" "http://www.zlib.net" FALSE "" "")
|
||||
+# replace optimized/debug keyword with generator expression
|
||||
+unset(ZLIB_LIBRARY)
|
||||
+set(ZLIB_LIBRARY $<$<CONFIG:Release>:${ZLIB_LIBRARY_RELEASE}> $<$<CONFIG:Debug>:${ZLIB_LIBRARY_DEBUG}>)
|
||||
+unset(ZLIB_LIBRARIES)
|
||||
+set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
|
||||
|
||||
if (ZLIB_FOUND)
|
||||
# Find zziplib
|
||||
@@ -213,6 +218,11 @@
|
||||
# Find FreeType
|
||||
find_package(Freetype)
|
||||
macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org" FALSE "" "")
|
||||
+# replace optimized/debug keyword with generator expression
|
||||
+unset(FREETYPE_LIBRARY)
|
||||
+set(FREETYPE_LIBRARY $<$<CONFIG:Release>:${FREETYPE_LIBRARY_RELEASE}> $<$<CONFIG:Debug>:${FREETYPE_LIBRARY_DEBUG}>)
|
||||
+unset(FREETYPE_LIBRARIES)
|
||||
+set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
|
||||
# Find X11
|
||||
if (UNIX AND NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN)
|
||||
--- src.orig/CMake/Utils/FindPkgMacros.cmake
|
||||
+++ src.new/CMake/Utils/FindPkgMacros.cmake
|
||||
@@ -82,7 +82,7 @@
|
||||
if (${PREFIX}_FWK)
|
||||
set(${PREFIX} ${${PREFIX}_FWK})
|
||||
elseif (${PREFIX}_REL AND ${PREFIX}_DBG)
|
||||
- set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG})
|
||||
+ set(${PREFIX} $<$<CONFIG:Release>:${${PREFIX}_REL}> $<$<CONFIG:Debug>:${${PREFIX}_DBG}>)
|
||||
elseif (${PREFIX}_REL)
|
||||
set(${PREFIX} ${${PREFIX}_REL})
|
||||
elseif (${PREFIX}_DBG)
|
@ -1,5 +1,5 @@
|
||||
Source: ogre
|
||||
Version: 1.10.11
|
||||
Version: 1.11.3-3
|
||||
Build-Depends: freeimage, freetype, zlib, zziplib
|
||||
Description: 3D Object-Oriented Graphics Rendering Engine
|
||||
|
||||
|
@ -3,15 +3,12 @@ include(vcpkg_common_functions)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO OGRECave/ogre
|
||||
REF v1.10.11
|
||||
SHA512 2dfedd6f0a0de1a8c687c001439138b233200ca11e5c9940debf43d8a0380ca6472e0b5f4d599f0e22ca2049d0a5d34066ef41b6bc4912130694fa5d851fc900
|
||||
REF v1.11.3
|
||||
SHA512 af52821022ab6148e64fdf183b1aa4607b101c7d0edc20d2ccc909f50eed218d7a283fa3b58260fd41cd3f324ecafad8c5137c66e05786580b043240551b2c42
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
vcpkg_apply_patches(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PATCHES
|
||||
"${CMAKE_CURRENT_LIST_DIR}/001-cmake-install-dir.patch"
|
||||
001-cmake-install-dir.patch
|
||||
002-link-optimized-lib-workaround.patch
|
||||
)
|
||||
|
||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
@ -58,10 +55,7 @@ vcpkg_configure_cmake(
|
||||
-DOGRE_INSTALL_CMAKE=ON
|
||||
-DOGRE_INSTALL_VSPROPS=OFF
|
||||
-DOGRE_STATIC=${OGRE_STATIC}
|
||||
-DOGRE_UNITY_BUILD=OFF
|
||||
-DOGRE_USE_STD11=ON
|
||||
-DOGRE_CONFIG_THREAD_PROVIDER=std
|
||||
-DOGRE_NODE_STORAGE_LEGACY=OFF
|
||||
-DOGRE_BUILD_RENDERSYSTEM_D3D11=ON
|
||||
-DOGRE_BUILD_RENDERSYSTEM_GL=ON
|
||||
-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=ON
|
||||
@ -95,33 +89,31 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
|
||||
endif()
|
||||
|
||||
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link ${CURRENT_PACKAGES_DIR}/lib/manual-link)
|
||||
if(NOT VCPKG_CMAKE_SYSTEM_NAME)
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMain.lib)
|
||||
else()
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMainStatic.lib)
|
||||
endif()
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMain_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMain_d.lib)
|
||||
else()
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMainStatic_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMainStatic_d.lib)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
file(GLOB MAIN_REL ${CURRENT_PACKAGES_DIR}/lib/OgreMain.lib ${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib)
|
||||
file(COPY ${MAIN_REL} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
|
||||
file(GLOB MAIN_DBG ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMain_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMainStatic_d.lib)
|
||||
file(COPY ${MAIN_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
|
||||
file(REMOVE ${MAIN_REL} ${MAIN_DBG})
|
||||
|
||||
# Ogre installs custom cmake config files which don't follow the normal pattern.
|
||||
# This normally makes them completely incompatible with multi-config generators, but with some effort it can be done.
|
||||
file(READ "${CURRENT_PACKAGES_DIR}/share/ogre/OGREConfig.cmake" _contents)
|
||||
string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${PACKAGE_PREFIX_DIR}" _contents "${_contents}")
|
||||
string(REPLACE "SDL2main.lib" "SDL2main$<$<CONFIG:Debug>:d>.lib" _contents "${_contents}")
|
||||
string(REPLACE "SDL2.lib" "SDL2$<$<CONFIG:Debug>:d>.lib" _contents "${_contents}")
|
||||
string(REPLACE "\${PACKAGE_PREFIX_DIR}/lib" "\${PACKAGE_PREFIX_DIR}$<$<CONFIG:Debug>:/debug>/lib" _contents "${_contents}")
|
||||
string(REPLACE "{OGRE_PREFIX_DIR}/lib" "{OGRE_PREFIX_DIR}$<$<CONFIG:Debug>:/debug>/lib" _contents "${_contents}")
|
||||
|
||||
string(REPLACE "\"Ogre\${COMPONENT}\"" "\"Ogre\${COMPONENT}$<$<CONFIG:Debug>:_d>\"" _contents "${_contents}")
|
||||
string(REPLACE "\"Ogre\${COMPONENT}Static\"" "\"Ogre\${COMPONENT}Static$<$<CONFIG:Debug>:_d>\"" _contents "${_contents}")
|
||||
|
||||
string(REPLACE "\"\${TYPE}_\${COMPONENT}\"" "\"\${TYPE}_\${COMPONENT}$<$<CONFIG:Debug>:_d>\"" _contents "${_contents}")
|
||||
string(REPLACE "\"\${TYPE}_\${COMPONENT}Static\"" "\"\${TYPE}_\${COMPONENT}Static$<$<CONFIG:Debug>:_d>\"" _contents "${_contents}")
|
||||
|
||||
string(REPLACE "\"OgreMain\"" "\"\${PACKAGE_PREFIX_DIR}/lib/manual-link/OgreMain$<$<CONFIG:Debug>:_d>.lib\"" _contents "${_contents}")
|
||||
string(REPLACE "\"OgreMainStatic\"" "\"\${PACKAGE_PREFIX_DIR}/lib/manual-link/OgreMainStatic$<$<CONFIG:Debug>:_d>.lib\"" _contents "${_contents}")
|
||||
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/share/ogre/OGREConfig.cmake" "${_contents}")
|
||||
file(GLOB SHARE_FILES ${CURRENT_PACKAGES_DIR}/share/ogre/*.cmake)
|
||||
foreach(SHARE_FILE ${SHARE_FILES})
|
||||
file(READ "${SHARE_FILE}" _contents)
|
||||
string(REPLACE "lib/OgreMain" "lib/manual-link/OgreMain" _contents "${_contents}")
|
||||
file(WRITE "${SHARE_FILE}" "${_contents}")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ogre RENAME copyright)
|
||||
|
4
ports/pbc/CONTROL
Normal file
4
ports/pbc/CONTROL
Normal file
@ -0,0 +1,4 @@
|
||||
Source: pbc
|
||||
Version: 0.5.14
|
||||
Build-Depends: mpir
|
||||
Description: Pairing-Based Crypto library provides low-level routines for pairing-based cryptosystems.
|
45
ports/pbc/linux.patch
Normal file
45
ports/pbc/linux.patch
Normal file
@ -0,0 +1,45 @@
|
||||
--- configure.ac 2018-11-29 13:51:14.495012138 +0100
|
||||
+++ configure.ac 2018-11-29 13:51:45.308095312 +0100
|
||||
@@ -10,7 +10,6 @@
|
||||
LT_INIT
|
||||
#AC_CANONICAL_HOST
|
||||
|
||||
-CFLAGS=
|
||||
default_fink_path=/sw
|
||||
case $host_os in
|
||||
darwin*)
|
||||
@@ -78,20 +77,7 @@
|
||||
AC_PROG_MAKE_SET
|
||||
|
||||
AC_PROG_LEX
|
||||
-if test "x$LEX" != xflex; then
|
||||
- echo "************************"
|
||||
- echo "flex not found"
|
||||
- echo "************************"
|
||||
- exit -1
|
||||
-fi
|
||||
-
|
||||
AC_PROG_YACC
|
||||
-if test "x$YACC" != "xbison -y"; then
|
||||
- echo "************************"
|
||||
- echo "bison not found"
|
||||
- echo "************************"
|
||||
- exit -1
|
||||
-fi
|
||||
|
||||
# Checks for libraries.
|
||||
lib_err_msg="add its path to LDFLAGS\nsee ./configure --help"
|
||||
@@ -121,13 +134,6 @@
|
||||
|
||||
CFLAGS="$CFLAGS -Wall -W -Wfloat-equal -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wredundant-decls \
|
||||
-Wendif-labels -Wshadow -pipe -ffast-math -U__STRICT_ANSI__ -std=gnu99"
|
||||
-if test "$with_debug" == "y"; then
|
||||
- CFLAGS="$CFLAGS -g3 -O0"
|
||||
-elif test "$with_enable_optimized" != "no"; then
|
||||
- CFLAGS="$CFLAGS -g -O2"
|
||||
-else
|
||||
- CFLAGS="$CFLAGS -fomit-frame-pointer -O3"
|
||||
-fi
|
||||
|
||||
if test "$with_safe_clean" != "n"; then
|
||||
CFLAGS="$CFLAGS -DSAFE_CLEAN"
|
153
ports/pbc/portfile.cmake
Normal file
153
ports/pbc/portfile.cmake
Normal file
@ -0,0 +1,153 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
||||
message(FATAL_ERROR "PBC currently can only be built for desktop")
|
||||
endif()
|
||||
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL "static" AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
message(FATAL_ERROR "PBC currently can only be built using the dynamic CRT when building DLLs")
|
||||
endif()
|
||||
|
||||
set(PBC_VERSION 0.5.14)
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME)
|
||||
vcpkg_download_distfile(
|
||||
ARCHIVE
|
||||
URLS "https://crypto.stanford.edu/pbc/files/pbc-${PBC_VERSION}.tar.gz"
|
||||
FILENAME pbc-${PBC_VERSION}.tar.gz
|
||||
SHA512 d75d4ceb3f67ee62c7ca41e2a91ee914fbffaeb70256675aed6734d586950ea8e64e2f16dc069d71481eddb703624df8d46497005fb58e75cf098dd7e7961333
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE ${ARCHIVE}
|
||||
REF ${PBC_VERSION}
|
||||
PATCHES linux.patch
|
||||
)
|
||||
|
||||
vcpkg_find_acquire_program(BISON)
|
||||
vcpkg_find_acquire_program(FLEX)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(SHARED_STATIC --enable-static --disable-shared)
|
||||
else()
|
||||
set(SHARED_STATIC --disable-static --enable-shared)
|
||||
endif()
|
||||
|
||||
set(OPTIONS ${SHARED_STATIC} LEX=${FLEX} YACC=${BISON}\ -y)
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${SOURCE_PATH}/setup
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}
|
||||
LOGNAME setup-${TARGET_TRIPLET}
|
||||
)
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
|
||||
set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG} -O0 -g -I${SOURCE_PATH}/include")
|
||||
set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR}/debug ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_DIR}/debug
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
|
||||
LOGNAME configure-${TARGET_TRIPLET}-dbg
|
||||
)
|
||||
message(STATUS "Building ${TARGET_TRIPLET}-dbg")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND make -j install
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
|
||||
LOGNAME install-${TARGET_TRIPLET}-dbg
|
||||
)
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
|
||||
set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE} -O3 -I${SOURCE_PATH}/include")
|
||||
set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR} ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_DIR}
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
|
||||
LOGNAME configure-${TARGET_TRIPLET}-rel
|
||||
)
|
||||
message(STATUS "Building ${TARGET_TRIPLET}-rel")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND make -j install
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
|
||||
LOGNAME install-${TARGET_TRIPLET}-rel
|
||||
)
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/info)
|
||||
configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/pbc/copyright COPYONLY)
|
||||
else()
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO blynn/pbc
|
||||
REF fbf4589036ce4f662e2d06905862c9e816cf9d08
|
||||
SHA512 9348afd3866090b9fca189ae3a6bbb86c842b5f6ee7e1972f1a579993e589952c5926cb0795d4db1e647e3af263827e22c7602314c39bd97e03ffe9ad0fb48ab
|
||||
HEAD_REF master
|
||||
PATCHES windows.patch
|
||||
)
|
||||
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES "")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "")
|
||||
|
||||
find_path(MPIR_INCLUDE_DIR "gmp.h" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES include)
|
||||
if(NOT MPIR_INCLUDE_DIR)
|
||||
message(FATAL_ERROR "GMP includes not found")
|
||||
endif()
|
||||
|
||||
find_library(MPIR_LIBRARIES_REL NAMES "mpir.lib" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES lib)
|
||||
if(NOT MPIR_LIBRARIES_REL)
|
||||
message(FATAL_ERROR "mpir library not found")
|
||||
endif()
|
||||
|
||||
find_library(MPIR_LIBRARIES_DBG NAMES "mpir.lib" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES debug/lib)
|
||||
if(NOT MPIR_LIBRARIES_DBG)
|
||||
message(FATAL_ERROR "mpir debug library not found")
|
||||
endif()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(LibrarySuffix "lib")
|
||||
set(ConfigurationSuffix "")
|
||||
else()
|
||||
set(LibrarySuffix "dll")
|
||||
set(ConfigurationSuffix " DLL")
|
||||
endif()
|
||||
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL "static")
|
||||
set(RuntimeLibraryExt "")
|
||||
else()
|
||||
set(RuntimeLibraryExt "DLL")
|
||||
endif()
|
||||
|
||||
if(TRIPLET_SYSTEM_ARCH STREQUAL "x86")
|
||||
set(Platform "Win32")
|
||||
else()
|
||||
set(Platform ${TRIPLET_SYSTEM_ARCH})
|
||||
endif()
|
||||
|
||||
# PBC expects mpir directory in build root
|
||||
get_filename_component(SOURCE_PATH_PARENT ${SOURCE_PATH} DIRECTORY)
|
||||
file(REMOVE_RECURSE ${SOURCE_PATH_PARENT}/mpir)
|
||||
file(MAKE_DIRECTORY ${SOURCE_PATH_PARENT}/mpir)
|
||||
file(GLOB FILES ${MPIR_INCLUDE_DIR}/gmp*.h)
|
||||
file(COPY ${FILES} ${MPIR_LIBRARIES_REL} DESTINATION "${SOURCE_PATH_PARENT}/mpir/${LibrarySuffix}/${Platform}/Release")
|
||||
file(COPY ${FILES} ${MPIR_LIBRARIES_DBG} DESTINATION "${SOURCE_PATH_PARENT}/mpir/${LibrarySuffix}/${Platform}/Debug")
|
||||
|
||||
get_filename_component(SOURCE_PATH_SUFFIX ${SOURCE_PATH} NAME)
|
||||
vcpkg_install_msbuild(SOURCE_PATH ${SOURCE_PATH_PARENT}
|
||||
PROJECT_SUBPATH ${SOURCE_PATH_SUFFIX}/pbcwin/projects/pbclib.vcxproj
|
||||
INCLUDES_SUBPATH ${SOURCE_PATH_SUFFIX}/include
|
||||
LICENSE_SUBPATH ${SOURCE_PATH_SUFFIX}/COPYING
|
||||
RELEASE_CONFIGURATION "Release${ConfigurationSuffix}"
|
||||
DEBUG_CONFIGURATION "Debug${ConfigurationSuffix}"
|
||||
OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}"
|
||||
OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}"
|
||||
OPTIONS /p:SolutionDir=../
|
||||
ALLOW_ROOT_INCLUDES ON
|
||||
)
|
||||
|
||||
# clean up mpir stuff
|
||||
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mpir.lib ${CURRENT_PACKAGES_DIR}/debug/lib/mpir.lib)
|
||||
endif()
|
108
ports/pbc/windows.patch
Normal file
108
ports/pbc/windows.patch
Normal file
@ -0,0 +1,108 @@
|
||||
diff --git "a/include/pbc_vc_compat.win32.h" "b/include/pbc_vc_compat.win32.h"
|
||||
index 27d3bba..7f772d4 100644
|
||||
--- "a/include/pbc_vc_compat.win32.h"
|
||||
+++ "b/include/pbc_vc_compat.win32.h"
|
||||
@@ -3,7 +3,3 @@
|
||||
#define __attribute__(X)
|
||||
#define inline
|
||||
#define __func__ __FUNCTION__
|
||||
-
|
||||
-#define NULL 0
|
||||
-
|
||||
-#define snprintf _snprintf
|
||||
\ No newline at end of file
|
||||
diff --git "a/pbcwin/projects/pbclib.vcxproj" "b/pbcwin/projects/pbclib.vcxproj"
|
||||
index f0a9b3f..507c24d 100644
|
||||
--- "a/pbcwin/projects/pbclib.vcxproj"
|
||||
+++ "b/pbcwin/projects/pbclib.vcxproj"
|
||||
@@ -214,13 +214,13 @@ <?xml version="1.0" encoding="utf-8"?>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<IncludePath>$(SolutionDir)..\include;$(SolutionDir)..;$(SolutionDir)..\..\mpir\lib\$(Platform)\Release;$(IncludePath)</IncludePath>
|
||||
- <LibraryPath>$(SolutionDir)..\..\mpir\lib\x64\Release;$(LibraryPath)</LibraryPath>
|
||||
+ <LibraryPath>$(SolutionDir)..\..\mpir\lib\$(Platform)\Release;$(LibraryPath)</LibraryPath>
|
||||
<OutDir>$(SolutionDir)lib\$(Platform)\Release\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
- <IncludePath>$(SolutionDir)..\include;$(SolutionDir)..;$(SolutionDir)..\..\mpir\lib\x64\Release;$(IncludePath)</IncludePath>
|
||||
- <LibraryPath>$(SolutionDir)..\..\mpir\lib\x64\Release;$(LibraryPath)</LibraryPath>
|
||||
+ <IncludePath>$(SolutionDir)..\include;$(SolutionDir)..;$(SolutionDir)..\..\mpir\lib\$(Platform)\Release;$(IncludePath)</IncludePath>
|
||||
+ <LibraryPath>$(SolutionDir)..\..\mpir\lib\$(Platform)\Release;$(LibraryPath)</LibraryPath>
|
||||
<OutDir>$(SolutionDir)lib\$(Platform)\Release\</OutDir>
|
||||
<IntDir>$(SolutionDir)obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
@@ -245,7 +245,8 @@ <?xml version="1.0" encoding="utf-8"?>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>pbc_vc_compat.win32.h</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4068</DisableSpecificWarnings>
|
||||
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
+ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary>
|
||||
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -275,7 +276,8 @@ echo ***************************************************************************
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>pbc_vc_compat.win32.h</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4068</DisableSpecificWarnings>
|
||||
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
+ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary>
|
||||
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -305,7 +307,7 @@ echo ***************************************************************************
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>pbc_vc_compat.win32.h</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4068</DisableSpecificWarnings>
|
||||
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
+ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -332,7 +334,7 @@ echo ***************************************************************************
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>pbc_vc_compat.win32.h</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4068</DisableSpecificWarnings>
|
||||
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
+ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -361,7 +363,7 @@ echo ***************************************************************************
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>pbc_vc_compat.win32.h</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4068</DisableSpecificWarnings>
|
||||
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
+ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -395,7 +397,7 @@ echo ***************************************************************************
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>pbc_vc_compat.win32.h</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4068</DisableSpecificWarnings>
|
||||
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
+ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -429,7 +431,7 @@ echo ***************************************************************************
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>pbc_vc_compat.win32.h</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4068</DisableSpecificWarnings>
|
||||
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
+ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -460,7 +462,7 @@ echo ***************************************************************************
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>pbc_vc_compat.win32.h</ForcedIncludeFiles>
|
||||
<DisableSpecificWarnings>4068</DisableSpecificWarnings>
|
||||
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
+ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
Loading…
Reference in New Issue
Block a user