diff options
author | Eike Ziller <[email protected]> | 2022-01-28 08:59:14 +0100 |
---|---|---|
committer | Eike Ziller <[email protected]> | 2022-02-02 08:55:31 +0000 |
commit | 1221552377a5fa63d2f5f4364397ebbcec7a27cf (patch) | |
tree | 8e8aa9b9c7f4952b1ed7634cb1e4e953d16d204f | |
parent | 275dcc8f8aae242c2260454543cbaa51508dae0c (diff) |
Require CMake 3.16 and remove workarounds
CMake 3.16 is available on the major Linux distributions nowadays,
so we can get rid of some workarounds.
Change-Id: I32500375748f33c3e40fbd7a08824d823f817a8f
Reviewed-by: Cristian Adam <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
-rw-r--r-- | CMakeLists.txt | 15 | ||||
-rw-r--r-- | cmake/QtCreatorAPI.cmake | 25 | ||||
-rw-r--r-- | cmake/QtCreatorAPIInternal.cmake | 35 | ||||
-rw-r--r-- | share/qtcreator/translations/CMakeLists.txt | 22 | ||||
-rw-r--r-- | src/libs/qtcreatorcdbext/CMakeLists.txt | 20 | ||||
-rw-r--r-- | src/tools/iostool/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/tools/sdktool/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/tools/wininterrupt/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/auto/debugger/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/manual/qml/testprojects/modulemapping/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/unit/CMakeLists.txt | 2 |
11 files changed, 29 insertions, 104 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index c226f78bdbb..c6f603c7981 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.16) ## Add paths to check for cmake modules: list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") @@ -138,15 +138,8 @@ endif() add_subdirectory(doc) -# TODO: Remove when cmake_minimum_required greater than 3.12 -if (CMAKE_VERSION VERSION_GREATER 3.12) - find_package(Python3 COMPONENTS Interpreter) - set(PYTHONINTERP_FOUND ${Python3_Interpreter_FOUND}) - set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) -else() - find_package(PythonInterp) -endif() -if (NOT PYTHONINTERP_FOUND) +find_package(Python3 COMPONENTS Interpreter) +if (NOT Python3_Interpreter_FOUND) message("No python interpreter found, skipping \"Dependencies\" install component.") else() get_target_property(_qmake_binary Qt5::qmake IMPORTED_LOCATION) @@ -161,7 +154,7 @@ else() endif() install(CODE " execute_process(COMMAND - \"${PYTHON_EXECUTABLE}\" + \"${Python3_EXECUTABLE}\" \"${CMAKE_CURRENT_LIST_DIR}/scripts/deployqt.py\" ${_llvm_arg} ${_elfutils_arg} diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 566f5883d46..194852d6b7f 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -155,20 +155,6 @@ function(add_qtc_library name) return() endif() - # TODO copied from extend_qtc_target. - # Instead require CMake 3.11 and use extend_qtc_target for setting SOURCES. - # Requiring cmake 3.11 is necessary because before that add_library requires - # at least one source file. - if (_arg_SOURCES_PREFIX) - foreach(source IN LISTS _arg_SOURCES) - list(APPEND prefixed_sources "${_arg_SOURCES_PREFIX}/${source}") - endforeach() - if (NOT IS_ABSOLUTE ${_arg_SOURCES_PREFIX}) - set(_arg_SOURCES_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_SOURCES_PREFIX}") - endif() - set(_arg_SOURCES ${prefixed_sources}) - endif() - set(library_type SHARED) if (_arg_STATIC) set(library_type STATIC) @@ -177,16 +163,9 @@ function(add_qtc_library name) set(library_type OBJECT) endif() - add_library(${name} ${library_type} ${_arg_SOURCES}) + add_library(${name} ${library_type}) add_library(QtCreator::${name} ALIAS ${name}) - set_public_headers(${name} "${_arg_SOURCES}") - - # TODO remove, see above - if (_arg_SOURCES_PREFIX) - target_include_directories(${name} PRIVATE $<BUILD_INTERFACE:${_arg_SOURCES_PREFIX}>) - endif() - if (${name} MATCHES "^[^0-9-]+$") string(TOUPPER "${name}_LIBRARY" EXPORT_SYMBOL) endif() @@ -201,6 +180,8 @@ function(add_qtc_library name) endif() extend_qtc_target(${name} + SOURCES_PREFIX ${_arg_SOURCES_PREFIX} + SOURCES ${_arg_SOURCES} INCLUDES ${_arg_INCLUDES} PUBLIC_INCLUDES ${_arg_PUBLIC_INCLUDES} DEFINES ${EXPORT_SYMBOL} ${default_defines_copy} ${_arg_DEFINES} ${TEST_DEFINES} diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake index 7c16d1dd2eb..86fe1c0d939 100644 --- a/cmake/QtCreatorAPIInternal.cmake +++ b/cmake/QtCreatorAPIInternal.cmake @@ -1,5 +1,5 @@ if (CMAKE_VERSION VERSION_LESS 3.18) - if (CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_VERSION VERSION_LESS 3.16) + if (CMAKE_CXX_COMPILER_ID STREQUAL GNU) set(BUILD_WITH_PCH OFF CACHE BOOL "" FORCE) endif() endif() @@ -183,31 +183,6 @@ function(update_cached_list name value) set("${name}" "${_tmp_list}" CACHE INTERNAL "*** Internal ***") endfunction() -function(separate_object_libraries libraries REGULAR_LIBS OBJECT_LIBS OBJECT_LIB_OBJECTS) - if (CMAKE_VERSION VERSION_LESS 3.14) - foreach(lib IN LISTS libraries) - if (TARGET ${lib}) - get_target_property(lib_type ${lib} TYPE) - if (lib_type STREQUAL "OBJECT_LIBRARY") - list(APPEND object_libs ${lib}) - list(APPEND object_libs_objects $<TARGET_OBJECTS:${lib}>) - else() - list(APPEND regular_libs ${lib}) - endif() - else() - list(APPEND regular_libs ${lib}) - endif() - set(${REGULAR_LIBS} ${regular_libs} PARENT_SCOPE) - set(${OBJECT_LIBS} ${object_libs} PARENT_SCOPE) - set(${OBJECT_LIB_OBJECTS} ${object_libs_objects} PARENT_SCOPE) - endforeach() - else() - set(${REGULAR_LIBS} ${libraries} PARENT_SCOPE) - unset(${OBJECT_LIBS} PARENT_SCOPE) - unset(${OBJECT_LIB_OBJECTS} PARENT_SCOPE) - endif() -endfunction(separate_object_libraries) - function(set_explicit_moc target_name file) unset(file_dependencies) if (file MATCHES "^.*plugin.h$") @@ -293,12 +268,8 @@ function(add_qtc_depends target_name) check_qtc_disabled_targets(${target_name} _arg_PRIVATE) check_qtc_disabled_targets(${target_name} _arg_PUBLIC) - separate_object_libraries("${_arg_PRIVATE}" - depends object_lib_depends object_lib_depends_objects) - separate_object_libraries("${_arg_PUBLIC}" - public_depends object_public_depends object_public_depends_objects) - - target_sources(${target_name} PRIVATE ${object_lib_depends_objects} ${object_public_depends_objects}) + set(depends "${_arg_PRIVATE}") + set(public_depends "${_arg_PUBLIC}") get_target_property(target_type ${target_name} TYPE) if (NOT target_type STREQUAL "OBJECT_LIBRARY") diff --git a/share/qtcreator/translations/CMakeLists.txt b/share/qtcreator/translations/CMakeLists.txt index 648f885b771..f32138e7791 100644 --- a/share/qtcreator/translations/CMakeLists.txt +++ b/share/qtcreator/translations/CMakeLists.txt @@ -1,27 +1,19 @@ set(languages cs da de fr hr ja pl ru sl uk zh_CN zh_TW) set(bad_languages hu) # Fix these before including them in languages! -# TODO: Remove when cmake_minimum_required greater than 3.12 -if (CMAKE_VERSION VERSION_GREATER 3.12) - find_package(Python3 COMPONENTS Interpreter) - set(PYTHONINTERP_FOUND ${Python3_Interpreter_FOUND}) - set(PYTHON_VERSION_STRING ${Python3_VERSION}) - set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) -else() - find_package(PythonInterp) -endif() +find_package(Python3 COMPONENTS Interpreter) set(json_wizards_h "") set(custom_wizards_h "") set(externaltools_h "") set(snippets_h "") -if (NOT PYTHONINTERP_FOUND OR NOT PYTHON_VERSION_STRING VERSION_GREATER_EQUAL "3.0.0") - message(WARNING "No python3 interpreter found, skipping extraction of data from XML and JSON files.\n *** Please pass -DPYTHON_EXECUTABLE=/path/to/python3 to cmake.") +if (NOT Python3_Interpreter_FOUND) + message(WARNING "No python3 interpreter found, skipping extraction of data from XML and JSON files.\n *** Please pass -DPython3_EXECUTABLE=/path/to/python3 to cmake.") else() set(json_wizards_h "${CMAKE_CURRENT_BINARY_DIR}/jsonwizards_tr.h") add_custom_command(OUTPUT "${json_wizards_h}" - COMMAND "${PYTHON_EXECUTABLE}" + COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/extract-jsonwizards.py" "${PROJECT_SOURCE_DIR}/share/qtcreator/templates/wizards" "${json_wizards_h}" COMMENT Generate translation data from JSON wizards @@ -29,7 +21,7 @@ else() set(custom_wizards_h "${CMAKE_CURRENT_BINARY_DIR}/customwizards_tr.h") add_custom_command(OUTPUT "${custom_wizards_h}" - COMMAND "${PYTHON_EXECUTABLE}" + COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/extract-customwizards.py" "${PROJECT_SOURCE_DIR}/share/qtcreator/templates/wizards" "${custom_wizards_h}" COMMENT Generate translation data from XML wizards @@ -37,7 +29,7 @@ else() set(externaltools_h "${CMAKE_CURRENT_BINARY_DIR}/externaltools_tr.h") add_custom_command(OUTPUT "${externaltools_h}" - COMMAND "${PYTHON_EXECUTABLE}" + COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/extract-externaltools.py" "${PROJECT_SOURCE_DIR}/src/share/qtcreator/externaltools" "${externaltools_h}" COMMENT Generate translation data from external tools definitions @@ -45,7 +37,7 @@ else() set(snippets_h "${CMAKE_CURRENT_BINARY_DIR}/snippets_tr.h") add_custom_command(OUTPUT "${snippets_h}" - COMMAND "${PYTHON_EXECUTABLE}" + COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/extract-snippets.py" "${PROJECT_SOURCE_DIR}/share/qtcreator/snippets" "${snippets_h}" COMMENT Generate translation data from snippets definitions diff --git a/src/libs/qtcreatorcdbext/CMakeLists.txt b/src/libs/qtcreatorcdbext/CMakeLists.txt index 5b03103bc88..3797afd1cf2 100644 --- a/src/libs/qtcreatorcdbext/CMakeLists.txt +++ b/src/libs/qtcreatorcdbext/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.16) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake") @@ -60,17 +60,9 @@ add_qtc_library(qtcreatorcdbext qtc_library_enabled(_library_enabled qtcreatorcdbext) if (_library_enabled) - # TODO: Remove when cmake_minimum_required greater than 3.12 - if (CMAKE_VERSION VERSION_GREATER 3.12) - find_package(Python3 3.8 COMPONENTS Development) - set(PYTHONLIBS_FOUND ${Python3_Development_FOUND}) - set(PYTHON_LIBRARIES ${Python3_LIBRARIES}) - set(PYTHON_INCLUDE_DIR ${Python3_INCLUDE_DIRS}) - else() - find_package(PythonLibs 3.8) - endif() + find_package(Python3 3.8 COMPONENTS Development) - if (NOT ${PYTHONLIBS_FOUND}) + if (NOT ${Python3_Development_FOUND}) message(WARNING "PythonLibs (at least version 3.8) not found. qtcreatorcdbext will be built without Python support.") return() endif() @@ -80,7 +72,7 @@ if (_library_enabled) set(PythonRegex "^(.*)/(.*)/(python([0-9]+)_d)${CMAKE_IMPORT_LIBRARY_SUFFIX}$") endif() - foreach(lib IN LISTS PYTHON_LIBRARIES) + foreach(lib IN LISTS Python3_LIBRARIES) if (lib MATCHES ${PythonRegex}) if (CMAKE_BUILD_TYPE STREQUAL "Debug") set(PythonZipFileName "python${CMAKE_MATCH_4}_d.zip") @@ -105,8 +97,8 @@ if (_library_enabled) endif() extend_qtc_library(qtcreatorcdbext - DEPENDS "${PYTHON_LIBRARIES}" - INCLUDES "${PYTHON_INCLUDE_DIR}" + DEPENDS "${Python3_LIBRARIES}" + INCLUDES "${Python3_INCLUDE_DIRS}" DEFINES WITH_PYTHON=1 SOURCES pycdbextmodule.cpp pycdbextmodule.h diff --git a/src/tools/iostool/CMakeLists.txt b/src/tools/iostool/CMakeLists.txt index 230f5b91f43..e02bf7463d4 100644 --- a/src/tools/iostool/CMakeLists.txt +++ b/src/tools/iostool/CMakeLists.txt @@ -21,9 +21,5 @@ add_qtc_executable(iostool ) if (TARGET iostool) - if (CMAKE_VERSION VERSION_LESS 3.13) - target_link_libraries(iostool PRIVATE "-Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/Info.plist") - else() - target_link_options(iostool PRIVATE "-Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/Info.plist") - endif() + target_link_options(iostool PRIVATE "-Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/Info.plist") endif() diff --git a/src/tools/sdktool/CMakeLists.txt b/src/tools/sdktool/CMakeLists.txt index 486ec21d071..7726969b307 100644 --- a/src/tools/sdktool/CMakeLists.txt +++ b/src/tools/sdktool/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.16) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake") diff --git a/src/tools/wininterrupt/CMakeLists.txt b/src/tools/wininterrupt/CMakeLists.txt index b16e2e1e65b..4a41fa7b08f 100644 --- a/src/tools/wininterrupt/CMakeLists.txt +++ b/src/tools/wininterrupt/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.16) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake") diff --git a/tests/auto/debugger/CMakeLists.txt b/tests/auto/debugger/CMakeLists.txt index bde1800a637..5ab4c63f244 100644 --- a/tests/auto/debugger/CMakeLists.txt +++ b/tests/auto/debugger/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.16) if (NOT QT_CREATOR_API_DEFINED) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake") diff --git a/tests/manual/qml/testprojects/modulemapping/CMakeLists.txt b/tests/manual/qml/testprojects/modulemapping/CMakeLists.txt index a138dd3f98a..4160cc976c3 100644 --- a/tests/manual/qml/testprojects/modulemapping/CMakeLists.txt +++ b/tests/manual/qml/testprojects/modulemapping/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.16) project(test_project) add_executable(test_exe test.cc test.qml) diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index f6712030bdb..815b20fa182 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.16) if (NOT QT_CREATOR_API_DEFINED) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake") |