Merge bitcoin-core/secp256k1#1554: cmake: Clean up testing code

7c987ec89e cmake: Call `enable_testing()` unconditionally (Hennadii Stepanov)
6aa576515e cmake: Delete `CTest` module (Hennadii Stepanov)

Pull request description:

  1. Delete `CTest` module.

  The `CTest` module handles `CDash` integration, which we do not use. It is not required for testing functionality.

  2. Clean up cases when to invoke `enable_testing()`

  The `enable_testing()` command invocation is required for `add_test()` commands, which are used only for `{noverify_}tests`, `exhaustive_tests` and examples.

ACKs for top commit:
  real-or-random:
    utACK 7c987ec89e
  theStack:
    ACK 7c987ec89e

Tree-SHA512: f2628a4c4363b86f7c49d705df192e76368997e3f01cb736fcc272330bbf481af023d29d9faec17878d3bf74e4d265870cd93953406ae4612cd717811f22dd1a
This commit is contained in:
merge-script
2024-09-18 15:42:00 +02:00

View File

@@ -1,5 +1,8 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
#=============================
# Project / Package metadata
#=============================
project(libsecp256k1 project(libsecp256k1
# The package (a.k.a. release) version is based on semantic versioning 2.0.0 of # The package (a.k.a. release) version is based on semantic versioning 2.0.0 of
# the API. All changes in experimental modules are treated as # the API. All changes in experimental modules are treated as
@@ -9,6 +12,8 @@ project(libsecp256k1
HOMEPAGE_URL "https://github.com/bitcoin-core/secp256k1" HOMEPAGE_URL "https://github.com/bitcoin-core/secp256k1"
LANGUAGES C LANGUAGES C
) )
enable_testing()
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
if(CMAKE_VERSION VERSION_LESS 3.21) if(CMAKE_VERSION VERSION_LESS 3.21)
# Emulates CMake 3.21+ behavior. # Emulates CMake 3.21+ behavior.
@@ -30,11 +35,15 @@ set(${PROJECT_NAME}_LIB_VERSION_CURRENT 4)
set(${PROJECT_NAME}_LIB_VERSION_REVISION 2) set(${PROJECT_NAME}_LIB_VERSION_REVISION 2)
set(${PROJECT_NAME}_LIB_VERSION_AGE 2) set(${PROJECT_NAME}_LIB_VERSION_AGE 2)
#=============================
# Language setup
#=============================
set(CMAKE_C_STANDARD 90) set(CMAKE_C_STANDARD 90)
set(CMAKE_C_EXTENSIONS OFF) set(CMAKE_C_EXTENSIONS OFF)
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) #=============================
# Configurable options
#=============================
option(BUILD_SHARED_LIBS "Build shared libraries." ON) option(BUILD_SHARED_LIBS "Build shared libraries." ON)
option(SECP256K1_DISABLE_SHARED "Disable shared library. Overrides BUILD_SHARED_LIBS." OFF) option(SECP256K1_DISABLE_SHARED "Disable shared library. Overrides BUILD_SHARED_LIBS." OFF)
if(SECP256K1_DISABLE_SHARED) if(SECP256K1_DISABLE_SHARED)
@@ -262,13 +271,6 @@ if(SECP256K1_BUILD_CTIME_TESTS)
unset(msan_enabled) unset(msan_enabled)
endif() endif()
include(CTest)
# We do not use CTest's BUILD_TESTING because a single toggle for all tests is too coarse for our needs.
mark_as_advanced(BUILD_TESTING)
if(SECP256K1_BUILD_BENCHMARK OR SECP256K1_BUILD_TESTS OR SECP256K1_BUILD_EXHAUSTIVE_TESTS OR SECP256K1_BUILD_CTIME_TESTS OR SECP256K1_BUILD_EXAMPLES)
enable_testing()
endif()
set(SECP256K1_APPEND_CFLAGS "" CACHE STRING "Compiler flags that are appended to the command line after all other flags added by the build system. This variable is intended for debugging and special builds.") set(SECP256K1_APPEND_CFLAGS "" CACHE STRING "Compiler flags that are appended to the command line after all other flags added by the build system. This variable is intended for debugging and special builds.")
if(SECP256K1_APPEND_CFLAGS) if(SECP256K1_APPEND_CFLAGS)
# Appending to this low-level rule variable is the only way to # Appending to this low-level rule variable is the only way to