aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt43
1 files changed, 8 insertions, 35 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 926cd34165..f76ce0a151 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9)
+cmake_minimum_required(VERSION 3.10)
## Add paths to check for cmake modules:
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
@@ -6,6 +6,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(FeatureSummary)
include(QtCreatorIDEBranding)
include(QtCreatorTranslations)
+include(QtCreatorDocumentation)
set(IDE_REVISION FALSE CACHE BOOL "Marks the presence of IDE revision string.")
set(IDE_REVISION_STR "" CACHE STRING "The IDE revision string.")
@@ -21,6 +22,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
option(WITH_TESTS "Build Tests" OFF)
+add_feature_info("Build tests" ${WITH_TESTS} "")
option(WITH_DEBUG_CMAKE "Enabled CMake project debugging functionality (e.g. source file disk checking)" OFF)
option(BUILD_WITH_PCH "Build with precompiled headers" ON)
@@ -46,40 +48,6 @@ find_package(Qt5 COMPONENTS LinguistTools)
find_package(Threads)
-# Get information on directories from qmake
-# as this is not yet exported by cmake.
-function(qt5_query_qmake)
- if (NOT TARGET Qt5::qmake)
- message(FATAL_ERROR "Qmake was not found.")
- endif()
-
- get_target_property(_qmake_binary Qt5::qmake IMPORTED_LOCATION)
- execute_process(COMMAND "${_qmake_binary}" "-query"
- TIMEOUT 10
- RESULT_VARIABLE _qmake_result
- OUTPUT_VARIABLE _qmake_stdout
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
- if (NOT "${_qmake_result}" STREQUAL "0")
- message(FATAL_ERROR "Qmake did not execute successfully: ${_qmake_result}.")
- endif()
-
- # split into lines:
- string(REPLACE "\n" ";" _lines "${_qmake_stdout}")
-
- foreach(_line ${_lines})
- # split line into key/value pairs
- string(REPLACE ":" ";" _parts "${_line}")
- list(GET _parts 0 _key)
- list(REMOVE_AT _parts 0)
- string(REPLACE ";" ":" _value "${_parts}")
-
- set("${_key}" "${_value}" CACHE PATH "qmake import of ${_key}" FORCE)
- endforeach()
-endfunction()
-
-qt5_query_qmake()
-
find_package(Qt5 COMPONENTS Designer Help Script SerialPort Svg QUIET)
function (set_if_target var target)
if (TARGET "${target}")
@@ -93,6 +61,11 @@ endfunction()
set_if_target(_has_svg_target Qt5::Svg)
option(ENABLE_SVG_SUPPORT "Enable SVG support" "${_has_svg_target}")
+# specify standards conformance mode to MSVC 2017 and later
+if (MSVC AND MSVC_VERSION GREATER_EQUAL 1910)
+ add_compile_options(/permissive-)
+endif()
+
add_library(OptionalSvg INTERFACE)
if (TARGET Qt5::Svg AND ENABLE_SVG_SUPPORT)
target_link_libraries(OptionalSvg INTERFACE Qt5::Svg)