Warning, /plasma/lancelot/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required (VERSION 3.11) 0002 0003 project (lancelot) 0004 0005 set (PROJECT_VERSION "0.1") 0006 set (PROJECT_VERSION_MAJOR 0) 0007 0008 set (CMAKE_CXX_STANDARD 17) 0009 add_definitions (-fexceptions -pthread -Werror=unused-result) 0010 0011 0012 0013 if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") 0014 message (FATAL_ERROR "This project requires an out of source build") 0015 endif () 0016 0017 0018 # There is no using CMake without Extra CMake Modules 0019 0020 include (FeatureSummary) 0021 find_package (ECM 5.46 NO_MODULE) 0022 0023 set_package_properties ( 0024 ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." 0025 URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules" 0026 ) 0027 feature_summary (WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) 0028 0029 0030 0031 # Where to search for the custom CMake modules 0032 0033 set ( 0034 CMAKE_MODULE_PATH 0035 ${CMAKE_MODULE_PATH} 0036 ${ECM_MODULE_PATH} 0037 "${CMAKE_SOURCE_DIR}/cmake/modules" 0038 ) 0039 0040 include (KDEInstallDirs) 0041 include (KDECMakeSettings) 0042 0043 0044 # TODO: Move deps to subfolders where they are actually needed 0045 0046 # Qt and KF5 are needed for the UI 0047 0048 set (REQUIRED_QT_VERSION 5.10.0) 0049 find_package ( 0050 Qt5 REQUIRED 0051 COMPONENTS Gui Qml Quick 0052 ) 0053 set (CMAKE_AUTOMOC ON) 0054 0055 find_package ( 0056 KF5 REQUIRED 0057 COMPONENTS Service I18n Baloo Activities Config CoreAddons 0058 ) 0059 add_definitions(-DQT_NO_KEYWORDS) 0060 0061 0062 # Boost ASIO is needed for the reactive streams event processing 0063 0064 find_package ( 0065 Boost 1.67 REQUIRED 0066 COMPONENTS system filesystem regex thread # asio and process are header-only 0067 ) 0068 include_directories (${Boost_INCLUDE_DIR}) 0069 0070 0071 0072 # Boost ASIO + ZMQ for the transport 0073 0074 find_package ( 0075 ZMQ REQUIRED 0076 ) 0077 set_package_properties ( 0078 ZMQ PROPERTIES TYPE REQUIRED DESCRIPTION "ZeroMQ is a high-performance asynchronous messaging library" 0079 URL "http://zeromq.org/" 0080 ) 0081 include_directories (${ZMQ_INCLUDE_DIR} "3rdparty/azmq/") 0082 0083 0084 0085 # Capn Proto is used for message serialization 0086 0087 find_package ( 0088 CapnProto REQUIRED 0089 ) 0090 set_package_properties ( 0091 CapnProto PROPERTIES TYPE REQUIRED DESCRIPTION "Cap'n Proto - efficient data interchange format" 0092 URL "https://capnproto.org/" 0093 ) 0094 include_directories (${CAPNP_INCLUDE_DIR}) 0095 0096 # Sources 0097 0098 add_subdirectory (src) 0099 0100