-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/…
…philc/4912
- Loading branch information
Showing
8 changed files
with
385 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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() |
Oops, something went wrong.