Recommended update for cmake3

Announcement ID: SUSE-RU-2024:2311-1
Rating: moderate
References:
Affected Products:
  • openSUSE Leap 15.5
  • openSUSE Leap 15.6
  • SUSE Linux Enterprise Desktop 15 SP5
  • SUSE Linux Enterprise Desktop 15 SP6
  • SUSE Linux Enterprise High Performance Computing 15 SP5
  • SUSE Linux Enterprise Micro 5.5
  • SUSE Linux Enterprise Real Time 15 SP5
  • SUSE Linux Enterprise Real Time 15 SP6
  • SUSE Linux Enterprise Server 15 SP5
  • SUSE Linux Enterprise Server 15 SP6
  • SUSE Linux Enterprise Server for SAP Applications 15 SP5
  • SUSE Linux Enterprise Server for SAP Applications 15 SP6
  • SUSE Package Hub 15 15-SP5
  • SUSE Package Hub 15 15-SP6

An update that has five fixes can now be installed.

Description:

This update for cmake3 fixes the following issues:

  • Needed for Firefox 128 (bsc#1226316) (Dependency chain: cmake3 -> Rust1.78 -> Firefox)

  • Update to 3.20.0

  • The “cmake_path()” command was added for operations on filesystem paths.

  • The “target_sources()” command now supports targets created by the “add_custom_target()” command.
  • The “ExternalProject” module “ExternalProject_Add()” function gained a “CONFIGURE_HANDLED_BY_BUILD” option.
  • “ctest(1)” gained a “–test-dir” option to specify the directory in which to look for tests.

  • update to 3.19.7:

  • With :ref:Visual Studio Generators for VS 2017 and higher, the :variable:CMAKE_GENERATOR_TOOLSET field version= now accepts three-component MSVC toolset versions such as 14.28.29910. See the :variable:CMAKE_VS_PLATFORM_TOOLSET_VERSION variable.

  • cmake 3.19.6:

  • The cmake-presets(7) feature no longer allows comments in CMakePresets.json or CMakeUserPresets.json files. This was mistakenly allowed by the implementation in 3.19.0 to 3.19.5

  • Update to CMake 3.19.5

  • FindBoost: Add support for Boost 1.75

  • FindCUDAToolkit: Restore use of CUDA_PATH environment variable

  • cmake 3.19.4:

  • fixes for other platforms

  • cmake 3.19.3:

  • FetchContent: Relative SOURCE_DIR override cannot be a hard error

  • FindMPI: remove single quotes from include path
  • FindHDF5: Fix finding both debug and release libs
  • cmake-gui: Restore linking of Qt resources
  • cmMakefile: Don't expand bracket arguments in --trace-expand

  • update to 3.19.2:

  • various Apple-Silicon support fixes

  • The CMAKE_ISPC_HEADER_SUFFIX variable and corresponding ISPC_HEADER_SUFFIX target property were added to control the header suffix used by ISPC compiler generated headers.

  • cmake 3.19.1:

  • avoid breaking projects relying on using the LANGUAGE property to cause the specified language's compiler to be used

  • CUDA 11.1 support for Clang.

  • cmake 3.19.0:

  • cmake(1) and cmake-gui(1) now recognize CMakePresets.json and CMakeUserPresets.json files

  • support for ISPC
  • exctend CUDA language support for Clang
  • extend cmake-file-ap "codemodel"
  • cli --install supports --default-directory-permissions
  • cli supports creating hardlinks
  • CMake GUI now has an environment variable editor
  • Multiple cmake commands support new options and subcommands
  • Multiple variables added or functionalities extended
  • Multiple new modules and added functionality to existing modules
  • Compatibility with versions of CMake older than 2.8.12 is now deprecated and will be removed from a future version. Calls to cmake_minimum_required() or cmake_policy() that set the policy version to an older value now issue a deprecation diagnostic.
  • cmake-gui now requires Qt5

  • cmake 3.18.4:

  • no upstream changelog

  • update to 3.18.3:

  • The Compile Features functionality was updated for MSVC 19.28

  • reapply this change (bsc#1174581):

  • Fix setting CMAKE_INSTALL_LIBDIR in cmake macro
  • This is a relative path, see cmake --help-module GNUInstallDirs see also https://gitlab.kitware.com/cmake/cmake/-/issues/20250 https://github.com/arvidn/libtorrent/issues/5125#issuecomment-691559244

  • update to 3.18.2:

  • The default value of :variable:CMAKE_AUTOMOC_PATH_PREFIX was changed to OFF because this feature can break existing projects that have identically named header files in different include directories. This restores compatibility with behavior of CMake 3.15 and below.

  • The :manual:Compile Features <cmake-compile-features(7)> functionality was updated for MSVC 19.27 as mentioned above.

  • cmake 3.18.1:

  • Revert undocumented fix in 3.18.0 in the add_test() command for special characters to avoid breaking existing projects that worked around the issue. Will be reintroduced later

  • update to cmake 3.18.0

  • The “CUDA” language can now be compiled using Clang on non-Windows platforms.

  • “cmake(1)” gained support for profiling of CMake scripts
  • The “cmake_language()” command was added for meta-operations on scripted or built-in commands, starting with a mode to “CALL” other commands, and “EVAL CODE” to inplace evaluate a CMake script.
  • The “find_program()”, “find_library()”, “find_path()” and “find_file()” commands gained a new “REQUIRED” option that will stop processing with an error message if nothing is found.
  • The “CheckLinkerFlag” module has been added to provide a facility to check validity of link flags.
  • “ccmake(1)” learned to read a “CCMAKE_COLORS” environment variable to customize colors.

  • DCMAKE_MODULES_INSTALL_DIR should be %{_libdir}/cmake/%{name}

  • Set CMAKE_INSTALL_LIBEXECDIR=%{_libexecdir}
  • Use -DCMAKE_SKIP_INSTALL_RPATHS:BOOL=ON instead of completely removing rpaths. bsc#1172331

  • cmake 3.17.3:

  • Selection of the Objective C or C++ compiler now considers the CC or CXX environment variable if the OBJC or OBJCXX environment variable is not set

  • The FindPkgConfig module now extracts include directories prefixed with -isystem into the *_INCLUDE_DIRS variables and INTERFACE_INCLUDE_DIRECTORIES target properties
  • FindOpenSSL: Detect OpenSSL 3.0.0 (bsc#1172267)

  • cmake 3.17.2:

  • fixes dealing with boost 1.73

  • cmake 3.17.1:

  • The :cpack_gen:CPack NSIS Generator now requires NSIS 3.0 or later

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • openSUSE Leap 15.5
    zypper in -t patch openSUSE-SLE-15.5-2024-2311=1
  • openSUSE Leap 15.6
    zypper in -t patch openSUSE-SLE-15.6-2024-2311=1
  • SUSE Package Hub 15 15-SP5
    zypper in -t patch SUSE-SLE-Module-Packagehub-Subpackages-15-SP5-2024-2311=1
  • SUSE Package Hub 15 15-SP6
    zypper in -t patch SUSE-SLE-Module-Packagehub-Subpackages-15-SP6-2024-2311=1

Package List:

  • openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64)
    • cmake3-3.20.0-150200.6.3.1
    • cmake3-full-debuginfo-3.20.0-150200.6.3.1
    • rust-cbindgen-0.26.0+git0-150200.6.3.1
    • cmake3-full-3.20.0-150200.6.3.1
    • cmake3-full-debugsource-3.20.0-150200.6.3.1
  • openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64)
    • cmake3-3.20.0-150200.6.3.1
    • cmake3-full-debuginfo-3.20.0-150200.6.3.1
    • rust-cbindgen-0.26.0+git0-150200.6.3.1
    • cmake3-full-3.20.0-150200.6.3.1
    • cmake3-full-debugsource-3.20.0-150200.6.3.1
  • SUSE Package Hub 15 15-SP5 (aarch64 ppc64le s390x x86_64)
    • rust-cbindgen-0.26.0+git0-150200.6.3.1
  • SUSE Package Hub 15 15-SP6 (aarch64 ppc64le s390x x86_64)
    • rust-cbindgen-0.26.0+git0-150200.6.3.1

References: