149 lines
5.0 KiB
Meson
149 lines
5.0 KiB
Meson
project(
|
|
'jujube',
|
|
['cpp', 'c'],
|
|
default_options : ['cpp_std=c++17'],
|
|
version : '0.1.0-alpha'
|
|
)
|
|
|
|
sources = [
|
|
'include/imgui/imgui.cpp',
|
|
'include/imgui/imgui_draw.cpp',
|
|
'include/imgui/imgui_widgets.cpp',
|
|
'include/imgui-sfml/imgui-SFML.cpp',
|
|
'include/whereami/whereami.c',
|
|
'include/whereami/whereami++.cpp',
|
|
'src/Data/Chart.cpp',
|
|
'src/Data/Chart.hpp',
|
|
'src/Data/GradedNote.cpp',
|
|
'src/Data/GradedNote.hpp',
|
|
'src/Data/Note.hpp',
|
|
'src/Data/Preferences.hpp',
|
|
'src/Data/Preferences.cpp',
|
|
'src/Data/Score.hpp',
|
|
'src/Data/Score.cpp',
|
|
'src/Data/Song.hpp',
|
|
'src/Data/Song.cpp',
|
|
'src/Data/TimeBounds.hpp',
|
|
'src/Drawables/BlackFrame.hpp',
|
|
'src/Drawables/BlackFrame.cpp',
|
|
'src/Drawables/ButtonHighlight.hpp',
|
|
'src/Drawables/ButtonHighlight.cpp',
|
|
'src/Drawables/DensityGraph.hpp',
|
|
'src/Drawables/DensityGraph.cpp',
|
|
'src/Drawables/GradedDensityGraph.hpp',
|
|
'src/Drawables/GradedDensityGraph.cpp',
|
|
'src/Input/Buttons.hpp',
|
|
'src/Input/Buttons.cpp',
|
|
'src/Input/KeyMapping.hpp',
|
|
'src/Input/KeyMapping.cpp',
|
|
'src/Input/Events.hpp',
|
|
'src/Input/Events.cpp',
|
|
'src/Resources/TextureCache.cpp',
|
|
'src/Resources/TextureCache.hpp',
|
|
'src/Resources/LNMarker.cpp',
|
|
'src/Resources/LNMarker.hpp',
|
|
'src/Resources/Marker.cpp',
|
|
'src/Resources/Marker.hpp',
|
|
'src/Resources/SharedResources.hpp',
|
|
'src/Resources/SharedResources.cpp',
|
|
'src/Resources/SpriteSheet.cpp',
|
|
'src/Resources/SpriteSheet.hpp',
|
|
'src/Resources/SplitSpriteSheet.cpp',
|
|
'src/Resources/SplitSpriteSheet.hpp',
|
|
# 'src/Resources/CoverAtlas.hpp',
|
|
# 'src/Resources/CoverAtlas.cpp',
|
|
'src/Screens/MusicSelect/Drawables/ControlPanels.hpp',
|
|
'src/Screens/MusicSelect/Drawables/ControlPanels.cpp',
|
|
'src/Screens/MusicSelect/Options/OptionPage.hpp',
|
|
'src/Screens/MusicSelect/Options/OptionPage.cpp',
|
|
'src/Screens/MusicSelect/Options/AudioOffset.hpp',
|
|
'src/Screens/MusicSelect/Options/AudioOffset.cpp',
|
|
'src/Screens/MusicSelect/Options/InputRemap.hpp',
|
|
'src/Screens/MusicSelect/Options/InputRemap.cpp',
|
|
'src/Screens/MusicSelect/Panels/MarkerPanel.hpp',
|
|
'src/Screens/MusicSelect/Panels/MarkerPanel.cpp',
|
|
'src/Screens/MusicSelect/Panels/Panel.hpp',
|
|
'src/Screens/MusicSelect/Panels/Panel.cpp',
|
|
'src/Screens/MusicSelect/Panels/SubpagePanel.hpp',
|
|
'src/Screens/MusicSelect/Panels/SubpagePanel.cpp',
|
|
'src/Screens/MusicSelect/MusicPreview.hpp',
|
|
'src/Screens/MusicSelect/MusicPreview.cpp',
|
|
'src/Screens/MusicSelect/MusicSelect.hpp',
|
|
'src/Screens/MusicSelect/MusicSelect.cpp',
|
|
'src/Screens/MusicSelect/PanelLayout.hpp',
|
|
'src/Screens/MusicSelect/PanelLayout.cpp',
|
|
'src/Screens/MusicSelect/Ribbon.hpp',
|
|
'src/Screens/MusicSelect/Ribbon.cpp',
|
|
'src/Screens/MusicSelect/Resources.hpp',
|
|
'src/Screens/MusicSelect/Resources.cpp',
|
|
'src/Screens/MusicSelect/SongInfo.hpp',
|
|
'src/Screens/MusicSelect/SongInfo.cpp',
|
|
'src/Screens/Gameplay/Drawables/Cursor.hpp',
|
|
'src/Screens/Gameplay/Drawables/Cursor.cpp',
|
|
'src/Screens/Gameplay/Drawables/Shutter.hpp',
|
|
'src/Screens/Gameplay/Drawables/Shutter.cpp',
|
|
'src/Screens/Gameplay/Gameplay.hpp',
|
|
'src/Screens/Gameplay/Gameplay.cpp',
|
|
'src/Screens/Gameplay/PreciseMusic.hpp',
|
|
'src/Screens/Gameplay/PreciseMusic.cpp',
|
|
'src/Screens/Gameplay/Silence.hpp',
|
|
'src/Screens/Gameplay/Silence.cpp',
|
|
'src/Screens/Gameplay/TimedEventsQueue.hpp',
|
|
'src/Screens/Gameplay/TimedEventsQueue.cpp',
|
|
'src/Screens/Results/Resources.hpp',
|
|
'src/Screens/Results/Results.hpp',
|
|
'src/Screens/Results/Results.cpp',
|
|
'src/Toolkit/AffineTransform.hpp',
|
|
'src/Toolkit/Cache.hpp',
|
|
'src/Toolkit/Debuggable.hpp',
|
|
'src/Toolkit/DurationInFrames.hpp',
|
|
'src/Toolkit/EasingFunctions.hpp',
|
|
'src/Toolkit/EasingFunctions.cpp',
|
|
'src/Toolkit/GHCFilesystemPathHash.hpp',
|
|
'src/Toolkit/HSL.hpp',
|
|
'src/Toolkit/HSL.cpp',
|
|
'src/Toolkit/SFMLHelpers.hpp',
|
|
'src/Toolkit/SFMLHelpers.cpp',
|
|
'src/Toolkit/QuickRNG.hpp',
|
|
'src/Toolkit/QuickRNG.cpp',
|
|
'src/Main.cpp',
|
|
]
|
|
|
|
cc = meson.get_compiler('cpp')
|
|
|
|
dependencies = []
|
|
|
|
foreach module : ['system', 'window', 'graphics', 'audio']
|
|
dependencies += [dependency('sfml-'+module, version : '>=2.5.1')]
|
|
endforeach
|
|
|
|
dependencies += dependency('threads')
|
|
dependencies += dependency('gl')
|
|
dependencies += cc.find_library('atomic')
|
|
|
|
if host_machine.system() == 'linux'
|
|
dependencies += cc.find_library('m')
|
|
dependencies += cc.find_library('X11')
|
|
dependencies += cc.find_library('dw')
|
|
sources += ['include/backward-cpp/backward.cpp']
|
|
add_project_arguments('-DBACKWARD_HAS_DW=1', language : 'cpp')
|
|
add_project_link_arguments('-lstdc++', language : 'cpp')
|
|
endif
|
|
|
|
inc = include_directories('include', 'include/imgui', 'include/imgui-sfml')
|
|
|
|
subdir('test')
|
|
|
|
executable(
|
|
'jujube',
|
|
sources,
|
|
dependencies: dependencies,
|
|
include_directories : inc,
|
|
cpp_args : [
|
|
'-Wall',
|
|
'-Wextra',
|
|
'-Wshadow',
|
|
'-Wnon-virtual-dtor',
|
|
'-pedantic'
|
|
]
|
|
) |