diff options
author | Brad King <brad.king@kitware.com> | 2021-02-02 13:49:18 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-02-02 13:49:44 (GMT) |
commit | 7b38688e22aecae9dd860bb9ab912dd17f3df4e3 (patch) | |
tree | b06688e5ce5f940f8c5063a4dec005f62c5d3d3c /Tests | |
parent | 932b45ceb9b1c10cd6c5e4cf72f706e521273206 (diff) | |
parent | bc00cf93009607d53daf56e2e3389ac7b3e6a846 (diff) | |
download | CMake-7b38688e22aecae9dd860bb9ab912dd17f3df4e3.zip CMake-7b38688e22aecae9dd860bb9ab912dd17f3df4e3.tar.gz CMake-7b38688e22aecae9dd860bb9ab912dd17f3df4e3.tar.bz2 |
Merge topic 'fix21727_for_FindOpenSSL'
bc00cf9300 FindOpenSSL: Add support for version-range
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5750
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Tests/RunCMake/FindOpenSSL/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Tests/RunCMake/FindOpenSSL/RunCMakeTest.cmake | 5 | ||||
-rw-r--r-- | Tests/RunCMake/FindOpenSSL/version-exact.cmake | 19 | ||||
-rw-r--r-- | Tests/RunCMake/FindOpenSSL/version-range.cmake | 37 | ||||
-rw-r--r-- | Tests/RunCMake/FindOpenSSL/version.cmake | 19 |
6 files changed, 86 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 323306a..f58e2f3 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -239,6 +239,9 @@ add_RunCMake_test(FileAPI -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} add_RunCMake_test(FindBoost) add_RunCMake_test(FindLua) add_RunCMake_test(FindOpenGL) +if(CMake_TEST_FindOpenSSL) + add_RunCMake_test(FindOpenSSL) +endif() if(CMake_TEST_UseSWIG) add_RunCMake_test(FindSWIG) add_RunCMake_test(UseSWIG -DCMake_TEST_FindPython=${CMake_TEST_FindPython}) diff --git a/Tests/RunCMake/FindOpenSSL/CMakeLists.txt b/Tests/RunCMake/FindOpenSSL/CMakeLists.txt new file mode 100644 index 0000000..4fc11ae --- /dev/null +++ b/Tests/RunCMake/FindOpenSSL/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.19...3.20) +project(${RunCMake_TEST} NONE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/FindOpenSSL/RunCMakeTest.cmake b/Tests/RunCMake/FindOpenSSL/RunCMakeTest.cmake new file mode 100644 index 0000000..f941a85 --- /dev/null +++ b/Tests/RunCMake/FindOpenSSL/RunCMakeTest.cmake @@ -0,0 +1,5 @@ +include(RunCMake) + +run_cmake(version) +run_cmake(version-exact) +run_cmake(version-range) diff --git a/Tests/RunCMake/FindOpenSSL/version-exact.cmake b/Tests/RunCMake/FindOpenSSL/version-exact.cmake new file mode 100644 index 0000000..29c2ce3 --- /dev/null +++ b/Tests/RunCMake/FindOpenSSL/version-exact.cmake @@ -0,0 +1,19 @@ +cmake_minimum_required (VERSION 3.19...3.20) + +find_package (OpenSSL REQUIRED COMPONENTS Crypto) +# Store version without a possibly trailing letter. +string (REGEX MATCH "^([0-9.]+)" version "${OPENSSL_VERSION}") + +# clean-up OpenSSL variables +unset (OPENSSL_INCLUDE_DIR) +unset (OPENSSL_CRYPTO_LIBRARY) +unset (OPENSSL_CRYPTO_LIBRARIES) +unset (OPENSSL_LIBRARIES) +unset (OPENSSL_VERSION) +unset (OPENSSL_FOUND) + + +find_package (OpenSSL ${version} EXACT COMPONENTS Crypto) +if (NOT OPENSSL_FOUND) + message (FATAL_ERROR "Failed to find OpenSSL with version ${version} EXACT") +endif() diff --git a/Tests/RunCMake/FindOpenSSL/version-range.cmake b/Tests/RunCMake/FindOpenSSL/version-range.cmake new file mode 100644 index 0000000..9390032 --- /dev/null +++ b/Tests/RunCMake/FindOpenSSL/version-range.cmake @@ -0,0 +1,37 @@ +cmake_minimum_required (VERSION 3.19...3.20) + +find_package (OpenSSL REQUIRED COMPONENTS Crypto) +# Store version without a possibly trailing letter. +string (REGEX MATCH "^([0-9.]+)" version "${OPENSSL_VERSION}") + +# clean-up OpenSSL variables +unset (OPENSSL_INCLUDE_DIR) +unset (OPENSSL_CRYPTO_LIBRARY) +unset (OPENSSL_CRYPTO_LIBRARIES) +unset (OPENSSL_LIBRARIES) +unset (OPENSSL_VERSION) +unset (OPENSSL_FOUND) + +## Specify a range including current OpenSSL version +string (REGEX MATCH "^([0-9]+)" upper_version "${version}") +math (EXPR upper_version "${upper_version} + 1") + +find_package (OpenSSL 0.9...${upper_version}.0 COMPONENTS Crypto) +if (NOT OPENSSL_FOUND) + message (FATAL_ERROR "Failed to find OpenSSL with version range 0.9...${upper_version}.0") +endif() + +# clean-up OpenSSL variables +unset (OPENSSL_INCLUDE_DIR) +unset (OPENSSL_CRYPTO_LIBRARY) +unset (OPENSSL_CRYPTO_LIBRARIES) +unset (OPENSSL_LIBRARIES) +unset (OPENSSL_VERSION) +unset (OPENSSL_FOUND) + +## Specify a range excluding current OpenSSL version +set (range 0.9...<${version}) +find_package (OpenSSL ${range} COMPONENTS Crypto) +if (OPENSSL_FOUND) + message (FATAL_ERROR "Unexpectedly find OpenSSL with version range ${range}") +endif() diff --git a/Tests/RunCMake/FindOpenSSL/version.cmake b/Tests/RunCMake/FindOpenSSL/version.cmake new file mode 100644 index 0000000..d06cd1f --- /dev/null +++ b/Tests/RunCMake/FindOpenSSL/version.cmake @@ -0,0 +1,19 @@ +cmake_minimum_required (VERSION 3.19...3.20) + +find_package (OpenSSL REQUIRED COMPONENTS Crypto) +# Store version without a possibly trailing letter. +string (REGEX MATCH "^([0-9.]+)" version "${OPENSSL_VERSION}") + +# clean-up OpenSSL variables +unset (OPENSSL_INCLUDE_DIR) +unset (OPENSSL_CRYPTO_LIBRARY) +unset (OPENSSL_CRYPTO_LIBRARIES) +unset (OPENSSL_LIBRARIES) +unset (OPENSSL_VERSION) +unset (OPENSSL_FOUND) + + +find_package (OpenSSL ${version} COMPONENTS Crypto) +if (NOT OPENSSL_FOUND) + message (FATAL_ERROR "Failed to find OpenSSL with version ${version}") +endif() |