forked from qt-creator/qt-creator
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 <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -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)
|
||||
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}
|
||||
|
@@ -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}
|
||||
|
@@ -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")
|
||||
|
@@ -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()
|
||||
|
||||
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
|
||||
|
@@ -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()
|
||||
|
||||
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
|
||||
|
@@ -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()
|
||||
endif()
|
||||
|
@@ -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")
|
||||
|
||||
|
@@ -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")
|
||||
|
||||
|
@@ -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")
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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")
|
||||
|
Reference in New Issue
Block a user