project('c-plus-plus-dafuq', 'cpp', version: '0.1.0', default_options: [ 'cpp_std=c++20', 'cpp_args=-DTRACY_ENABLE=1 -D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1', 'cpp_args=-DTRACY_ENABLE=1', ]) exe_defaults = [] cc = meson.get_compiler('cpp') tracy = dependency('tracy', static: true) catch2 = dependency('catch2-with-main') fmt = dependency('fmt', allow_fallback: true) json = dependency('nlohmann_json') # not sure if tracy needs these opengl32 = cc.find_library('opengl32', required: true) winmm = cc.find_library('winmm', required: true) gdi32 = cc.find_library('gdi32', required: true) # i know for sure tracy needs these ws2_32 = cc.find_library('ws2_32', required: true) dbghelp = cc.find_library('dbghelp', required: true) if get_option('tracy_enable') and get_option('buildtype') != 'debugoptimized' warning('Profiling builds should set --buildtype=debugoptimized') endif dependencies = [ tracy, catch2, fmt, json, opengl32, ws2_32, dbghelp ] # use this for common options only for our executables cpp_args=[ ] executable('emplace_test', [ 'TracyClient.cpp', 'emplace_move/test.cpp' ], override_options: exe_defaults, dependencies: dependencies) executable('rvo_test', [ 'TracyClient.cpp', 'rvo/test.cpp' ], override_options: exe_defaults, dependencies: dependencies)