2015-12-10 05:06:13 +02:00
|
|
|
string(TIMESTAMP KATIE_DATE "%Y-%m-%d")
|
|
|
|
set(KATIE_MAJOR "4")
|
2016-02-11 16:06:57 +02:00
|
|
|
set(KATIE_MINOR "9")
|
|
|
|
set(KATIE_MICRO "0")
|
|
|
|
set(KATIE_HEX "0x040900")
|
2015-12-10 05:06:13 +02:00
|
|
|
set(KATIE_NAME "Katie")
|
|
|
|
set(KATIE_VERSION "${KATIE_MAJOR}.${KATIE_MINOR}.${KATIE_MICRO}")
|
2016-02-11 16:06:57 +02:00
|
|
|
set(KATIE_STRING "katie ${KATIE_MAJOR}.${KATIE_MINOR}.${KATIE_MICRO}")
|
2015-12-10 05:06:13 +02:00
|
|
|
set(KATIE_BUGREPORT "xakepa10@gmail.com")
|
2015-12-10 08:56:39 +02:00
|
|
|
set(KATIE_URL "http://github.com/fluxer/katie")
|
2015-12-10 05:06:13 +02:00
|
|
|
set(QT_LICENSE "Open Source")
|
2016-02-29 04:56:55 +02:00
|
|
|
set(QT_PRODUCT "AwesomeSauce") # it's not a bug, it's a feature!
|
2015-12-10 05:06:13 +02:00
|
|
|
|
2016-02-29 18:40:29 +02:00
|
|
|
# KatieConfig overrides that
|
|
|
|
if(NOT KATIE_MKSPECS_DIR)
|
|
|
|
set(KATIE_MKSPECS_DIR ${CMAKE_SOURCE_DIR}/mkspecs)
|
|
|
|
endif()
|
2015-12-10 05:06:13 +02:00
|
|
|
|
|
|
|
# TODO: more platforms/architectures support
|
|
|
|
include_directories(${KATIE_MKSPECS_DIR})
|
2016-02-29 04:56:55 +02:00
|
|
|
if(NOT KATIE_PLATFORM)
|
|
|
|
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
2015-12-24 07:43:32 +02:00
|
|
|
include_directories(${KATIE_MKSPECS_DIR}/linux)
|
|
|
|
set(KATIE_PLATFORM "linux")
|
2016-02-29 04:56:55 +02:00
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
2015-12-24 07:43:32 +02:00
|
|
|
include_directories(${KATIE_MKSPECS_DIR}/win32)
|
|
|
|
set(KATIE_PLATFORM "win32")
|
2016-02-29 04:56:55 +02:00
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
2015-12-24 07:43:32 +02:00
|
|
|
include_directories(${KATIE_MKSPECS_DIR}/mac)
|
|
|
|
set(KATIE_PLATFORM "mac")
|
2016-02-29 04:56:55 +02:00
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
2015-12-24 07:43:32 +02:00
|
|
|
include_directories(${KATIE_MKSPECS_DIR}/freebsd)
|
|
|
|
set(KATIE_PLATFORM "freebsd")
|
2016-02-29 04:56:55 +02:00
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
|
2015-12-24 07:43:32 +02:00
|
|
|
include_directories(${KATIE_MKSPECS_DIR}/openbsd)
|
|
|
|
set(KATIE_PLATFORM "openbsd")
|
|
|
|
else()
|
|
|
|
message(FATAL_ERROR "Unknown platform '${CMAKE_SYSTEM_NAME}'")
|
|
|
|
endif()
|
2015-12-10 05:06:13 +02:00
|
|
|
endif()
|
|
|
|
|
2016-02-29 04:56:55 +02:00
|
|
|
if(NOT KATIE_COMPILER)
|
2016-06-23 14:28:33 +03:00
|
|
|
# using MATCHES in all checks due to CMP0054
|
2016-02-29 04:56:55 +02:00
|
|
|
if (CMAKE_CXX_COMPILER_ID MATCHES "(Clang|AppleClang)")
|
2015-12-24 07:43:32 +02:00
|
|
|
set(KATIE_COMPILER "clang")
|
2016-06-23 14:28:33 +03:00
|
|
|
elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
2015-12-24 07:43:32 +02:00
|
|
|
set(KATIE_COMPILER "gcc")
|
2016-06-23 14:28:33 +03:00
|
|
|
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
2015-12-24 07:43:32 +02:00
|
|
|
set(KATIE_COMPILER "icc")
|
2016-06-23 14:28:33 +03:00
|
|
|
elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
2015-12-24 07:43:32 +02:00
|
|
|
set(KATIE_COMPILER "msvc")
|
|
|
|
else()
|
|
|
|
message(FATAL_ERROR "Unknown compiler '${CMAKE_CXX_COMPILER_ID}'")
|
|
|
|
endif()
|
2015-12-10 05:06:13 +02:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(CMAKE_SYSTEM_PROCESSOR)
|
|
|
|
string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR)
|
|
|
|
elseif(CMAKE_HOST_SYSTEM_PROCESSOR)
|
|
|
|
string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR)
|
|
|
|
endif()
|
2016-02-29 05:00:13 +02:00
|
|
|
if(NOT KATIE_ARCHITECTURE)
|
2015-12-24 07:43:32 +02:00
|
|
|
if(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
|
|
|
|
set(KATIE_ARCHITECTURE "arm")
|
|
|
|
elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
|
|
|
|
set(KATIE_ARCHITECTURE "mips")
|
|
|
|
elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)")
|
|
|
|
set(KATIE_ARCHITECTURE "x86_64")
|
2016-02-05 16:59:05 +02:00
|
|
|
elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|i[3-6]86)")
|
2016-02-05 17:13:45 +02:00
|
|
|
set(KATIE_ARCHITECTURE "i386")
|
2015-12-25 08:54:48 +02:00
|
|
|
else()
|
2015-12-24 07:43:32 +02:00
|
|
|
message(FATAL_ERROR "Unknown CPU '${CMAKE_SYSTEM_PROCESSOR}'")
|
|
|
|
endif()
|
2015-12-10 05:06:13 +02:00
|
|
|
endif()
|
|
|
|
|
2016-02-29 04:56:55 +02:00
|
|
|
# FIXME: Plan9 does not supporting dynamic libraries
|
|
|
|
if(NOT KATIE_TYPE)
|
2015-12-10 05:06:13 +02:00
|
|
|
set(KATIE_TYPE SHARED)
|
|
|
|
katie_definition(-DQT_SHARED)
|
|
|
|
endif()
|
|
|
|
|
2016-02-29 04:56:55 +02:00
|
|
|
if(KATIE_PLATFORM MATCHES "(win32|wince)" AND NOT KATIE_TYPE STREQUAL SHARED)
|
2015-12-10 05:06:13 +02:00
|
|
|
katie_definition(-DQT_MAKEDLL)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
|
katie_definition(-DQT_NO_DEBUG -DNDEBUG)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
include(${KATIE_MKSPECS_DIR}/tests/tests.cmake)
|
|
|
|
|
2016-02-29 04:56:55 +02:00
|
|
|
if(NOT KATIE_KEY)
|
2015-12-10 05:06:13 +02:00
|
|
|
set(KATIE_KEY "${KATIE_ARCHITECTURE} ${KATIE_PLATFORM} ${KATIE_COMPILER} full-config")
|
|
|
|
endif()
|
|
|
|
|
2016-05-03 17:00:51 +00:00
|
|
|
# forward setup of configuration paths, overriden by platform mkspecs
|
|
|
|
set(QT_PREFIX_PATH "" CACHE PATH "General installation prefix")
|
|
|
|
set(QT_HEADERS_PATH "" CACHE PATH "Headers installation path")
|
|
|
|
set(QT_LIBRARIES_PATH "" CACHE PATH "Libraries installation path")
|
|
|
|
set(QT_BINARIES_PATH "" CACHE PATH "Binaries installation path")
|
|
|
|
set(QT_PLUGINS_PATH "" CACHE PATH "Plugins installation path")
|
|
|
|
set(QT_IMPORTS_PATH "" CACHE PATH "Declerative imports installation path")
|
|
|
|
set(QT_DATA_PATH "" CACHE PATH "Generic data installation path")
|
|
|
|
set(QT_TRANSLATIONS_PATH "" CACHE PATH "Translations instllation path")
|
|
|
|
set(QT_DOCUMENTATION_PATH "" CACHE PATH "Documenation installation path")
|
|
|
|
set(QT_EXAMPLES_PATH "" CACHE PATH "Examples installation path")
|
|
|
|
set(QT_DEMOS_PATH "" CACHE PATH "Demos installation path")
|
|
|
|
set(QT_SETTINGS_PATH "" CACHE PATH "Settings runtime path")
|
|
|
|
|
2015-12-10 05:06:13 +02:00
|
|
|
if(EXISTS ${KATIE_MKSPECS_DIR}/${KATIE_PLATFORM}/${KATIE_PLATFORM}.cmake)
|
|
|
|
include(${KATIE_MKSPECS_DIR}/${KATIE_PLATFORM}/${KATIE_PLATFORM}.cmake)
|
|
|
|
endif()
|
|
|
|
|
2016-05-03 17:00:51 +00:00
|
|
|
# misc paths, relevant mostly for UNIX-like platforms
|
2016-06-10 14:06:44 +03:00
|
|
|
set(CMAKE_INSTALL_PATH "${QT_DATA_PATH}/cmake/Katie" CACHE PATH "CMake aware modules path")
|
2016-05-03 17:00:51 +00:00
|
|
|
set(LDCONF_INSTALL_PATH "${QT_DATA_PATH}/ld.so.conf.d" CACHE PATH "Run-time linker/loader configs path (UNIX)")
|
|
|
|
set(PROFILE_INSTALL_PATH "${QT_DATA_PATH}/profile.d" CACHE PATH "Shell profile scripts path (UNIX)")
|
|
|
|
set(MAN_INSTALL_PATH "${QT_DATA_PATH}/man" CACHE PATH "Manual pages path (UNIX)")
|
|
|
|
set(APPLICATIONS_INSTALL_PATH "${QT_DATA_PATH}/applications" CACHE PATH "Desktop applications register path (UNIX)")
|
|
|
|
set(PIXMAPS_INSTALL_PATH "${QT_DATA_PATH}/pixmaps" CACHE PATH "Desktop applications icon path (UNIX)")
|
|
|
|
|
2016-06-27 08:28:47 +00:00
|
|
|
# for distributions to override build specifications, do note that paths specified on the command
|
2016-05-03 17:00:51 +00:00
|
|
|
# line during configuration override even that file
|
2015-12-10 05:06:13 +02:00
|
|
|
if(EXISTS ${KATIE_MKSPECS_DIR}/${KATIE_PLATFORM}/vendor.cmake)
|
|
|
|
include(${KATIE_MKSPECS_DIR}/${KATIE_PLATFORM}/vendor.cmake)
|
2015-12-10 08:56:39 +02:00
|
|
|
endif()
|