-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
110 lines (97 loc) · 4.76 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
# ┌─┐┬ ┬┬─┐┌─┐┬─┐┌─┐ ┌─┐┬─┐┌─┐┌┬┐┌─┐┬ ┬┌─┐┬─┐┬┌─
# ├─┤│ │├┬┘│ │├┬┘├─┤ ├┤ ├┬┘├─┤│││├┤ ││││ │├┬┘├┴┐
# ┴ ┴└─┘┴└─└─┘┴└─┴ ┴ └ ┴└─┴ ┴┴ ┴└─┘└┴┘└─┘┴└─┴ ┴
# A Powerful General Purpose Framework
# More information in: https://aurora-fw.github.io/
#
# Copyright (C) 2017 Aurora Framework, All rights reserved.
#
# This file is part of the Aurora Framework. This framework is free
# software; you can redistribute it and/or modify it under the terms of
# the GNU Lesser General Public License version 3 as published by the
# Free Software Foundation and appearing in the file LICENSE included in
# the packaging of this file. Please review the following information to
# ensure the GNU Lesser General Public License version 3 requirements
# will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
message(STATUS "Loading framework build system...")
# Set specific framework build variable
set(AURORAFW_IS_BUILDING true)
# Master include
set(CMAKE_MODULE_AURORAFW_DIR ${CMAKE_SOURCE_DIR}/cmake/aurora)
include(${CMAKE_MODULE_AURORAFW_DIR}/module.cmake)
#aurorafw_print_debug_vars()
# Options
option(AURORA_BUILD_TEST_APPS "Enable builds for test apps" OFF)
if(CMAKE_BUILD_TYPE MATCHES Debug)
AURORAFW_ADD_CMAKE_MODULE("FreeImage" CMAKE ${AURORAFW_ROOT_DIR}/cmake/freeimage)
AURORAFW_ADD_CMAKE_MODULE("PortAudio" CMAKE ${AURORAFW_ROOT_DIR}/cmake/portaudio)
AURORAFW_ADD_CMAKE_MODULE("sndfile" CMAKE ${AURORAFW_ROOT_DIR}/cmake/sndfile)
AURORAFW_ADD_CMAKE_MODULE("Vulkan" CMAKE ${AURORAFW_ROOT_DIR}/cmake/vulkan)
AURORAFW_ADD_CMAKE_MODULE("OSMesa" CMAKE ${AURORAFW_ROOT_DIR}/cmake/osmesa)
#AURORAFW_ADD_CMAKE_MODULE("Mir" CMAKE ${AURORAFW_ROOT_DIR}/cmake/mir)
#AURORAFW_ADD_CMAKE_MODULE("Wayland" CMAKE ${AURORAFW_ROOT_DIR}/cmake/wayland)
#AURORAFW_ADD_CMAKE_MODULE("XKB" CMAKE ${AURORAFW_ROOT_DIR}/cmake/xkb)
endif()
# Modules
AURORAFW_ADD_CMAKE_MODULE("CoreLib" MODULE)
AURORAFW_ADD_CMAKE_MODULE("STDL" MODULE)
AURORAFW_ADD_CMAKE_MODULE("Core" MODULE)
AURORAFW_ADD_CMAKE_MODULE("Math" MODULE)
AURORAFW_ADD_CMAKE_MODULE("Crypto" MODULE)
AURORAFW_ADD_CMAKE_MODULE("IO" MODULE)
AURORAFW_ADD_CMAKE_MODULE("CLI" MODULE)
AURORAFW_ADD_CMAKE_MODULE("GUI" MODULE)
AURORAFW_ADD_CMAKE_MODULE("Audio" MODULE)
AURORAFW_ADD_CMAKE_MODULE("Netsocks" MODULE)
AURORAFW_ADD_CMAKE_MODULE("Image" MODULE)
AURORAFW_ADD_CMAKE_MODULE("GEngine Core" MODULE)
AURORAFW_ADD_CMAKE_MODULE("GEngine 2D" MODULE)
AURORAFW_ADD_CMAKE_MODULE("GEngine OpenGL" MODULE)
AURORAFW_ADD_CMAKE_MODULE("GEngine Vulkan" MODULE)
AURORAFW_ADD_CMAKE_MODULE("GEngine Direct3D" MODULE)
#AURORAFW_ADD_CMAKE_MODULE("GEngine Shaders" MODULE)
#AURORAFW_ADD_CMAKE_MODULE("D CoreLib" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D STDL" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D Core" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D Math" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D Crypto" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D IO" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D CLI" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D GUI" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D Audio" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D Netsocks" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D Image" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D GEngine Core" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D GEngine OpenGL" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D GEngine Vulkan" BIND)
#AURORAFW_ADD_CMAKE_MODULE("D GEngine Direct3D" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG CoreLib" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG STDL" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG Core" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG Math" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG Crypto" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG IO" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG CLI" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG GUI" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG Audio" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG Netsocks" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG Image" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG GEngine Core" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG GEngine OpenGL" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG GEngine Vulkan" BIND)
#AURORAFW_ADD_CMAKE_MODULE("SWIG GEngine Direct3D" BIND)
# Apps
if((CMAKE_BUILD_TYPE MATCHES Debug) OR (AURORA_BUILD_TEST_APPS))
# Test Apps
AURORAFW_ADD_CMAKE_MODULE("Tests STDL" APP)
AURORAFW_ADD_CMAKE_MODULE("Tests GUI" APP)
AURORAFW_ADD_CMAKE_MODULE("Tests GEngine" APP)
AURORAFW_ADD_CMAKE_MODULE("Tests Crypto" APP)
AURORAFW_ADD_CMAKE_MODULE("Tests CLI" APP)
AURORAFW_ADD_CMAKE_MODULE("Tests Math" APP)
AURORAFW_ADD_CMAKE_MODULE("Tests NetSocks" APP)
AURORAFW_ADD_CMAKE_MODULE("Tests Image" APP)
AURORAFW_ADD_CMAKE_MODULE("Tests Audio" APP)
endif()
AURORAFW_ADD_CMAKE_MODULE("Documentation" CMAKE ${AURORAFW_ROOT_DIR}/docs)