2015-12-10 05:06:13 +02:00
|
|
|
# - Config file for the Katie package
|
|
|
|
#
|
|
|
|
# It defines the following variables:
|
|
|
|
#
|
|
|
|
# KATIE_DEFINITIONS - all preprocessor definitions
|
|
|
|
# KATIE_INCLUDES - all headers directories
|
|
|
|
# KATIE_LIBRARIES - all component libraries
|
|
|
|
# KATIE_<COMPONENT>_INCLUDES - component headers directories for e.g. QtCore
|
|
|
|
# KATIE_<COMPONENT>_LIBRARIES - component libraries to link against e.g. QtCore
|
|
|
|
# KATIE_<TOOL> - path to tool e.g. moc
|
|
|
|
#
|
|
|
|
|
|
|
|
set(KATIE_FOUND TRUE)
|
|
|
|
|
|
|
|
# Compute paths
|
|
|
|
get_filename_component(KATIE_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" DIRECTORY)
|
|
|
|
get_filename_component(KATIE_PREFIX ${KATIE_CMAKE_DIR}/ ABSOLUTE)
|
|
|
|
|
|
|
|
# Include definitions for IMPORTED targets
|
|
|
|
include("${KATIE_CMAKE_DIR}/KatieLibraryTargets.cmake")
|
|
|
|
include("${KATIE_CMAKE_DIR}/KatieBinaryTargets.cmake")
|
|
|
|
|
|
|
|
# These are pre-set and dynamically set variables, some use IMPORTED targets
|
|
|
|
set(KATIE_DEFINITIONS @KATIE_DEFINITIONS@)
|
2016-03-08 02:48:51 +02:00
|
|
|
set(KATIE_INCLUDES "@QT_HEADERS_PATH@")
|
2015-12-10 05:06:13 +02:00
|
|
|
set(KATIE_LIBRARIES)
|
|
|
|
set(KATIE_COMPONENTS @KATIE_COMPONENTS@)
|
|
|
|
set(KATIE_TOOLS @KATIE_TOOLS@)
|
|
|
|
set(KATIE_MKSPECS_DIR "${KATIE_CMAKE_DIR}/mkspecs")
|
|
|
|
set(KATIE_MKSPECS "${KATIE_MKSPECS_DIR}/mkspecs.cmake")
|
|
|
|
|
|
|
|
foreach(component ${KATIE_COMPONENTS})
|
|
|
|
string(TOUPPER ${component} uppercomp)
|
2016-01-19 18:34:16 +02:00
|
|
|
if(uppercomp STREQUAL "MAIN")
|
2016-03-08 02:45:14 +02:00
|
|
|
set(KATIE_INCLUDES ${KATIE_INCLUDES} "@QT_HEADERS_PATH@")
|
|
|
|
set(KATIE_${uppercomp}_INCLUDES "@QT_HEADERS_PATH@")
|
2015-12-10 05:06:13 +02:00
|
|
|
else()
|
2016-03-08 02:45:14 +02:00
|
|
|
set(KATIE_INCLUDES ${KATIE_INCLUDES} "@QT_HEADERS_PATH@/Qt${component}")
|
|
|
|
set(KATIE_${uppercomp}_INCLUDES "@QT_HEADERS_PATH@/Qt${component}")
|
2015-12-10 05:06:13 +02:00
|
|
|
endif()
|
|
|
|
set(KATIE_LIBRARIES ${KATIE_LIBRARIES} Katie::${component})
|
|
|
|
|
|
|
|
set(KATIE_${uppercomp}_LIBRARIES Katie::${component})
|
|
|
|
set(KATIE_${uppercomp}_FOUND TRUE)
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
foreach(tool ${KATIE_TOOLS})
|
|
|
|
string(TOUPPER ${tool} uppertool)
|
|
|
|
set(KATIE_${uppertool} Katie::${tool})
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
# Include macros, tools variables must be set before that
|
|
|
|
include("${KATIE_CMAKE_DIR}/KatieMacros.cmake")
|
|
|
|
|
2016-04-26 02:19:24 +00:00
|
|
|
# The stored configuration paths that vendors usually change
|
|
|
|
set(LDCONF_INSTALL_PATH "@LDCONF_INSTALL_PATH@")
|
|
|
|
set(PROFILE_INSTALL_PATH "@PROFILE_INSTALL_PATH@")
|
|
|
|
set(MAN_INSTALL_PATH "@MAN_INSTALL_PATH@")
|
|
|
|
set(CMAKE_INSTALL_PATH "@CMAKE_INSTALL_PATH@")
|
|
|
|
set(APPLICATIONS_INSTALL_PATH "@APPLICATIONS_INSTALL_PATH@")
|
|
|
|
set(PIXMAPS_INSTALL_PATH "@PIXMAPS_INSTALL_PATH@")
|
|
|
|
|
|
|
|
set(QT_PREFIX_PATH "@QT_PREFIX_PATH@")
|
|
|
|
set(QT_HEADERS_PATH "@QT_HEADERS_PATH@")
|
|
|
|
set(QT_LIBRARIES_PATH "@QT_LIBRARIES_PATH@")
|
|
|
|
set(QT_BINARIES_PATH "@QT_BINARIES_PATH@")
|
|
|
|
set(QT_PLUGINS_PATH "@QT_PLUGINS_PATH@")
|
|
|
|
set(QT_IMPORTS_PATH "@QT_IMPORTS_PATH@")
|
|
|
|
set(QT_DATA_PATH "@QT_DATA_PATH@")
|
|
|
|
set(QT_TRANSLATIONS_PATH "@QT_TRANSLATIONS_PATH@")
|
|
|
|
set(QT_DOCUMENTATION_PATH "@QT_DOCUMENTATION_PATH@")
|
|
|
|
set(QT_EXAMPLES_PATH "@QT_EXAMPLES_PATH@")
|
|
|
|
set(QT_DEMOS_PATH "@QT_DEMOS_PATH@")
|
|
|
|
set(QT_SETTINGS_PATH "@QT_SETTINGS_PATH@")
|
|
|
|
|
2015-12-10 05:06:13 +02:00
|
|
|
# Last but not least the platform specifiec stuff
|
|
|
|
if(EXISTS ${KATIE_MKSPECS})
|
|
|
|
include(${KATIE_MKSPECS})
|
|
|
|
else()
|
|
|
|
message(SEND_ERROR "mkspecs file does not exists, it is set to: ${KATIE_MKSPECS}")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT "${KATIE_FIND_QUIETLY}")
|
|
|
|
message(STATUS "Found Katie version: ${KATIE_VERSION}")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Qt4 compatibility by default, not a silver bullet
|
|
|
|
if(NOT KATIE_COMPAT EQUAL FALSE AND NOT KATIE_COMPAT EQUAL OFF)
|
|
|
|
message(STATUS "Setting up Qt4 compatibility via Katie")
|
|
|
|
|
|
|
|
# FIXME: once used lists turn into strings, great..
|
|
|
|
string(REPLACE " " ";" _TOOLS ${KATIE_TOOLS})
|
|
|
|
string(REPLACE " " ";" _COMPONENTS ${KATIE_COMPONENTS})
|
|
|
|
|
|
|
|
set(Qt4_FOUND TRUE)
|
|
|
|
set(QT_FOUND TRUE)
|
|
|
|
set(QT4_FOUND TRUE)
|
|
|
|
set(QT_VERSION_MAJOR ${KATIE_MAJOR})
|
|
|
|
set(QT_VERSION_MINOR ${KATIE_MINOR})
|
|
|
|
set(QT_VERSION_PATCH ${KATIE_MICRO})
|
|
|
|
set(QT_VERSION ${KATIE_VERSION})
|
|
|
|
set(QT_INCLUDES ${KATIE_INCLUDES})
|
|
|
|
set(QT_INCLUDE_DIR ${KATIE_INCLUDES})
|
2016-03-16 17:44:37 +00:00
|
|
|
set(QT4_INCLUDE_DIR ${KATIE_INCLUDES})
|
2015-12-10 05:06:13 +02:00
|
|
|
set(QT_LIBRARIES ${KATIE_LIBRARIES})
|
|
|
|
set(QT_USE_FILE ${KATIE_MKSPECS})
|
|
|
|
set(QT_MKSPECS_DIR ${KATIE_MKSPECS_DIR})
|
|
|
|
|
|
|
|
set(_binsuffix "${CMAKE_EXECUTABLE_SUFFIX}")
|
2016-01-19 18:34:16 +02:00
|
|
|
# those are exceptions because they have "q" prefix
|
2016-03-08 02:45:14 +02:00
|
|
|
set(QT_DBUSXML2CPP_EXECUTABLE "@QT_BINARIES_PATH@/qdbusxml2cpp${_binsuffix}")
|
|
|
|
set(QT_DBUSCPP2XML_EXECUTABLE "@QT_BINARIES_PATH@/qdbuscpp2xml${_binsuffix}")
|
2015-12-10 05:06:13 +02:00
|
|
|
|
|
|
|
if(NOT KATIE_COMPAT_ISSET)
|
|
|
|
set(KATIE_COMPAT_ISSET CACHE BOOL TRUE "")
|
|
|
|
if(KATIE_TYPE STREQUAL SHARED)
|
|
|
|
set(_libsuffix "${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
|
|
|
elseif(KATIE_TYPE STREQUAL MODULE)
|
|
|
|
set(_libsuffix "${CMAKE_SHARED_MODULE_SUFFIX}")
|
|
|
|
else()
|
|
|
|
set(_libsuffix "${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
|
|
endif()
|
|
|
|
foreach(tool ${_TOOLS})
|
|
|
|
add_executable(Qt4::${tool} IMPORTED)
|
|
|
|
set_property(
|
|
|
|
TARGET Qt4::${tool}
|
|
|
|
PROPERTY
|
2016-03-08 02:45:14 +02:00
|
|
|
IMPORTED_LOCATION "@QT_BINARIES_PATH@/${tool}${_binsuffix}"
|
2015-12-10 05:06:13 +02:00
|
|
|
)
|
|
|
|
string(TOUPPER ${tool} uppertool)
|
2016-03-08 02:45:14 +02:00
|
|
|
set(QT_${uppertool}_EXECUTABLE "@QT_BINARIES_PATH@/${tool}${_binsuffix}")
|
2015-12-10 05:06:13 +02:00
|
|
|
endforeach()
|
|
|
|
|
|
|
|
foreach(component ${_COMPONENTS})
|
|
|
|
add_library(Qt4::Qt${component} ${KATIE_TYPE} IMPORTED)
|
|
|
|
set_property(
|
|
|
|
TARGET Qt4::Qt${component}
|
|
|
|
PROPERTY
|
2016-03-08 02:45:14 +02:00
|
|
|
IMPORTED_LOCATION "@QT_LIBRARIES_PATH@/libKt${component}${_libsuffix}"
|
2015-12-10 05:06:13 +02:00
|
|
|
)
|
|
|
|
endforeach()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# bad assumption, Qt4 module does it
|
|
|
|
if(UNIX)
|
|
|
|
set(Q_WS_X11 TRUE)
|
|
|
|
find_package(X11 REQUIRED)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
foreach(component ${_COMPONENTS})
|
|
|
|
string(TOUPPER ${component} uppercomp)
|
|
|
|
set(QT_QT${uppercomp}_FOUND ${KATIE_${uppercomp}_FOUND})
|
2016-03-16 17:44:37 +00:00
|
|
|
set(QT4_QT${uppercomp}_FOUND ${KATIE_${uppercomp}_FOUND})
|
2015-12-10 05:06:13 +02:00
|
|
|
set(QT_QT${uppercomp}_LIBRARY "${KATIE_${uppercomp}_LIBRARIES}")
|
2016-03-16 17:44:37 +00:00
|
|
|
set(QT4_QT${uppercomp}_LIBRARY "${KATIE_${uppercomp}_LIBRARIES}")
|
2015-12-10 05:06:13 +02:00
|
|
|
set(QT_QT${uppercomp}_LIBRARIES "${KATIE_${uppercomp}_LIBRARIES}")
|
2016-03-16 17:44:37 +00:00
|
|
|
set(QT4_QT${uppercomp}_LIBRARIES "${KATIE_${uppercomp}_LIBRARIES}")
|
2016-03-09 05:55:06 +00:00
|
|
|
set(QT_QT${uppercomp}_INCLUDE_DIR "@QT_HEADERS_PATH@" "${KATIE_${uppercomp}_INCLUDES}")
|
2016-03-16 17:44:37 +00:00
|
|
|
set(QT4_QT${uppercomp}_INCLUDE_DIR "@QT_HEADERS_PATH@" "${KATIE_${uppercomp}_INCLUDES}")
|
2015-12-10 05:06:13 +02:00
|
|
|
# TODO: component definitions
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
set(QT_DEFINITIONS ${KATIE_DEFINITIONS} -DQT_INCLUDE_COMPAT)
|
|
|
|
|
|
|
|
# not much to be done about those..
|
|
|
|
include(Qt4Macros)
|
|
|
|
include(MacroAddFileDependencies)
|
|
|
|
endif()
|