kwin/kcmkwin/kwincompositing/CMakeLists.txt
2014-04-03 07:23:13 +02:00

126 lines
4 KiB
CMake

cmake_minimum_required(VERSION 2.8.10.1)
project(kwineffects)
################# Disallow in-source build #################
# Make CPack available to easy generate binary packages
include(CPack)
include(FeatureSummary)
################# set KDE specific information #################
find_package(ECM 0.0.8 REQUIRED NO_MODULE)
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH})
find_package(Qt5Transitional MODULE)
find_package(Qt5Core REQUIRED NO_MODULE)
find_package(Qt5Quick REQUIRED NO_MODULE)
find_package(KCoreAddons REQUIRED NO_MODULE)
find_package(Qt5Test REQUIRED NO_MODULE)
add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0 -std=c++0x)
if(KDE_PLATFORM_FEATURE_DISABLE_DEPRECATED)
set(KDE_NO_DEPRECATED TRUE)
set(CMAKE_AUTOMOC_MOC_OPTIONS "-DKDE_NO_DEPRECATED")
endif()
################# now find all used packages #################
set (QT_MIN_VERSION "5.2.0")
find_package(kdeqt5staging REQUIRED NO_MODULE)
# Load CMake, Compiler and InstallDirs settings from KF5 and the following are already somewhat "done" tier1/tier2 libs from kdelibs:
find_package(KF5 MODULE REQUIRED COMPONENTS CMake Compiler InstallDirs
KIdleTime ItemModels KWidgetsAddons KWindowSystem KCodecs KArchive KCoreAddons Solid ThreadWeaver
KConfig KAuth KJS KWallet KDBusAddons KConfigWidgets
KI18n KGuiAddons KService ItemViews KNotifications KIconThemes KCompletion KJobWidgets KConfigWidgets Sonnet KTextWidgets XmlGui KCrash
KIO KUnitConversion KDE4Attic)
find_package(KDELibs4 REQUIRED NO_MODULE)
find_package(KDE4Support REQUIRED NO_MODULE)
find_package(kdeclarative REQUIRED NO_MODULE)
find_package(LibAttica REQUIRED NO_MODULE)
#########################################################################
#add_definitions(${KDE4_DEFINITIONS})
add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_STRICT_ITERATORS -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_KEYWORDS)
################# setup the include directories #################
include_directories(${KDE4_INCLUDES}
${kdeqt5staging_INCLUDE_DIR}
${kdeqt5staging_INCLUDE_DIRS}
${KF5_INCLUDE_DIRS} # since e-c-m 0.0.7
${Qt5Widgets_INCLUDE_DIRS}
)
################# configure checks and create the configured files #################
# now create config headers
configure_file(config-prefix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-prefix.h )
configure_file(config-compiler.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-compiler.h )
set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
set(kwincomposing_SRC
model.cpp
main.cpp
compositing.cpp
effectconfig.cpp)
add_executable(kwincompositing ${kwincomposing_SRC})
target_link_libraries(kwincompositing
${Qt5Quick_LIBRARIES}
${Qt5Qml_LIBRARIES}
${Qt5Core_LIBARIES}
${kservice_LIBRARIES}
Qt5::DBus
KF5::KI18n
KF5::KService
${Qt5Widgets_LIBRARIES}
${KDE4_KCMUTILS_LIBS}
${Qt5Test_LIBRARIES}
${KCoreAddons_LIBRARIES})
set(modelTest_SRC
model.cpp
effectconfig.cpp
compositing.cpp
test/effectmodeltest.cpp
test/modeltest.cpp)
add_executable(effectModelTest ${modelTest_SRC})
target_link_libraries(effectModelTest
${Qt5Quick_LIBRARIES}
${Qt5Qml_LIBRARIES}
${Qt5Core_LIBARIES}
${kservice_LIBRARIES}
Qt5::DBus
KF5::KI18n
KF5::KService
${Qt5Widgets_LIBRARIES}
${KDE4_KCMUTILS_LIBS}
${Qt5Test_LIBRARIES}
${KCoreAddons_LIBRARIES})
INSTALL(DIRECTORY qml DESTINATION ${DATA_INSTALL_DIR}/kwincompositing)
INSTALL(TARGETS kwincompositing ${INSTALL_TARGETS_DEFAULT_ARGS})
################# list the subdirectories #################
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)