-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCMakeLists.txt
executable file
·122 lines (110 loc) · 5.01 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
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
set(CMAKE_MODULE_PATH
"${CMAKE_MODULE_PATH}"
"${CMAKE_CURRENT_SOURCE_DIR}/CMake"
"${CMAKE_CURRENT_SOURCE_DIR}/CMake/modules"
"${CMAKE_CURRENT_SOURCE_DIR}/CMake/Configurations"
"${CMAKE_CURRENT_SOURCE_DIR}/CMake/Configurations/travis"
"${CMAKE_CURRENT_SOURCE_DIR}/CMake/modules/cmake-modules"
"${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/libossia/cmake/cmake-modules"
)
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_MODULE_PATH}")
if(APPLE AND EXISTS /usr/local/opt/qt5)
list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/qt5")
list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/boost")
list(APPEND CMAKE_PREFIX_PATH "/opt/boost_1_72_0")
endif()
set(SCORE_CONFIGURATION segment)
include("${SCORE_CONFIGURATION}")
project(segment LANGUAGES C CXX)
cmake_policy(VERSION 3.9)
cmake_policy(SET CMP0025 NEW)
set(SCORE_VERSION_MAJOR 2)
set(SCORE_VERSION_MINOR 6)
set(SCORE_VERSION_PATCH 0)
set(SCORE_VERSION_EXTRA)
set(SCORE_CODENAME "SEGMented")
set(SCORE_VERSION "${SCORE_VERSION_MAJOR}.${SCORE_VERSION_MINOR}")
enable_testing()
include("${CMAKE_CURRENT_SOURCE_DIR}/CMake/IScoreFunctions.cmake")
include("${CMAKE_CURRENT_SOURCE_DIR}/CMake/IScoreConfiguration.cmake")
# OSSIA API-specific configuration
if(SCORE_SANITIZE)
set(OSSIA_SANITIZE True CACHE INTERNAL "" FORCE)
endif()
if(SCORE_SPLIT_DEBUG)
set(OSSIA_SPLIT_DEBUG True CACHE INTERNAL "" FORCE)
else()
set(OSSIA_SPLIT_DEBUG False CACHE INTERNAL "" FORCE)
endif()
if(SCORE_COTIRE)
set(OSSIA_DISABLE_COTIRE False CACHE INTERNAL "" FORCE)
else()
set(OSSIA_DISABLE_COTIRE True CACHE INTERNAL "" FORCE)
endif()
if(SCORE_STATIC_PLUGINS)
set(OSSIA_STATIC ON CACHE INTERNAL "" FORCE)
endif()
if(SCORE_ENABLE_LTO)
set(OSSIA_LTO ON CACHE INTERNAL "" FORCE)
endif()
set(OSSIA_NO_INSTALL ON CACHE INTERNAL "" FORCE)
set(OSSIA_PD OFF CACHE INTERNAL "" FORCE)
set(OSSIA_JAVA OFF CACHE INTERNAL "" FORCE)
set(OSSIA_OSX_FAT_LIBRARIES OFF CACHE INTERNAL "" FORCE)
set(OSSIA_PYTHON OFF CACHE INTERNAL "" FORCE)
set(OSSIA_QT ON CACHE INTERNAL "" FORCE)
set(OSSIA_DISABLE_QT_PLUGIN ON CACHE INTERNAL "" FORCE)
set(OSSIA_PROTOCOL_OSCQUERY OFF CACHE INTERNAL "" FORCE)
set(OSSIA_PROTOCOL_MINUIT OFF CACHE INTERNAL "" FORCE)
set(OSSIA_PROTOCOL_WEBSOCKETS OFF CACHE INTERNAL "" FORCE)
set(OSSIA_PROTOCOL_MIDI OFF CACHE INTERNAL "" FORCE)
set(OSSIA_PROTOCOL_SERIAL OFF CACHE INTERNAL "" FORCE)
set(OSSIA_PROTOCOL_HTTP OFF CACHE INTERNAL "" FORCE)
set(OSSIA_PROTOCOL_AUDIO OFF CACHE INTERNAL "" FORCE)
set(OSSIA_DNSSD OFF CACHE INTERNAL "" FORCE)
set(OSSIA_C OFF CACHE INTERNAL "" FORCE)
set(OSSIA_CPP OFF CACHE INTERNAL "" FORCE)
set(OSSIA_DATAFLOW OFF CACHE INTERNAL "" FORCE)
set(OSSIA_EDITOR OFF CACHE INTERNAL "" FORCE)
set(OSSIA_QML_DEVICE OFF CACHE INTERNAL "" FORCE)
if(MSVC)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /manifest:no")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /manifest:no")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /manifest:no")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++17 /utf-8")
add_definitions(/D_HAS_AUTO_PTR_ETC=1 /D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS=1)
else()
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1z")
endif()
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(Qt5 5.9 REQUIRED COMPONENTS Core Widgets Gui)
set(3RDPARTY_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/")
set(OSSIA_3RDPARTY_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/libossia/3rdparty")
set(SCORE_ROOT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(SCORE_ROOT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/libossia/src")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/variant/include")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/nano-signal-slot")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/brigand")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/hopscotch-map/include")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/nano-signal-slot/include")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/readerwriterqueue")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/verdigris/src")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/fmt/include")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/brigand/include")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/exprtk")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/spdlog/include")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/flat/include")
include_directories(SYSTEM "${OSSIA_3RDPARTY_FOLDER}/multi_index/include")
score_write_file(
"${CMAKE_CURRENT_BINARY_DIR}/ossia_export.h"
"#ifndef OSSIA_EXPORT_H\n#define OSSIA_EXPORT_H\n#define OSSIA_EXPORT\n#endif\n")
set(SCORE_PLUGINS_LIST CACHE INTERNAL "List of plugins") # todo libraries, components ?
set(SCORE_GLOBAL_COMPONENTS_LIST CACHE INTERNAL "List of components") # todo libraries, components ?
set(CMAKE_AUTOMOC OFF)
set(CMAKE_AUTOGEN OFF)
add_subdirectory(base)