This commit is contained in:
Valeria Fadeeva 2024-11-20 23:28:49 +05:00
parent 510d9faabc
commit efb4401dd3
1 changed files with 24 additions and 18 deletions

View File

@ -37,6 +37,7 @@
# - SCHEMA_TESTING (requires Python, see ci/configvalidator.py) # - SCHEMA_TESTING (requires Python, see ci/configvalidator.py)
# - TESTING (standard CMake option) # - TESTING (standard CMake option)
# DEBUG_<foo> : special developer flags for debugging. # DEBUG_<foo> : special developer flags for debugging.
# PYTHONLIBS_VERSION : if set on the command-line, use a specific Python version
# #
# Example usage: # Example usage:
# #
@ -47,7 +48,7 @@
cmake_minimum_required(VERSION 3.16 FATAL_ERROR) cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
set(CALAMARES_VERSION 3.3.9) set(CALAMARES_VERSION 3.3.12)
set(CALAMARES_RELEASE_MODE ON) # Set to ON during a release set(CALAMARES_RELEASE_MODE ON) # Set to ON during a release
if(CMAKE_SCRIPT_MODE_FILE) if(CMAKE_SCRIPT_MODE_FILE)
@ -101,6 +102,14 @@ option(BUILD_CRASH_REPORTING "Enable crash reporting with KCrash." ON)
# - DEBUG_PARTITION_UNSAFE (see partition/CMakeLists.txt) # - DEBUG_PARTITION_UNSAFE (see partition/CMakeLists.txt)
# - DEBUG_PARTITION_BAIL_OUT (see partition/CMakeLists.txt) # - DEBUG_PARTITION_BAIL_OUT (see partition/CMakeLists.txt)
# Special handling for Python versions:
# - If you set PYTHONLIBS_VERSION on the command-line, then
# that **exact** version will be searched for, and no other.
# - If you do not set PYTHONLIBS_VERSION on the command-line,
# any suitable version will be found -- but this can fail if
# you have multiple Python versions installed, only some of
# which include the development headers.
### USE_* ### USE_*
# #
# By convention, when there are multiple modules that implement similar # By convention, when there are multiple modules that implement similar
@ -175,9 +184,9 @@ set( _tx_incomplete bqi es_PR gu ie ja-Hira kk kn lo lv mk ne_NP
# ci/abicheck.sh). # ci/abicheck.sh).
if(NOT WITH_QT6) if(NOT WITH_QT6)
find_package(Qt5Core QUIET) find_package(Qt5Core QUIET)
if (NOT TARGET Qt5::Core) if(NOT TARGET Qt5::Core)
find_package(Qt6Core QUIET) find_package(Qt6Core QUIET)
if (TARGET Qt6::Core) if(TARGET Qt6::Core)
message(STATUS "Default Qt version (Qt5) not found, upgrading build to Qt6") message(STATUS "Default Qt version (Qt5) not found, upgrading build to Qt6")
set(WITH_QT6 ON) set(WITH_QT6 ON)
endif() endif()
@ -208,7 +217,12 @@ else()
endif() endif()
set(BOOSTPYTHON_VERSION 1.72.0) set(BOOSTPYTHON_VERSION 1.72.0)
set(PYTHONLIBS_VERSION 3.6) if(DEFINED PYTHONLIBS_VERSION)
set(PYTHONLIBS_EXTRA "EXACT")
else()
set(PYTHONLIBS_VERSION 3.6)
set(PYTHONLIBS_EXTRA "")
endif()
set(YAMLCPP_VERSION 0.5.1) set(YAMLCPP_VERSION 0.5.1)
### CMAKE SETUP ### CMAKE SETUP
@ -216,23 +230,15 @@ set(YAMLCPP_VERSION 0.5.1)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules") set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules")
# Enable IN_LIST # Enable IN_LIST
if(POLICY CMP0057) cmake_policy(SET CMP0057 NEW)
cmake_policy(SET CMP0057 NEW)
endif()
# Let ``AUTOMOC`` and ``AUTOUIC`` process ``GENERATED`` files. # Let ``AUTOMOC`` and ``AUTOUIC`` process ``GENERATED`` files.
if(POLICY CMP0071) cmake_policy(SET CMP0071 NEW)
cmake_policy(SET CMP0071 NEW)
endif()
# Recognize more macros to trigger automoc # Recognize more macros to trigger automoc
if(NOT CMAKE_VERSION VERSION_LESS "3.10.0") list(APPEND CMAKE_AUTOMOC_MACRO_NAMES
list(
APPEND
CMAKE_AUTOMOC_MACRO_NAMES
"K_PLUGIN_FACTORY_WITH_JSON" "K_PLUGIN_FACTORY_WITH_JSON"
"K_EXPORT_PLASMA_DATAENGINE_WITH_JSON" "K_EXPORT_PLASMA_DATAENGINE_WITH_JSON"
"K_EXPORT_PLASMA_RUNNER" "K_EXPORT_PLASMA_RUNNER"
) )
endif()
# CMake Modules # CMake Modules
include(CMakePackageConfigHelpers) include(CMakePackageConfigHelpers)
@ -420,7 +426,7 @@ if(NOT TARGET ${kfname}::Crash)
set(BUILD_CRASH_REPORTING OFF) set(BUILD_CRASH_REPORTING OFF)
endif() endif()
find_package(Python ${PYTHONLIBS_VERSION} COMPONENTS Interpreter Development) find_package(Python ${PYTHONLIBS_VERSION} ${PYTHONLIBS_EXTRA} COMPONENTS Interpreter Development)
set_package_properties( set_package_properties(
Python Python
PROPERTIES PROPERTIES
@ -726,7 +732,7 @@ add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_D
# The module support files -- .desc files, .conf files -- are copied into the build # The module support files -- .desc files, .conf files -- are copied into the build
# directory so that it is possible to run `calamares -d` from there. Copy the # directory so that it is possible to run `calamares -d` from there. Copy the
# top-level settings.conf as well, into the build directory. # top-level settings.conf as well, into the build directory.
if( settings.conf IS_NEWER_THAN ${CMAKE_BINARY_DIR}/settings.conf ) if(settings.conf IS_NEWER_THAN ${CMAKE_BINARY_DIR}/settings.conf)
configure_file(settings.conf ${CMAKE_BINARY_DIR}/settings.conf COPYONLY) configure_file(settings.conf ${CMAKE_BINARY_DIR}/settings.conf COPYONLY)
endif() endif()