diff options
author | Timofey <t.danshin@corp.mail.ru> | 2016-09-13 19:51:58 +0300 |
---|---|---|
committer | Timofey <t.danshin@corp.mail.ru> | 2016-09-28 18:58:24 +0300 |
commit | ff855ad4133539dcc8a05e18fa0c0b318c65fb58 (patch) | |
tree | bfbb8f0f41cb217cd61f11f50f5bfbd1361425ca /CMakeLists.txt | |
parent | 2143577410e715b5867addfb97bb0fdc2c18b170 (diff) |
Working on platform.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 86 |
1 files changed, 78 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d22bcd2013..5957922f05 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,24 +2,42 @@ cmake_minimum_required(VERSION 3.2) project(omim C CXX) -add_subdirectory(3party/minizip) -add_subdirectory(3party/succinct) -add_subdirectory(3party/tomcrypt) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +# Add third-party subdirectories -add_compile_options( - "-Wall" - "-std=c++11" -) + +# Find installed packages find_package(Threads) + +find_package(Qt5Core REQUIRED) +find_package(Qt5Network REQUIRED) +find_package(Qt5Gui REQUIRED) +find_package(Qt5Widgets REQUIRED) + +if (APPLE) + find_library(APL_SYSCON SystemConfiguration) +endif() + find_library(LIBZ NAMES z) if (LIBZ STREQUAL "LIBZ-NOTFOUND") message(FATAL_ERROR "Failed to find libz library.") endif() + get_filename_component(PROJECT_SOURCE_DIR . ABSOLUTE) -include_directories(${CMAKE_HOME_DIRECTORY} "${CMAKE_HOME_DIRECTORY}/3party/boost") +include_directories( + ${CMAKE_HOME_DIRECTORY} + ${Qt5Core_LIBRARIES} + ${Qt5Core_INCLUDE_DIRS} + ${Qt5Network_LIBRARIES} + ${Qt5Network_INCLUDE_DIRS} + "${CMAKE_HOME_DIRECTORY}/3party/boost" +) + +# Set environment variables set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}) set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}) @@ -36,6 +54,45 @@ if ("${NO_TESTS}" STREQUAL "") set(NO_TESTS FALSE) endif() +# End of setting environment variables + +# Set target platform: + +function(omim_set_platform_var PLATFORM_VAR pattern) + set(${PLATFORM_VAR} FALSE PARENT_SCOPE) + + if ("${PLATFORM}" STREQUAL "") + if (${ARGN}) + list(GET ARGN 0 default_case) + if (${default_case}) + set(${PLATFORM_VAR} TRUE PARENT_SCOPE) + message("Setting ${PLATFORM_VAR} to true") + endif() + endif() + else() + message("Platform: ${PLATFORM}") + if (${PLATFORM} MATCHES ${pattern}) + set(${PLATFORM_VAR} TRUE PARENT_SCOPE) + endif() + endif() +endfunction() + +omim_set_platform_var(PL_IPHONE "iphone-.*") +omim_set_platform_var(PL_ANDROID "android-.*") +omim_set_platform_var(PL_MAC "macx-.*" ${APPLE}) +omim_set_platform_var(PL_WIN "win32-.*" ${WIN32}) + +if (${UNIX} AND (NOT ${PL_MAC})) + set(LINUX_DETECTED TRUE) +else() + set(LINUX_DETECTED FALSE) +endif() + +omim_set_platform_var(PL_LINUX "linux-.*" ${LINUX_DETECTED}) + +# End of setting the target platform + +# Functions for using in subdirectories function(omim_add_library library) add_library(${library} ${ARGN}) @@ -62,9 +119,22 @@ function(omim_link_libraries target) endif() endfunction() +# End of functions for subdirectories + +# Include subdirectories +add_subdirectory(3party/minizip) +add_subdirectory(3party/succinct) +add_subdirectory(3party/tomcrypt) +add_subdirectory(3party/jansson) + +add_compile_options( + "-Wall" + "-std=c++11" +) add_subdirectory(base) add_subdirectory(coding) #add_subdirectory(editor) add_subdirectory(geometry) +add_subdirectory(platform) #add_subdirectory(storage) |