Based on #38118, credits: @talregev.
OpenSSL now installs a CMake config, but it is not generated by CMake,
and it is not multi-config capable. This limitation affects location
properties, interface link libraries and package variables.
This PR just patches the config to chainload CMake's Find module.
Together with vcpkg's cmake wrapper, this immediately gives the desired
imported targets in a multi-config configuration when a user really
requests `OpenSSL CONFIG`.
---------
Co-authored-by: Tal Regev <tal.regev@gmail.com>
* * Enable Arm64 assembly optimization on Windows by using clang
* * find and add clang folder to the patch
* * update version
* * refactor based on the review
* * update version
* * fix arm64_uwp build
* * update version
* * fix arm64_uwp build
* * update version
* * refactoring
* * update version
* * use clang c_flags only for clang on Arm64
* * update version
* * update version
* [openssl] update version to 3.1.3
* [openssl] removed patches that are already applied in version 3.1.3 for windows
* [openssl] format vcpkg.json
* [openssl] update version information
* Revert armcap changes (WIP)
* WIP
* Revert "Revert armcap changes (WIP)"
This reverts commit a451e6e0bede14873ab74f88fec8664577198c94.
* Trace
* Revert "Trace"
This reverts commit 91e6428688d3281ce8ce4427b4f6712b0ebfa176.
* [openssl] Disable asm also on arm32 neon
* Revert "WIP"
This reverts commit b7c3a6d96126a125df7b993e6f7f54ee7b807d6b.
---------
Co-authored-by: Carsten Grimm <carsten.grimm@ipolog.ai>
* [openssl] Use bash from PATH rather then /bin (microsoft/vcpkg#32288)
The configure script used to invoke python during the build process contains
a shebang that invokes /bin/bash independend of whatever bash would usually
resolve to.
This breaks compilation on FreeBSD, where bash isn't part of the operating
system.
Rather then /bin/bash, invoke /usr/bin/env bash, which resolves the bash
command by iterating PATH
* [openssl] regenerate versions registries (microsoft/vcpkg#32288)
* Corrected fipsmodule.cnf install
move it to the same position as openssl.cnf, both are only examples of openssl
* Adjusted port version
* Adjusted SHA for vcpkg x-add-version --all
---------
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* Added option to enable fips build for openssl
I only implement and tested it for windows as I have no option to do this under linux
* Adjusted port version
* Updated to support only for Windows
* Corrected Formatting
* Corrected SHA for vcpkg x-add-version --all
* Changes requested by review
Removed the not needed FEATURE FIPS
Initialize INSTALL_FIPS as empty
* Corrected SHA for vcpkg x-add-version --all
* Removed Windows only support
* Corrected SHA for vcpkg x-add-version --all
* Added "supports": "!static"
As the provider conecpts needs dynamic linkage
* Corrected SHA for vcpkg x-add-version --all
* [vcpkg-cmake-get-vars] Call 'project' early
System variables like 'APPLE' or 'ANDROID' aren't set before 'project()'.
* Get Android variables
* [openssl] Ensure that compiler is reached via 'PATH'
* Fix Android configuration
* Add 'tools' feature
* Update versions
* [openssl] Initialize android with vcpkg settings
* [openssl] Really don't build apps
* [vcpkg-cmake-get-vars] Update android vars
* [libpq] Pass openssl version from pkgconfig
* [vcpkg-cmake-get-vars] Update android vars
* [vcpkg-cmake-get-vars] Report generator
* [vcpkg-cmake-get-vars] Escape all output
* Transfer cmake-get-vars fixes
* Transfer cmake-get-vars extra flags
* no-asm for android-arm w/o neon
* [vcpkg_configure_make] Unquote as needed
Toolchain flags are passed into make via environment variables (e.g.
CFLAGS) and expanded by Makefiles regardless of quotes. And even vcm's
internal handling isn't prepared for these quotes. So we must remove
the early. This doesn't interfere with properly escaped quotes.
* Re-add lost 'project', amends 4cf7caaa
* [openssl] Fix emscripten
* Use vcpkg_build_nmake for windows incl. uwp
Use prerun shell for configuration
* [openssl] Generate OPENSSL_VERSION_MAJOR/MINOR/FIX
* Update versions
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [OpenSSL] Update to 3.0.7.
Fixes critical security vulnerability https://twitter.com/iamamoose/status/1584908434855628800
flags.patch part already applied by upstream removed.
Download location changed to openssl.org while a github tag is still missing.
* Revert unintentional boringssl change.
* Add vcpkg_minimum_required and switch back to GitHub now that a tag is available.
* Audit use of TO_NATIVE_PATH.
TO_NATIVE_PATH should only be used when (1) pasting a path into a command line, or (2) displaying a path to a user. It must not be used before calling other CMake operations like file(WRITE.
Fixes https://github.com/microsoft/vcpkg/issues/26178
ports/ffmpeg/portfile.cmake:
Both uses are being embedded into a command line ✅
ports/gdal/dependency_win.cmake
117: This used TO_NATIVE_PATH but didn't actually connect the result. It's going on a command line so TO_NATIVE_PATH is appropriate.
Drive by: Added quotes around other uses (all of which seem to be going to command lines).
202: ${EXPAT_LIBRARY_REL} ${ZLIB_LIBRARY_REL} don't seem to be set even though they are used; I think this is wrong but I don't know for sure that it is so I'm leaving it alone for now.
ports/msmpi/portfile.cmake
All 3 uses are being embedded into a command line ✅
ports/jemalloc/fix-utilities.patch
ports/libproxy/fix-dependency-libmodman.patch
ports/qtbase/env.patch
These are in upstream content / context so it is not edited.
ports/opengl/portfile.cmake
Broken! Drive by fixes:
* Modernized checking VCPKG_BUILD_TYPE
* Ordered things consistently to be release then debug.
* Removed funny newlines.
ports/openni2/portfile.cmake
Borderline OK; it goes into an MSBuild / vcxproj. I'm leaving it alone. Drive by fixes:
* Guarded debug-only copies for VCPKG_BUILD_TYPE
* Fixed supports expression
ports/openssl/unix/CMakeLists.txt:
Unused!
ports/pthreads/portfile.cmake:
Both uses are being embedded into a command line ✅
ports/qt5-base/cmake/qt_fix_makefile_install.cmake
I'm not sure if this one is OK but it's being embedded into a file so it's probably fine.
ports/qtapplicationmanager/portfile.cmake:
I'm pretty sure this one is wrong, but it's guarded by VCPKG_TARGET_IS_WINDOWS so the ability to create damage is limited.
ports/readosm/portfile.cmake:
The use is being embedded into a command line ✅
ports/spatialite-tools/portfile.cmake:
The use is being embedded into a command line ✅
ports/sqlcipher/portfile.cmake:
Both uses are being embedded into a command line ✅
scripts/ports.cmake:
Some uses were unused, others are immediately used and printed to the console. ✅
scripts/buildsystems/vcpkg.cmake:
Fixed :)
scripts/cmake/vcpkg_build_qmake:
Looks unused.
scripts/cmake/vcpkg_build_process.cmake:
Added to console message only. ✅
scripts/cmake/vcpkg_execute_required_process_repeat.cmake:
Added to console message only. ✅
Drive by: Fixed typo in variable name in the message.
scripts/cmake/vcpkg_execute_required_process.cmake:
Added to console message only. ✅
* Fix missing license.
* [openssl] remove no-stdio option for iOS building
* [openssl] 3.0.5#2, remove no-stdio option for iOS building
Co-authored-by: xiling.sz <xiling.sz@alibaba-inc.com>
* allow clang-cl builds
* v db
* should always wait for the debug build to finishe .....
* v db
* fix static builds not having pdbs
* v db
* Add a variable and comment to describe why we are removing PDB copy rules.
Co-authored-by: Billy O'Neal <bion@microsoft.com>
* [openssl] Support custom cflags on Windows
* [openssl] Add vcpkg-cmake-get-vars dependency
* [openssl] Record version
Co-authored-by: Billy Robert O'Neal <bion@microsoft.com>
* Create package openssl3
* Create package openssl3
* Delete openssl3
* update version to 3.0.1
* Delete openssl3
* Update manifests to 3.0.1
* Fix download url
* Update port version
* Update version
* Remove wrong port version
* Fix errors
* Fix license
* Remove empty folders
* Fix post-build errors
* Add license field
* Fix cmake for uwp
* Remove patch file
* format manifest
* Update version file
* Fix port version
* version
* Test: remove vcvarsall
* version
* fix version
* version
* Fix docs in cmake files as well
* wrong branch
* Add port openssl-1
* Fix directories
* delete openssl-1
* [openssl-1] Add port
* version
* Fix UWP build
* version
* migrate uthenticode
* version
* Fix UWP build for librabbitmq
* version
* Fix UWP warnings
* version
* Fix patch
* version
* Disable C4996 on UWP
* version
* [idevicerestore] disable C4996
* remove warning fixes
* Revert uthenticode
* Final newlines
* version
* Remove winsock replace
* version
* [libwebsockets] Disable /WX on Windows
* version
* Typo
* version
* Disable C4996 in patch instead
* version
* [luasec] Use openssl-1
* version
* revert luasec
* migrate luasec
* version
* revert winsock
* version
* revert winsock
* version
* revert revert
* version
* Fix platform for luasec
* Fix supports
* version
* .
* version
* uthenticode
* libmysql
* azure-c-shared-utility
* version
* remove azure-c-shared-utility
* revert all
* uthenticode
* version
* azure
* version
* libmysql
* version
* remove mysql
* [libdatachannel] disable warnings on UWP
* version
* Fix patches
* version
* Add openssl-1 to CI baseline
* openssl-1: check if copyright exists
* version
* revert azure
* [libssh2] disable c4996
* version
* [aws-sdk-cpp] -Wno-deprecated
* version
* fix aws patch
* version
* fix aws patch
* version
* [qpid-proton] disable warning
* version
* Fix patch
* version
* [librtmp] disable c4996
* version
* [libu2f-server] disablec4996
* switch version scheme
* version
* [idevicerestore] disable c4996
* version
* typo
* version
* fix cmake
* version
* fix cmake again
* version
* [uthenticode] patch to support Openssl 3
* version
* fix idevicerestore
* version
* search for conflicting copyrights
* version
* Fix luasec
* fix version
* version
* fix azure
* version
* Remove debug stuff
* version
* [open62541] patch
* update port version
* version
* [libmysql] patch
* version
* Fix patch
* version
* Format openssl
* Format openssl portfiles
* Check for conflicting copyrights
* Fix typo
* Rename openssl-1 to openssl1
* Rename openssl-1 to openssl1
* version
* Update ci baseline
* version
* resolve conflicting port versions
* version
* apply latest openssl security fix
* version
* Fix qpid-proton
* version
* retrigger Bbuild of qtbase
* version
* revert qtbase
* Remove openssl1
* version
* version
* fix openssl_version_fix
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
The only places this was being used were as morally asserts for the port itself. Also removed empty ports from ci.baseline.txt.
In support of https://github.com/microsoft/vcpkg/pull/21502
* [openssl] Update to 1.1.1m
* run x-add-version --all for openssl 1.1.1m
* switch to 4 spaces to standardize instead of 2
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* [openssl] fix cross compilation with mingw
When cross compiling openssl on Linux, e.g.
./vcpkg install openssl:x64-mingw-dynamic
failed, because 'windres' was not found. The call to
openssl's Configure was missing the WINDRES environment
variable, which is needed in case it is prefixed. On
Ubuntu the binutils-mingw-w64-x86-64 package installed
it as /usr/bin/x86_64-w64-mingw32-windres.
Since mingw uses openssl-unix to build, it's worth mentioning
that the WINDRES env has no impact for non-mingw and is ignored
there.
* Handle conflicts
* Update version files
* Update ports/openssl/unix/CMakeLists.txt
* Update versions/o-/openssl.json
* Update versions/o-/openssl.json
Co-authored-by: NancyLi1013 <lirui09@beyondsoft.com>
Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>