wcmake_minimum_required (VERSION 2.8.12) cmake_policy (SET CMP0003 OLD) cmake_policy (SET CMP0002 OLD) cmake_policy (SET CMP0011 NEW) cmake_policy (SET CMP0015 NEW) project (netctl-gui) set (PROJECT_AUTHOR "Evgeniy Alekseev") set (PROJECT_CONTACT "esalexeev@gmail.com") set (PROJECT_LICENSE "GPLv3") set (PROJECT_VERSION_MAJOR 1) set (PROJECT_VERSION_MINOR 4) set (PROJECT_VERSION_PATCH 1) set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) string (TIMESTAMP CURRENT_DATE "%Y-%m-%d %H:%M" UTC) string (TIMESTAMP CURRENT_YEAR "%Y") message (STATUS "Project: ${PROJECT_NAME}") message (STATUS "Version: ${PROJECT_VERSION}") message (STATUS "Build date: ${CURRENT_DATE}") # install options option (USE_CAPABILITIES "Use setcap to set capabilities for the helper" ON) option (USE_QT5 "Use Qt5 instead of Qt4" ON) # components option (BUILD_GUI "Build GUI" ON) option (BUILD_HELPER "Build helper" ON) option (BUILD_LIBRARY "Build library" ON) option (BUILD_DATAENGINE "Build DataEngine" ON) option (BUILD_PLASMOID "Build plasmoid" ON) option (BUILD_KDE4 "Build on KDE4" OFF) if (BUILD_GUI OR BUILD_HELPER) set (BUILD_LIBRARY ON) endif () if (BUILD_PLASMOID) set (BUILD_DATAENGINE ON) endif () # documentation option (BUILD_DOCS "Build Doxygen documentation" OFF) if (BUILD_DOCS) set (BUILD_LIBRARY ON) endif () # test option (BUILD_TEST "Build unit tests" OFF) if (BUILD_TEST) set (BUILD_LIBRARY ON) endif () # FIXME: dbus path set (DBUS_SYSTEMCONF_PATH "/etc/dbus-1/system.d/" CACHE STRING "Path to dbus system configuration files") set (SYSTEMD_SERVICE_PATH "lib/systemd/system" CACHE STRING "Path to systemd services") # flags if (CMAKE_COMPILER_IS_GNUCXX) set (CMAKE_CXX_FLAGS "-Wall -std=c++11") set (CMAKE_CXX_FLAGS_DEBUG "-g -O0") set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") # avoid newer gcc warnings add_definitions (-D_DEFAULT_SOURCE) else () message (STATUS "Unknown compiler") endif () configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h) # resources set (PROJECT_TRDPARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty) set (PROJECT_LIBRARY netctlgui) set (PROJECT_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/resources) add_subdirectory (${PROJECT_RESOURCE_DIR}) # components if (BUILD_LIBRARY) add_subdirectory (${PROJECT_LIBRARY}) endif () if (BUILD_HELPER) add_subdirectory (helper) endif () if (BUILD_TEST) enable_testing () add_subdirectory (test) endif () if (BUILD_GUI) add_subdirectory (gui) endif () if (BUILD_DATAENGINE) add_subdirectory (dataengine) endif () if (BUILD_PLASMOID) if (BUILD_KDE4) add_subdirectory (plasmoid-kde4) else () add_subdirectory (plasmoid-kf5) endif (BUILD_KDE4) endif ()