pokeplatinum/tools/datagen/meson.build
Rachel d92f23036b
Some checks are pending
build / build (push) Waiting to run
tools: Replace use of datagen_species.cpp with speciesproc.c
2026-03-20 22:26:04 -07:00

75 lines
2.1 KiB
Meson

# Datagen is a collection of utilities for transforming editable data files from
# the asset tree into in-game data, whether in source code tables or filesystem
# archives. Individual utilities should be written in C/C++ and make use of
# constants and structure definitions also used by the ROM's source code to ensure
# that changes are correctly synced between source code and generated data. Any
# changes to ROM headers which are also used by these utilities will be picked up
# by standard depfile management and trigger a recompilation, which will then flag
# files generated by the recompiled utilities for rebuild.
subproject('rapidjson')
datagen_cpp_args = [
'-std=c++17',
'-Wno-deprecated-declarations', # rapidjson 1.1.0 makes use of std::iterator
'-Wno-shift-count-overflow', # datagen-trainer references AI flags, which warn of a shift-count overflow on an unused field
'-O3',
]
datagen_trainer_exe = executable(
'datagen-trainer',
sources: [
files('datagen_trainer.cpp'),
c_consts_generators,
],
cpp_args: datagen_cpp_args,
implicit_include_directories: true,
include_directories: [
public_includes,
toplevel_includes,
],
dependencies: [
nitroarc_dep,
rapidjson_dep,
],
native: true,
)
datagen_frontier_exe = executable(
'datagen-frontier',
sources: [
files('datagen_frontier.cpp'),
c_consts_generators,
],
cpp_args: datagen_cpp_args,
implicit_include_directories: true,
include_directories: [
public_includes,
toplevel_includes,
],
dependencies: [
nitroarc_dep,
rapidjson_dep,
],
native: true,
)
datagen_events_exe = executable(
'datagen-events',
sources: [
files('datagen_events.cpp'),
c_consts_generators,
],
cpp_args: datagen_cpp_args,
implicit_include_directories: true,
include_directories: [
public_includes,
toplevel_includes,
],
dependencies: [
nitroarc_dep,
rapidjson_dep,
],
native: true,
)