diff --git a/meson.build b/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..40560ac63282cc525a9ab9c8add2aca9180133cd --- /dev/null +++ b/meson.build @@ -0,0 +1,108 @@ +project('batsched', 'cpp', + version: '1.3.0', + license: 'free', + default_options: ['cpp_std=c++11'], + meson_version: '>=0.40.0' +) + +# Dependencies +boost_dep = dependency('boost', + modules : ['locale', 'regex', 'system'] +) +rapidjson_dep = dependency('RapidJSON') +redox_dep = dependency('redox') +libzmq_dep = dependency('libzmq') +loguru_dep = dependency('loguru') +intervalset_dep = dependency('intervalset') +gmpxx_dep = dependency('gmpxx') + +batsched_deps = [ + boost_dep, + rapidjson_dep, + redox_dep, + libzmq_dep, + loguru_dep, + intervalset_dep, + gmpxx_dep +] + +# Source files +src = [ + 'src/algo/conservative_bf.cpp', + 'src/algo/conservative_bf.hpp', + 'src/algo/crasher.cpp', + 'src/algo/crasher.hpp', + 'src/algo/easy_bf.cpp', + 'src/algo/easy_bf_fast.cpp', + 'src/algo/easy_bf_fast.hpp', + 'src/algo/easy_bf.hpp', + 'src/algo/easy_bf_plot_liquid_load_horizon.cpp', + 'src/algo/easy_bf_plot_liquid_load_horizon.hpp', + 'src/algo/energy_bf.cpp', + 'src/algo/energy_bf_dicho.cpp', + 'src/algo/energy_bf_dicho.hpp', + 'src/algo/energy_bf.hpp', + 'src/algo/energy_bf_idle_sleeper.cpp', + 'src/algo/energy_bf_idle_sleeper.hpp', + 'src/algo/energy_bf_machine_subpart_sleeper.cpp', + 'src/algo/energy_bf_machine_subpart_sleeper.hpp', + 'src/algo/energy_bf_monitoring_inertial_shutdown.cpp', + 'src/algo/energy_bf_monitoring_inertial_shutdown.hpp', + 'src/algo/energy_bf_monitoring_period.cpp', + 'src/algo/energy_bf_monitoring_period.hpp', + 'src/algo/energy_watcher.cpp', + 'src/algo/energy_watcher.hpp', + 'src/algo/fcfs_fast.cpp', + 'src/algo/fcfs_fast.hpp', + 'src/algo/filler.cpp', + 'src/algo/filler.hpp', + 'src/algo/killer2.cpp', + 'src/algo/killer2.hpp', + 'src/algo/killer.cpp', + 'src/algo/killer.hpp', + 'src/algo/random.cpp', + 'src/algo/random.hpp', + 'src/algo/rejecter.cpp', + 'src/algo/rejecter.hpp', + 'src/algo/sequencer.cpp', + 'src/algo/sequencer.hpp', + 'src/algo/sleeper.cpp', + 'src/algo/sleeper.hpp', + 'src/algo/submitter.cpp', + 'src/algo/submitter.hpp', + 'src/algo/wt_estimator.cpp', + 'src/algo/wt_estimator.hpp', + 'src/data_storage.cpp', + 'src/data_storage.hpp', + 'src/decision.cpp', + 'src/decision.hpp', + 'src/exact_numbers.hpp', + 'src/external/taywee_args.hpp', + 'src/isalgorithm.cpp', + 'src/isalgorithm.hpp', + 'src/json_workload.cpp', + 'src/json_workload.hpp', + 'src/locality.cpp', + 'src/locality.hpp', + 'src/main.cpp', + 'src/network.cpp', + 'src/network.hpp', + 'src/pempek_assert.cpp', + 'src/pempek_assert.hpp', + 'src/protocol.cpp', + 'src/protocol.hpp', + 'src/queue.cpp', + 'src/queue.hpp', + 'src/queueing_theory_waiting_time_estimator.cpp', + 'src/queueing_theory_waiting_time_estimator.hpp', + 'src/schedule.cpp', + 'src/schedule.hpp' +] +include_dir = include_directories('src') + +batsched = executable('batsched', src, + include_directories: include_dir, + dependencies: batsched_deps, + cpp_args: '-DBATSCHED_VERSION=@0@'.format(meson.project_version()), + install: true +)