mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-05 09:50:04 +08:00
bdae0904c4
* [ports] Update openssl-unix to 1.1.1c * [ports] Update openssl-unix to 1.1.1d * [ports] openssl-unix platform 'AMD64' is called 'x86_64' on Linux * [ports] fix openssl platform * [ports] openssl-windows update openssl to 1.1.1d * [ports] Fix openssl post build * [ports] openssl add EnableUWPSupport.patch Reference: https://github.com/openssl/openssl/pull/8917 https://github.com/openssl/openssl/pull/9440 * [ports] openssl-uwp update openssl to 1.1.1d * Updated support for OpenSSL v1.1 With OpenSSL v1.1 we need an additional flag for ACE * update to 12.0 and change to vcpkg_configure_make * remove msys line * remove custom cmakelists * use --without-readline on linux * Update CONTROL Fix version * fix portfile * add all possible libpq features * create vcpkg_get_build_depends * create vcpkg_read_dependent_port_info * add vcpkg_write_port_info * fix a few bugs * libpq first succesful x86 build with core features. (files still must be moved) * always write the variable * Fix separate make and install execution error issue. * trigger CI system. * add openssl and win_bison win_flex patch * add configuration dependent patches * add bonjour as a dependency on macosx * apply patches and configure features * more patches to fix the windows build * more install fixes * remove unnecessary code * bit of code cleanup * remove unrelated files * remove unrelated function call. function was removed with last commit * removed hardcoded platform * fix patch * build only the interface libraries and nothing more * forgot to remove tool ecpg from install * seperate minimal install patch from normal install patch and introduce client feature * fix x86 Platform variable being x86 and not Win32 as required by the generated project * make linux build work * make more linux work * openssl return version number directly without calling openssl (should probably be done differently) * fix some more path and platform identification * comments to reduce install. currently libpq installs static and shared libraries and some tools on linux * patch arm * fix platform detection logic * make libpq osx buildable * Rename debug import library after build. (So that we don't affect external CMake users.) * revert debug naming and install a wrapper instead. * fix gdal regression due to name change * fix cutelyst regression due to qt5-base wrapper (why was it not using the target in the first place?) * correct wrapper install path * correct the arm patch. * trying to fix static gdal build * gdal still needs more work * update version of openssl in libpq openssl patch * nmap fix openssl * qt5 fix openssl * gdal fix openssl * librtmp migrate to openssl 1.1.1 * fail in patch since what is intended is not going to work in openssl 1.1.1 * fix static yara build * freedtds deactivate openssl feature until freetds decides to upgrade to 1.1 * fix libwebsockets cmakelists * fix the patch so that the generated targets also include crypt32 * xmlsec add threads dependency * bump control since I am unable to reproduce the regression * add pthread to openssl detection logic * fix freetds linkage missing crypt32 and fix the cmake checks. * fix the openssl wrapper to add the threads library * fix libmysql regression * add threads to openssl libraries. * upgrade libssh to 0.9 * fix nmap regression * fix mosquitto regression * fix openssl wrapper to make libarchive work * fix quickfix * changed patch a bit * improve freetds patch * fix case in librtmp * update control * bump control * fix case * make jasper a dependency of qt5-imageformats to fix flaky CI build. * add jasper libraries explicitly * jasper depends on freeglut so add it as a dependency. turbo_jpeg is also a dependency but that should already be handled in qt5-base * more glut names * bump control for macosx ci retry * fix slikenet regression * fix linebreak in qt5-base * update baseline * Update ci.baseline.txt those ports are not supported on UWP * [libevent] add dependency on libevent[threads] to openssl feature * [pdal,freerdp] Update CI baseline to fail * fix static pdal build * fix freerdp on linux * trying to revert some changes * revert changes in build make * revert x264 version bump Co-authored-by: Force Charlie <6904176+fcharlie@users.noreply.github.com> Co-authored-by: Johnny Willemsen <jwillemsen@remedy.nl> Co-authored-by: Lennart Trunk <lennart.trunk@outlook.de> Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
150 lines
4.8 KiB
CMake
150 lines
4.8 KiB
CMake
cmake_minimum_required(VERSION 3.9)
|
|
project(openssl C)
|
|
|
|
if(NOT SOURCE_PATH)
|
|
message(FATAL_ERROR "Requires SOURCE_PATH")
|
|
endif()
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
|
set(PLATFORM android)
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
|
set(PLATFORM linux-x86_64)
|
|
else()
|
|
set(PLATFORM linux-generic32)
|
|
endif()
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
set(PLATFORM darwin64-x86_64-cc)
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
|
set(PLATFORM BSD-generic64)
|
|
else()
|
|
message(FATAL_ERROR "Unknown platform")
|
|
endif()
|
|
|
|
get_filename_component(COMPILER_ROOT "${CMAKE_C_COMPILER}" DIRECTORY)
|
|
|
|
message("CMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
|
|
message("COMPILER_ROOT=${COMPILER_ROOT}")
|
|
message("CMAKE_SYSROOT=${CMAKE_SYSROOT}")
|
|
message("CMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}")
|
|
message("CMAKE_C_FLAGS=${CMAKE_C_FLAGS}")
|
|
message("CMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}")
|
|
message("CMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}")
|
|
message("CMAKE_INCLUDE_SYSTEM_FLAG_C=${CMAKE_INCLUDE_SYSTEM_FLAG_C}")
|
|
|
|
set(CFLAGS "${CMAKE_C_FLAGS}")
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
set(CFLAGS "-Wno-error=unused-command-line-argument ${CMAKE_C_FLAGS}")
|
|
endif()
|
|
if(CMAKE_C_COMPILER_TARGET)
|
|
set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_TARGET}${CMAKE_C_COMPILER_TARGET}")
|
|
endif()
|
|
if(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN)
|
|
set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN}")
|
|
endif()
|
|
if(CMAKE_SYSROOT AND CMAKE_C_COMPILE_OPTIONS_SYSROOT)
|
|
set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}")
|
|
elseif(CMAKE_OSX_SYSROOT AND CMAKE_C_COMPILE_OPTIONS_SYSROOT)
|
|
set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_SYSROOT}${CMAKE_OSX_SYSROOT}")
|
|
endif()
|
|
|
|
string(REGEX REPLACE "^ " "" CFLAGS "${CFLAGS}")
|
|
|
|
if(CMAKE_HOST_WIN32)
|
|
file(TO_NATIVE_PATH ENV_PATH "${COMPILER_ROOT};$ENV{PATH}")
|
|
else()
|
|
file(TO_NATIVE_PATH ENV_PATH "${COMPILER_ROOT}:$ENV{PATH}")
|
|
endif()
|
|
set(ENV{ANDROID_DEV} "${CMAKE_SYSROOT}/usr")
|
|
set(ENV{CC} "${CMAKE_C_COMPILER}")
|
|
|
|
message("ENV{ANDROID_DEV}=$ENV{ANDROID_DEV}")
|
|
|
|
get_filename_component(SOURCE_PATH_NAME "${SOURCE_PATH}" NAME)
|
|
set(BUILDDIR "${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_PATH_NAME}")
|
|
|
|
if(NOT EXISTS "${BUILDDIR}")
|
|
file(COPY ${SOURCE_PATH} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
|
endif()
|
|
|
|
get_filename_component(MSYS_BIN_DIR "${MAKE}" DIRECTORY)
|
|
|
|
|
|
file(READ "${BUILDDIR}/Configure" _contents)
|
|
string(REPLACE "-mandroid" "" _contents "${_contents}")
|
|
file(WRITE "${BUILDDIR}/Configure" "${_contents}")
|
|
|
|
if(BUILD_SHARED_LIBS)
|
|
set(SHARED shared)
|
|
file(STRINGS "${BUILDDIR}/crypto/opensslv.h" SHLIB_VERSION
|
|
REGEX "^#[\t ]*define[\t ]+SHLIB_VERSION_NUMBER[\t ]+\".*\".*")
|
|
string(REGEX REPLACE "^.*SHLIB_VERSION_NUMBER[\t ]+\"([^\"]*)\".*$" "\\1"
|
|
SHLIB_VERSION "${SHLIB_VERSION}")
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
set(LIB_EXT dylib)
|
|
set(LIB_EXTS ${SHLIB_VERSION}.${LIB_EXT})
|
|
else()
|
|
set(LIB_EXT so)
|
|
set(LIB_EXTS ${LIB_EXT}.${SHLIB_VERSION})
|
|
endif()
|
|
list(APPEND LIB_EXTS ${LIB_EXT})
|
|
else()
|
|
set(SHARED no-shared)
|
|
set(LIB_EXTS a)
|
|
endif()
|
|
foreach(lib ssl crypto)
|
|
foreach(ext ${LIB_EXTS})
|
|
list(APPEND INSTALL_LIBS "${BUILDDIR}/lib${lib}.${ext}")
|
|
endforeach()
|
|
endforeach()
|
|
|
|
if(CMAKE_HOST_WIN32)
|
|
set(ENV_COMMAND set)
|
|
set(PATH_VAR ";%PATH%")
|
|
else()
|
|
set(ENV_COMMAND export)
|
|
set(PATH_VAR ":$ENV{PATH}")
|
|
endif()
|
|
|
|
add_custom_command(
|
|
OUTPUT "${BUILDDIR}/Makefile"
|
|
COMMAND ${ENV_COMMAND} CC=${CMAKE_C_COMPILER}
|
|
COMMAND ${ENV_COMMAND} AR=${CMAKE_AR}
|
|
COMMAND ${ENV_COMMAND} LD=${CMAKE_LINKER}
|
|
COMMAND ${ENV_COMMAND} RANLIB=${CMAKE_RANLIB}
|
|
COMMAND ${ENV_COMMAND} MAKE=${MAKE}
|
|
COMMAND ${ENV_COMMAND} MAKEDEPPROG=${CMAKE_C_COMPILER}
|
|
COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}"
|
|
COMMAND "${PERL}" Configure
|
|
${SHARED}
|
|
enable-static-engine
|
|
no-ssl2
|
|
no-idea
|
|
no-bf
|
|
no-cast
|
|
no-seed
|
|
no-md2
|
|
${PLATFORM}
|
|
"--prefix=${CMAKE_INSTALL_PREFIX}"
|
|
"--openssldir=/etc/ssl"
|
|
${CFLAGS}
|
|
COMMAND "${CMAKE_COMMAND}" "-DDIR=${BUILDDIR}" -P "${CMAKE_CURRENT_LIST_DIR}/remove-deps.cmake"
|
|
VERBATIM
|
|
WORKING_DIRECTORY "${BUILDDIR}"
|
|
)
|
|
|
|
add_custom_target(build_libs ALL
|
|
COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}"
|
|
COMMAND "${CMAKE_COMMAND}" -E touch "${BUILDDIR}/krb5.h"
|
|
COMMAND "${MAKE}" build_libs
|
|
VERBATIM
|
|
WORKING_DIRECTORY "${BUILDDIR}"
|
|
DEPENDS "${BUILDDIR}/Makefile"
|
|
BYPRODUCTS ${INSTALL_LIBS}
|
|
)
|
|
|
|
install(
|
|
FILES ${INSTALL_LIBS}
|
|
DESTINATION lib
|
|
)
|