| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
796b447373 FindOpenSSL: Fix OpenSSL 3.0.0 version extraction
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4860
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix the regex syntax added by commit 61d746e592 (FindOpenSSL: Detect
OpenSSL 3.0.0, 2020-05-27, v3.17.3~1^2). Add missing escapes.
Test with `openssl-3.0.0-alpha3`.
While at it, also unset a temporary variable after use.
|
|\ \
| |/
| |
| |
| |
| |
| | |
61d746e592 FindOpenSSL: Detect OpenSSL 3.0.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4805
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The OpenSSL versioning is changing with the upcoming 3.0.0 release.
https://www.openssl.org/blog/blog/2018/11/28/version/
Since 3.0.0, the patch letters are being dropped. The new format is:
MAJOR.MINOR.PATCH
The OPENSSL_VERSION variable can now be directly derived from the new
OPENSSL_VERSION_STR macro.
https://www.openssl.org/docs/manmaster/man3/OPENSSL_VERSION_NUMBER.html
|
|/
|
|
| |
Fixes: #20701
|
| |
|
|
|
|
| |
Fixes: #20082
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using a custom sysroot to build things using pkg-config, some of
the output variables feature the sysroot while others do not:
```console
$ export PKG_CONFIG_SYSROOT_DIR=/path/to/sysroot
$ export PKG_CONFIG_LIBDIR=/path/to/sysroot/usr/lib/pkgconfig
$ pkg-config --cflags-only-I openssl
-I/path/to/sysroot/usr/include/
$ pkg-config --variable=includedir openssl
/usr/include
$ pkg-config --libs-only-L openssl
-L/path/to/sysroot/usr/lib
$ pkg-config --variable=libdir openssl
/usr/lib
```
When using `pkg_check_modules`, it's pretty much the same:
```cmake
pkg_check_modules(_OPENSSL QUIET openssl)
_OPENSSL_INCLUDE_DIRS == /path/to/sysroot/usr/include/
_OPENSSL_INCLUDEDIR == /usr/include
_OPENSSL_LIBRARY_DIRS == -L/path/to/sysroot/usr/lib
_OPENSSL_LIBDIR == /usr/lib
```
However, FindOpenSSL only searches for headers in `INCLUDEDIR` and
libraries in `LIBDIR` instead of searching `INCLUDE_DIRS` and
`LIBRARY_DIRS` as well.
This fixes that behaviour.
Fixes: #16885
Signed-off-by: Denis Thulin <denis.thulin@enyx.fr>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some are user facing.
Found using
codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt`
whereby the whitelist contained:
ans
dum
helpfull
emmited
emmitted
buil
iff
isnt
nto
ot
pathes
substract
te
todays
upto
whitespaces
|
|
|
|
|
|
| |
Release variant search already considered `ssl` and `crypto`, but
similarly named libs with `d` postfix were not searched for debug
variant.
|
|\
| |
| |
| |
| |
| |
| | |
8b410453 FindOpenSSL: Restore support for crypto-only result
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !846
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.8.0-rc1~132^2 (FindOpenSSL: Check that both CRYPTO and
SSL libraries are present, 2017-01-03) we require both crypto and ssl
libraries to be present. This makes sense because `OPENSSL_LIBRARIES`
lists both and breaks when one is not found. However, prior to that
fix we supported finding only the crypto library and using it through
the imported target. Drop the requirement for ssl to restore support
for using crypto alone.
Later this module should be taught to support the `COMPONENTS` argument
of `find_package`.
Fixes: #16882
|
|\ \
| |/
| |
| |
| |
| |
| | |
16ef163f FindOpenSSL: Add more library name alternatives
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !713
|
| |
| |
| |
| |
| |
| | |
Add names found in OpenSSL 1.1.0 builds from [1].
[1] https://www.npcglib.org/~stathis/blog/precompiled-openssl/
|
|/
|
|
|
| |
Add the `crypto` name without any prefix or suffix as a fallback, just
as we already have for `ssl`.
|
|
|
|
|
|
|
| |
* Strawberry perl on Windows installs one that is found by the
default finder
While at it, de-duplicate code setting `OPENSSL_LIBRARIES`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool. Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience. Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.
Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices. It also references version control
history for more precise information. Therefore we no longer need to spell
out the list of Contributors in each source file notice.
Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing". The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.
Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically. Manually fix up shebang lines and trailing
newlines in a few files. Manually update the notices in a few files that the
script does not handle.
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit v3.6.0-rc1~182^2 (FindOpenSSL: Prefer libs early in search
path regardless of name, 2016-04-04) we use the `NAMES_PER_DIR` option
to `find_library` calls to consider all names in each directory before
moving on to the next directory. Fix our library search directory
ordering to place more-specific (e.g. VC/) directories before the
general directories. Otherwise they may never be considered.
Closes: #16320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since OpenSSL 1.1.0, Windows binaries are libcrypto and libssl instead of
the old names libeay32 and ssleay32.
When using MSVC, FindOpenSSL was searching for the old lib names only so
this add the new names to be able to find OpenSSL 1.1.0 libraries.
For example, the files in lib directory of OpenSSL 1.1.0 Win64 :
- libcrypto.lib
- libssl.lib
- VC/libcrypto64MD.lib
- VC/libcrypto64MDd.lib
- VC/libcrypto64MT.lib
- VC/libcrypto64MTd.lib
- VC/libssl64MD.lib
- VC/libssl64MDd.lib
- VC/libssl64MT.lib
- VC/libssl64MTd.lib
32 bits OpenSSL has the same files with "32" instead of "64" for files in
VC directory.
MinGW still works and use lib/libcrypto.lib and lib/libssl.lib.
This patch also add libssl and libcrypto for other windows compilers too (like
Intel).
|
|
|
|
|
|
|
|
|
|
|
|
| |
Find modules only detect Debug and Release configurations. All other
configurations will fall back to the configuration listed as the first
entry in `IMPORTED_CONFIGURATIONS`. Switch the order so that `Release`
is listed first, as this is a better fallback than `Debug` for the
`RelWithDebInfo` and `MinSizeRel` configurations. See issue #16091.
This approach is recommended by documentation in `cmake-developer(7)`
added by commit v3.2.0-rc1~286^2~1 (Help: Document IMPORTED_CONFIGURATIONS
target property for Find modules, 2014-12-04).
|
|
|
|
| |
BoringSSL's openslv.h does not have the version information.
|
|
|
|
|
|
|
| |
Add NAMES_PER_DIR to all find_library invocations so that we consider
all possible names in each search directory before moving on to the next
directory. Otherwise we may not find self-built libraries first even if
they appear early in the search path.
|
|
|
|
|
|
|
|
| |
Generalize the change made by commit v2.8.10~228^2~4 (FindOpenSSL: find
cross-compiled OpenSSL from MinGW, 2012-07-23) to be used on builds
hosted on Windows too. When building for MinGW, consider library names
that come with MinGW before looking for the main Windows distribution of
OpenSSL.
|
|
|
|
| |
Tolerate tabs instead of spaces in the "# define" line.
|
|
|
|
|
| |
Add an OPENSSL_MSVC_STATIC_RT option to switch from the default search
for `/MD` libraries to look for `/MT` libraries instead.
|
|
|
|
|
|
|
| |
Add an OPENSSL_USE_STATIC_LIBS option to enable it. Adjust
CMAKE_FIND_LIBRARY_SUFFIXES to only look for .a and .lib files. Also
adjust the search paths on Windows for installer locations of static
libraries.
|
| |
|
|
|
|
| |
Improve reStructuredText formatting and add section headers.
|
|
|
|
|
| |
Store the path suffixes in a variable and reference it in each
find_library call.
|
| |
|
|\
| |
| |
| |
| | |
c5d9a828 FindOpenSSL: fix detection of OpenSSL 1.0.2
|
| | |
|
| |
| |
| |
| |
| | |
Do not use the _OPENSSL_VERSION computed by pkg-config because
the user may change OPENSSL_INCLUDE_DIR.
|
|/
|
|
|
|
|
|
| |
Some applications only need the OpenSSL crypto library and want to avoid
linking against the SSL library. Set OPENSSL_CRYPTO_LIBRARY and
OPENSSL_SSL_LIBRARY in the code paths that do not need to find them
separately, and document them publicly. This allows applications to be
more specific when linking against OpenSSL.
|
|
|
|
|
| |
Use hints computed from this explicit variable before those
computed by PkgConfig. They are more specific.
|
|
|
|
|
|
| |
In commit v2.8.5~176^2~2 (FindOpenSSL: We should only use hints to find
OpenSSL, 2011-03-28) values for HINTS and PATHS of find_* calls were
computed everywhere but only used on Windows. Use them everywhere.
|
|
|
|
|
|
|
|
| |
Run the convert-help.bash script to convert documentation:
./convert-help.bash "/path/to/CMake-build/bin"
Then remove it.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7cc2805 Docs: Clarify wording "flag used" => "flag (to|will) be used"
2378a69 Docs: Clarify that CMAKE_*_(PREFIX|SUFFIX) affect filenames
56ca34d Docs: Update description of CMAKE_(BUILD_TYPE|CONFIGURATION_TYPES)
2bab472 VS10: add detailed comment about MIDL processing
e619111 Explain distribution of Win9x binary on all Windows versions.
5ca4336 FindwxWidgets: add DOC strings with usual style
f57800d Fix spelling and typos (product names)
bf019d7 Fix spelling and typos (non-binary)
ddac8d3 Fix spelling and typos (affecting binary data / module messages)
86832ce Fix spelling and typos (affecting users)
|
| |
| |
| |
| | |
API, Borland, MinGW, UNIX, Mac OS X.
|
|/
|
|
|
|
| |
Use of the mis-spelled variable name 'CMAKE_CROSS_COMPILING' was
introduced by commit 4b793ad1 (FindOpenSSL: find cross-compiled OpenSSL
from MinGW, 2012-07-23). Fix the spelling.
|
|
|
|
| |
We already search for them in release mode.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block. This is no longer the preferred style.
Run the following shell code:
for c in else endif endforeach endfunction endmacro endwhile; do
echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code:
cmake --help-command-list |
grep -v "cmake version" |
while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
|
| |
|
|
|
|
|
|
| |
-only use Windows-specific paths on Windows
-recode the contents of $ENV{PROGRAMFILES} to be a valid CMake path before
using it
|