-
Notifications
You must be signed in to change notification settings - Fork 8
/
CMakeLists.txt
121 lines (97 loc) · 4.63 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Copyright (C) 2014 Moonlight Desktop Environment Team
# Authors:
# Alexis López Zubieta
# This file is part of the Moonlight Desktop Environment
#
# Moonlight Desktop Environment is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Moonlight Desktop Environment is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Moonlight Desktop Environment. If not, see <http://www.gnu.org/licenses/>.
#
project(moonlightDE)
set(${PROJECT_NAME}_MAJOR_VERSION 0)
set(${PROJECT_NAME}_MINOR_VERSION 7)
set(${PROJECT_NAME}_PATCH_VERSION 0)
set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION}.${${PROJECT_NAME}_PATCH_VERSION})
# ------------------------------------------------------------------------------
# Configuration
# ------------------------------------------------------------------------------
cmake_minimum_required(VERSION 2.8)
## Build Type
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'Debug' as none was specified.")
set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-g3 -gdwarf-2")
message(STATUS "Using CXX_FLAGS: ${CMAKE_CXX_FLAGS_DEBUG}")
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY
STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
#-------------------------------------------------------------------------------
# Init output directories
#-------------------------------------------------------------------------------
set(MoonLightDE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
set(MoonLightDE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
set(MoonLightDE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
set(MoonLightDE_HEADERS_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/include")
set(MoonLightDE_DESCRIPTORS_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/share/moonlightDE/descriptors")
foreach(_type ARCHIVE LIBRARY RUNTIME HEADERS)
if(NOT CMAKE_${_type}_OUTPUT_DIRECTORY)
set(CMAKE_${_type}_OUTPUT_DIRECTORY ${MoonLightDE_${_type}_OUTPUT_DIRECTORY})
endif()
endforeach()
include_directories(${CMAKE_SOURCE_DIR}/include)
include(cmake/build_utils.cmake)
## --------------------------------------------------------------
## Modules
## --------------------------------------------------------------
add_subdirectory(src/core)
option(TEST_MODE "Build test modules?" OFF)
if (TEST_MODE)
add_subdirectory(src/core-test)
endif(TEST_MODE)
#add_subdirectory(src/sidepanel)
#
add_subdirectory(src/panel)
#add_subdirectory(src/panel-clasic-menu)
add_subdirectory(src/panel-dash_xdg)
#add_subdirectory(src/panel-clock)
#add_subdirectory(src/panel-menu)
#add_subdirectory(src/panel-taskbar)
#add_subdirectory(src/panel-systray)
#add_subdirectory(src/panel-quicklauchers)
#
#add_subdirectory(src/actions_registry)
#add_subdirectory(src/keyboard-shortcuts)
#add_subdirectory(src/notifications)
#add_subdirectory(src/file-manager)
#add_subdirectory(src/runner)
## --------------------------------------------------------------
## Third Parthy
## --------------------------------------------------------------
# ------------------------------------------------------------------------------
# Distribution
# ------------------------------------------------------------------------------
INCLUDE(InstallRequiredSystemLibraries)
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MoonLight DE")
SET(CPACK_PACKAGE_VENDOR "")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
SET(CPACK_PACKAGE_VERSION_MAJOR ${${PROJECT_NAME}_MAJOR_VERSION} )
SET(CPACK_PACKAGE_VERSION_MINOR ${${PROJECT_NAME}_MINOR_VERSION} )
SET(CPACK_PACKAGE_VERSION_PATCH ${${PROJECT_NAME}_PATCH_VERSION} )
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
SET(CPACK_SET_DESTDIR "ON")
## Debian especific packing instructions
SET(CPACK_PACKAGE_CONTACT "MoonLightDE Mail List <moonlightde@googlegroups.com>")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libcppmicroservices" "qt5-defaults" "libqt5x11extras5")
SET(CPACK_PACKAGE_EXECUTABLES "bin/moonlight-core")
INCLUDE(CPack)