|
|
|
project('Pong', ['cpp', 'c'], version: '0.1')
|
|
|
|
add_global_arguments('-g', '-Wall', '-pedantic', '-Wno-unused-function', '-Wno-narrowing', language : ['cpp', 'c'])
|
|
|
|
compiler = meson.get_compiler('cpp')
|
|
|
|
cmake = import('cmake')
|
|
|
|
|
|
|
|
if get_option('default_library') == 'shared'
|
|
|
|
raylib = dependency('raylib', required: false) # Try to find dependency with pkg-config
|
|
|
|
if not raylib.found()
|
|
|
|
raylib = compiler.find_library('raylib', has_headers: ['raylib.h', 'raymath.h'], required: true) # Try to manually search for the dependency
|
|
|
|
endif
|
|
|
|
# if not raylib.found()
|
|
|
|
# opt_var = cmake.subproject_options()
|
|
|
|
# opt_var.add_cmake_defines({'BUILD_SHARED_LIBS' : true})
|
|
|
|
# opt_var.add_cmake_defines({'CMAKE_SKIP_RPATH' : true})
|
|
|
|
# raylib_proj = cmake.subproject('raylib', options: opt_var)
|
|
|
|
# raylib = raylib_proj.dependency('raylib')
|
|
|
|
# endif
|
|
|
|
endif
|
|
|
|
if get_option('default_library') == 'static'
|
|
|
|
raylib_proj = cmake.subproject('raylib')
|
|
|
|
raylib = raylib_proj.dependency('raylib')
|
|
|
|
endif
|
|
|
|
|
|
|
|
#For Windows only
|
|
|
|
ws2_dep = compiler.find_library('ws2_32', required: false)
|
|
|
|
winmm = compiler.find_library('winmm', required: false)
|
|
|
|
if build_machine.system() == 'windows'
|
|
|
|
add_global_arguments('-Wl,--subsystem,windows', '-mwindows', language: ['cpp', 'c']) # Prevent opening console when game is run
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
executable('pong',
|
|
|
|
'main.cpp', 'easysock.cpp', 'sock.cpp','paddle.cpp', 'ball.cpp', 'numeric_base.cpp', 'connect_code.cpp', 'server.cpp', 'client.cpp',
|
|
|
|
'serialization.c',
|
|
|
|
dependencies: [raylib, ws2_dep, winmm]
|
|
|
|
)
|