From aa3e4c1db52bc30cecb31482626518004e9d427f Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 6 Feb 2025 01:22:22 +0100 Subject: [PATCH] cmake: initialize variables where missing As detected using `cmake --warn-uninitialized`. It also lists: - variables inherited from `Makefile.inc`, which this PR does not fix. - a documented CMake global variable, which is unexpected: `CMAKE_MODULE_PATH`. I'd expect CMake to initialize its namespace. - envs: `CI`, `CURL_CI` and `CURL_BUILDINFO`. Unexpected, as the manual mentions variables only. As of August 2024, there is no solution to silence them: https://discourse.cmake.org/t/how-to-test-for-set-env-variables-without-getting-warnings/11401 https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-warn-uninitialized Closes #16198 --- CMake/Macros.cmake | 3 +++ CMakeLists.txt | 1 + lib/CMakeLists.txt | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/CMake/Macros.cmake b/CMake/Macros.cmake index ad0df18af8..8653f36b0a 100644 --- a/CMake/Macros.cmake +++ b/CMake/Macros.cmake @@ -34,11 +34,14 @@ macro(check_include_file_concat_curl _file _variable) endif() endmacro() +set(CURL_TEST_DEFINES "") # Initialize global variable + # For other curl specific tests, use this macro. # Return result in variable: CURL_TEST_OUTPUT macro(curl_internal_test _curl_test) if(NOT DEFINED "${_curl_test}") string(REPLACE ";" " " _cmake_required_definitions "${CMAKE_REQUIRED_DEFINITIONS}") + set(_curl_test_add_libraries "") if(CMAKE_REQUIRED_LIBRARIES) set(_curl_test_add_libraries "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e09bf0c7d..ce1318c6dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2469,6 +2469,7 @@ if(NOT CURL_DISABLE_INSTALL) endif() # Save build info for test runner to pick up and log +set(_cmake_sysroot "") if(CMAKE_OSX_SYSROOT) set(_cmake_sysroot ${CMAKE_OSX_SYSROOT}) elseif(CMAKE_SYSROOT) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index c1863b0de3..168fa20cf3 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -65,6 +65,13 @@ endif() ## Library definition +if(NOT DEFINED IMPORT_LIB_SUFFIX) + set(IMPORT_LIB_SUFFIX "") +endif() +if(NOT DEFINED STATIC_LIB_SUFFIX) + set(STATIC_LIB_SUFFIX "") +endif() + # Add "_imp" as a suffix before the extension to avoid conflicting with # the statically linked "libcurl.lib" (typically with MSVC) if(WIN32 AND -- 2.47.3