Skip to content

Commit 499c3a3

Browse files
committed
Add Meson Build System to CMaNGOS TBC
1 parent f74ec94 commit 499c3a3

File tree

29 files changed

+1359
-0
lines changed

29 files changed

+1359
-0
lines changed

contrib/extractor/meson.build

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
ad_sources = [
2+
'loadlib/loadlib.cpp',
3+
'loadlib/adt.cpp',
4+
'loadlib/wdt.cpp',
5+
'dbcfile.cpp',
6+
'mpq_libmpq.cpp',
7+
'System.cpp',
8+
]
9+
10+
executable('ad',
11+
ad_sources,
12+
link_with: [lib_libmpq],
13+
include_directories: global_includes,
14+
dependencies: [boost_dep, zlib_dep],
15+
link_args: _linker_args,
16+
install_dir: 'bin/tools',
17+
install: true
18+
)

contrib/git_id/meson.build

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
executable('git_id',
2+
'git_id.cpp',
3+
)

contrib/mmap/meson.build

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
movemapgen_args = ''
2+
movemapgen_args = [movemapgen_args, '-DMMAP_GENERATOR', '-DNO_CORE_FUNCS', '-DNO_vsnprintf', '-DDT_POLYREF64']
3+
movemapgen_sources = [
4+
'src/generator.cpp',
5+
'src/IntermediateValues.cpp',
6+
'src/MapBuilder.cpp',
7+
'src/TerrainBuilder.cpp',
8+
'src/VMapExtensions.cpp'
9+
]
10+
11+
if build_machine.system() == 'linux'
12+
movemapgen_args = [movemapgen_args, '-ggdb']
13+
endif
14+
15+
vmaplib = static_library('vmaplib',
16+
['../../src/game/vmap/BIH.cpp', '../../src/game/vmap/VMapManager2.cpp', '../../src/game/vmap/MapTree.cpp', '../../src/game/vmap/TileAssembler.cpp', '../../src/game/vmap/WorldModel.cpp', '../../src/game/vmap/ModelInstance.cpp'],
17+
include_directories: global_includes,
18+
dependencies: [zlib_dep, boost_dep],
19+
cpp_args: movemapgen_args,
20+
link_with: [g3dlib, detourlib, recastlib, sharedlib, frameworklib],
21+
install : false
22+
)
23+
24+
mmaplib = static_library('mmaplib',
25+
['src/generator.cpp', 'src/IntermediateValues.cpp', 'src/MapBuilder.cpp', 'src/TerrainBuilder.cpp', 'src/VMapExtensions.cpp'],
26+
include_directories: global_includes,
27+
dependencies: [zlib_dep, boost_dep],
28+
cpp_args: movemapgen_args,
29+
link_with: [vmaplib, detourlib, recastlib, g3dlib, sharedlib, frameworklib],
30+
install: false
31+
)
32+
33+
if get_option('BUILD_EXTRACTORS')
34+
if build_machine.system() == 'linux'
35+
local_linker = [_linker_args, '-rdynamic']
36+
endif
37+
executable('MoveMapGen',
38+
movemapgen_sources,
39+
link_with: [vmaplib, detourlib, recastlib, mmaplib],
40+
include_directories: global_includes,
41+
dependencies: [boost_dep, zlib_dep],
42+
cpp_args: movemapgen_args,
43+
link_args: _linker_args,
44+
install_dir: 'bin/tools',
45+
install: true
46+
)
47+
install_data(movemapgen_script_file, install_dir: 'bin/tools')
48+
install_data(offmesh_file, install_dir: 'bin/tools')
49+
install_data(config_json_file, install_dir: 'bin/tools')
50+
endif
51+

contrib/vmap_assembler/meson.build

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
assembler_args = ''
2+
if get_option('DEBUG')
3+
assembler_args = [assembler_args, '-DIOMAP_DEBUG']
4+
endif
5+
6+
assembler_args = [assembler_args, '-DNO_CORE_FUNCS']
7+
8+
if build_machine.system() == 'linux'
9+
assembler_args = [assembler_args, '-ggdb']
10+
endif
11+
12+
vmap_assembler_sources = [
13+
'../../src/game/vmap/BIH.cpp',
14+
'../../src/game/vmap/VMapManager2.cpp',
15+
'../../src/game/vmap/MapTree.cpp',
16+
'../../src/game/vmap/TileAssembler.cpp',
17+
'../../src/game/vmap/WorldModel.cpp',
18+
'../../src/game/vmap/ModelInstance.cpp',
19+
'vmap_assembler.cpp'
20+
]
21+
22+
executable('vmap_assembler',
23+
vmap_assembler_sources,
24+
link_with: [g3dlib, sharedlib],
25+
include_directories: global_includes,
26+
dependencies: [boost_dep, zlib_dep],
27+
cpp_args: assembler_args,
28+
link_args: _linker_args,
29+
install_dir: 'bin/tools',
30+
install: true
31+
)

contrib/vmap_extractor/meson.build

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
vmap_extractor_args = ['-DIOMAP_DEBUG', '-DUSE_LIBMPQ04']
2+
3+
if build_machine.system() == 'linux'
4+
vmap_extractor_args = [vmap_extractor_args, '-ggdb']
5+
endif
6+
7+
subdir('vmapextract')
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
vmap_extractor_sources = [
2+
'adtfile.cpp',
3+
'dbcfile.cpp',
4+
'gameobject_extract.cpp',
5+
'model.cpp',
6+
'mpq_libmpq.cpp',
7+
'vmapexport.cpp',
8+
'wdtfile.cpp',
9+
'wmo.cpp'
10+
]
11+
12+
executable('vmap_extractor',
13+
vmap_extractor_sources,
14+
include_directories: global_includes,
15+
link_with: [g3dlib, lib_libmpq, detourlib, recastlib],
16+
link_args: _linker_args,
17+
install_dir: 'bin/tools',
18+
install: true
19+
)
20+
install_data(extractor_script_file, install_dir: 'bin/tools')

dep/g3dlite/meson.build

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
g3d_sources = [
2+
'AABox.cpp',
3+
'Any.cpp',
4+
'BinaryFormat.cpp',
5+
'BinaryInput.cpp',
6+
'BinaryOutput.cpp',
7+
'Box.cpp',
8+
'Capsule.cpp',
9+
'CollisionDetection.cpp',
10+
'CoordinateFrame.cpp',
11+
'Crypto.cpp',
12+
'Cylinder.cpp',
13+
'FileSystem.cpp',
14+
'Line.cpp',
15+
'LineSegment.cpp',
16+
'Log.cpp',
17+
'Matrix3.cpp',
18+
'Matrix4.cpp',
19+
'MemoryManager.cpp',
20+
'PhysicsFrame.cpp',
21+
'Plane.cpp',
22+
'Quat.cpp',
23+
'Random.cpp',
24+
'Ray.cpp',
25+
'ReferenceCount.cpp',
26+
'RegistryUtil.cpp',
27+
'Sphere.cpp',
28+
'System.cpp',
29+
'TextInput.cpp',
30+
'TextOutput.cpp',
31+
'Triangle.cpp',
32+
'UprightFrame.cpp',
33+
'Vector2.cpp',
34+
'Vector3.cpp',
35+
'Vector4.cpp',
36+
'debugAssert.cpp',
37+
'fileutils.cpp',
38+
'format.cpp',
39+
'g3dfnmatch.cpp',
40+
'g3dmath.cpp',
41+
'prompt.cpp',
42+
'stringutils.cpp',
43+
'uint128.cpp'
44+
]
45+
46+
g3d_inc = include_directories('G3D', '../include')
47+
48+
g3dlib = static_library('g3dlite',
49+
g3d_sources,
50+
include_directories: g3d_inc,
51+
dependencies: zlib_dep,
52+
install : false)

dep/libmpq/meson.build

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
libmpq_sources = [
2+
'config.h',
3+
'libmpq/common.c',
4+
'libmpq/common.h',
5+
'libmpq/crypt_buf.h',
6+
'libmpq/explode.c',
7+
'libmpq/explode.h',
8+
'libmpq/extract.c',
9+
'libmpq/huffman.c',
10+
'libmpq/huffman.h',
11+
'libmpq/mpq-internal.h',
12+
'libmpq/mpq.c',
13+
'libmpq/mpq.h',
14+
'libmpq/pack_begin.h',
15+
'libmpq/pack_end.h',
16+
'libmpq/platform.h',
17+
'libmpq/wave.c',
18+
'libmpq/wave.h'
19+
]
20+
21+
libmpq_inc_dir = ['.']
22+
23+
if meson.get_compiler('cpp').get_id() == 'msvc'
24+
libmpq_inc_dir = [libmpq_inc_dir, 'win']
25+
endif
26+
27+
libmpq_inc = include_directories(libmpq_inc_dir)
28+
29+
lib_libmpq = static_library('libmpq',
30+
libmpq_sources,
31+
include_directories: libmpq_inc,
32+
dependencies: [zlib_dep, bzip2_dep],
33+
install : false
34+
)

dep/meson.build

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
if get_option('BUILD_GAME_SERVER') or get_option('BUILD_LOGIN_SERVER') or get_option('BUILD_EXTRACTORS')
2+
subdir('recastnavigation')
3+
subdir('src')
4+
subdir('g3dlite')
5+
if get_option('BUILD_EXTRACTORS')
6+
subdir('libmpq')
7+
endif
8+
endif
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
detour_sources = [
2+
'Source/DetourAlloc.cpp',
3+
'Source/DetourAssert.cpp',
4+
'Source/DetourCommon.cpp',
5+
'Source/DetourNavMesh.cpp',
6+
'Source/DetourNavMeshBuilder.cpp',
7+
'Source/DetourNavMeshQuery.cpp',
8+
'Source/DetourNode.cpp',
9+
'Include/DetourAlloc.h',
10+
'Include/DetourAssert.h',
11+
'Include/DetourCommon.h',
12+
'Include/DetourMath.h',
13+
'Include/DetourNavMesh.h',
14+
'Include/DetourNavMeshBuilder.h',
15+
'Include/DetourNavMeshQuery.h',
16+
'Include/DetourNode.h',
17+
'Include/DetourStatus.h'
18+
]
19+
20+
detour_inc = include_directories('Include')
21+
22+
detourlib = static_library('Detour',
23+
detour_sources,
24+
include_directories: detour_inc,
25+
cpp_args: recastnav_args,
26+
install : false)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
recast_sources = [
2+
'Source/Recast.cpp',
3+
'Source/RecastAlloc.cpp',
4+
'Source/RecastArea.cpp',
5+
'Source/RecastAssert.cpp',
6+
'Source/RecastContour.cpp',
7+
'Source/RecastFilter.cpp',
8+
'Source/RecastLayers.cpp',
9+
'Source/RecastMesh.cpp',
10+
'Source/RecastMeshDetail.cpp',
11+
'Source/RecastRasterization.cpp',
12+
'Source/RecastRegion.cpp',
13+
'Include/Recast.h',
14+
'Include/RecastAlloc.h',
15+
'Include/RecastAssert.h'
16+
]
17+
18+
recastlib = static_library('recast',
19+
recast_sources,
20+
include_directories: include_directories('Include'),
21+
cpp_args: recastnav_args,
22+
install : false
23+
)

dep/recastnavigation/meson.build

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
if get_option('BUILD_GAME_SERVER') or get_option('BUILD_EXTRACTORS') or get_option('BUILD_RECASTDEMOMOD')
2+
recastnav_args = '-DDT_POLYREF64'
3+
subdir('Detour')
4+
endif
5+
6+
if get_option('BUILD_EXTRACTORS') or get_option('BUILD_RECASTDEMOMOD')
7+
subdir('Recast')
8+
endif
9+
10+
if get_option('BUILD_RECASTDEMOMOD')
11+
subdir('DetourCrowd')
12+
subdir('DetourTileCache')
13+
subdir('DebugUtils')
14+
endif

dep/src/bzip2/meson.build

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
bzip2_sources = [
2+
'compress.c',
3+
'crctable.c',
4+
'decompress.c',
5+
'huffman.c',
6+
'randtable.c',
7+
'blocksort.c',
8+
'bzlib.c'
9+
]
10+
11+
bz2_inc = include_directories('.')
12+
13+
bz2lib = static_library('bzip2',
14+
bzip2_sources,
15+
include_directories: [global_includes, bz2_inc],
16+
install : false)
17+
18+
bzip2_dep = declare_dependency(
19+
include_directories: bz2_inc,
20+
link_with: bz2lib
21+
)

dep/src/gsoap/meson.build

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
gsoap_sources = ['stdsoap2.cpp']
2+
3+
gsoaplib = static_library('gsoap',
4+
gsoap_sources,
5+
include_directories: global_includes,
6+
install : false)

dep/src/meson.build

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
subdir('gsoap')
2+
if get_option('BUILD_EXTRACTORS')
3+
bzip2_dep = dependency('bzip2', required: false)
4+
if not bzip2_dep.found()
5+
subdir('bzip2')
6+
endif
7+
endif

doc/meson.build

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
doxygen = find_program('doxygen', required : false)
2+
if doxygen.found()
3+
doxy_file = configure_file(
4+
configuration: {'PACKAGE': meson.project_name(), 'VERSION': meson.project_version(), 'TOPSRCDIR': meson.source_root(), 'DESTDIR': meson.build_root() + '/doc/docs'},
5+
input: 'Doxyfile.dist',
6+
output: 'Doxyfile'
7+
)
8+
run_command([doxygen, meson.build_root() + '/doc/Doxyfile'], check: false)
9+
install_subdir(meson.build_root() + '/doc/docs/html', install_dir: 'docs')
10+
else
11+
warning('Documentation disabled without doxygen')
12+
endif

0 commit comments

Comments
 (0)