From 1452800af55e44c9ab503918466cfc8349adf8a1 Mon Sep 17 00:00:00 2001 From: greshilov Date: Mon, 13 Nov 2017 17:05:42 +0300 Subject: [PATCH] Qt version check added, and some styling remarks fixed UPATE: Build designer option block moved down UPDATE 2: Build type block moved up, right after platform block --- CMakeLists.txt | 52 ++++++++++++++++++++++++++--------------------- qt/CMakeLists.txt | 6 +++--- 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2174c993d0..7d3acdd3a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,15 +4,6 @@ project(omim C CXX) set(CMAKE_CXX_STANDARD 11) -# Options -option(BUILD_DESIGNER "Build application as design tool" OFF) -if (BUILD_DESIGNER) - message("Designer tool building is enabled") - add_definitions(-DBUILD_DESIGNER) -else() - message("Designer tool building is disabled") -endif() - # Set target platform: function(omim_set_platform_var PLATFORM_VAR pattern) set(${PLATFORM_VAR} FALSE PARENT_SCOPE) @@ -58,7 +49,29 @@ else() endif() # End of setting the target platform +# Set build type: +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Release") +endif() + +if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + add_definitions(-DDEBUG) +elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") + add_definitions(-DRELEASE) +else() + message(FATAL_ERROR "Unknown build type: " ${CMAKE_BUILD_TYPE}) +endif() + +message("Build type: " ${CMAKE_BUILD_TYPE}) +# End of setting build type + # Options +option(BUILD_DESIGNER "Build application as design tool" OFF) +if (BUILD_DESIGNER) + message("Designer tool building is enabled") + add_definitions(-DBUILD_DESIGNER) +endif() + option(USE_ASAN "Enable Address Sanitizer" OFF) option(USE_TSAN "Enable Thread Sanitizer" OFF) option(PYBINDINGS "Create makefiles for building python bindings" OFF) @@ -76,6 +89,10 @@ if (USE_TSAN) message("Thread Sanitizer is enabled") endif() +if (USE_ASAN AND USE_TSAN) + message(FATAL_ERROR "Can't use two different sanitizers together") +endif() + if (USE_PPROF) message("Google Profiler is enabled") add_definitions(-DUSE_PPROF) @@ -93,20 +110,6 @@ else() set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/usr/local/opt/qt5") endif() -if (NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "Release") -endif() - -if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") - add_definitions(-DDEBUG) -elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") - add_definitions(-DRELEASE) -else() - message(FATAL_ERROR "Unknown build type: " ${CMAKE_BUILD_TYPE}) -endif() - -message("Build type: " ${CMAKE_BUILD_TYPE}) - if (NOT SKIP_TESTS) set(SKIP_TESTS FALSE) endif() @@ -171,6 +174,9 @@ if (NOT PLATFORM_IPHONE AND NOT PLATFORM_ANDROID) if (NOT Qt5Core_FOUND) message(FATAL_ERROR "Qt5 cmake files were not found, please set QT_PATH environment variable") endif() + if (Qt5Core_VERSION VERSION_LESS 5.5.0) + message(FATAL_ERROR "Minimum supported Qt5 version is 5.5") + endif() find_package(Qt5Network REQUIRED) if (NOT SKIP_DESKTOP) find_qt5_desktop_package(Qt5Gui) diff --git a/qt/CMakeLists.txt b/qt/CMakeLists.txt index b9d85e42b1..ec503e62e9 100644 --- a/qt/CMakeLists.txt +++ b/qt/CMakeLists.txt @@ -206,7 +206,7 @@ if (PLATFORM_MAC) ) endif() -function(omim_append_builded_tools) +function(omim_append_built_tools) foreach(tool ${ARGN}) add_custom_command( TARGET desktop @@ -242,13 +242,13 @@ if (BUILD_DESIGNER) resources-6plus_design ) - omim_append_builded_tools( + omim_append_built_tools( generator_tool skin_generator_tool ) if (NOT SKIP_TESTS) - omim_append_builded_tools(style_tests) + omim_append_built_tools(style_tests) endif() execute_process(