wscript (7026B)
1 # -*- mode: python -*- 2 3 # idx map: 4 # 10xx scraps 5 # 100xx zlib 6 # 101xx tinyxml 7 # 102xx mujs 8 # 5xxxx libshit 9 10 APPNAME='scraps' 11 LIBSHIT_CROSS=False 12 13 def options(opt): 14 grp = opt.get_option_group('configure options') 15 16 opt.recurse('libshit', name='options') 17 opt.recurse('ext', name='options') 18 19 def configure(cfg): 20 cfg.recurse('libshit', name='configure', once=False) 21 cfg.recurse('ext', name='configure', once=False) 22 23 if cfg.env.DEST_OS != 'win32': 24 cfg.check_cxx(lib='pthread') 25 26 def build(ctx): 27 ctx.recurse('libshit', once=False) 28 ctx.recurse('ext', name='build', once=False) 29 30 ctx.gen_version_hpp('src/scraps/version.hpp') 31 32 if ctx.env.WITH_TESTS: 33 src = [ 34 'src/scraps/format/rags_sql/test_helper/memory_db.cpp', 35 'src/scraps/format/rags_sql/test_helper/memory_sql.cpp', 36 'src/scraps/format/rags_sql/test_helper/sql_helper.cpp', 37 'src/scraps/format/rags_sql/test_helper/sql_server.cpp', 38 'test/scraps/bitfield.cpp', 39 'test/scraps/game/id_set.cpp', 40 'test/scraps/game/state_container.cpp', 41 ] 42 ctx.objects(idx = 1002, 43 source = src, 44 includes = 'src test', 45 uselib = 'SCRAPS', 46 use = 'PTHREAD libshit', 47 target = 'scraps-tests') 48 49 ctx.objects(idx = 1003, 50 source = [ 'src/scraps/format/rags_sql/gzip.cpp' ], 51 includes = 'src', 52 uselib = 'SCRAPS', 53 use = 'ZLIB zlib libshit', 54 target = 'scraps-gzip') 55 56 src = [ 57 'src/scraps/format/rags_sql/sql_importer.cpp', 58 'src/scraps/format/rags_sql/sql_importer_action.cpp', 59 'src/scraps/format/rags_sql/sql_importer_character.cpp', 60 'src/scraps/format/rags_sql/sql_importer_file.cpp', 61 'src/scraps/format/rags_sql/sql_importer_helpers.cpp', 62 'src/scraps/format/rags_sql/sql_importer_misc.cpp', 63 'src/scraps/format/rags_sql/sql_importer_object.cpp', 64 'src/scraps/format/rags_sql/sql_importer_room.cpp', 65 'src/scraps/format/rags_sql/sql_importer_timer.cpp', 66 'src/scraps/format/rags_sql/sql_importer_variable.cpp', 67 ] 68 ctx.objects(idx = 1004, 69 source = src, 70 includes = 'src', 71 uselib = 'SCRAPS', 72 use = 'CAPNP TINYXML capnp libshit tinyxml', 73 target = 'scraps-xml') 74 75 src = [ 76 'src/scraps/game/action_eval/command_misc.cpp', 77 'src/scraps/game/action_eval/command_variable.cpp', 78 'src/scraps/js.cpp', 79 ] 80 ctx.objects(idx = 1005, 81 source = src, 82 includes = 'src', 83 uselib = 'SCRAPS', 84 use = 'CAPNP MUJS capnp libshit mujs', 85 target = 'scraps-js') 86 87 src = [ 88 'src/scraps/date_time.cpp', 89 'src/scraps/dotnet_date_time_format.cpp', 90 'src/scraps/dotnet_date_time_parse.cpp', 91 'src/scraps/format/archive.cpp', 92 'src/scraps/format/proto/action.capnp', 93 'src/scraps/format/proto/game.capnp', 94 'src/scraps/format/rags_common/importer_action.cpp', 95 'src/scraps/format/rags_common/importer_base.cpp', 96 'src/scraps/format/rags_common/importer_file.cpp', 97 'src/scraps/format/rags_common/importer_object.cpp', 98 'src/scraps/format/rags_common/importer_variable.cpp', 99 'src/scraps/format/rags_sql/base64.cpp', 100 'src/scraps/format/rags_sql/default_schema.cpp', 101 'src/scraps/format/rags_sql/popen_sql.cpp', 102 'src/scraps/format/rags_sql/schema_update.cpp', 103 'src/scraps/format/rags_sql/sql.cpp', 104 'src/scraps/format/string_pool.cpp', 105 'src/scraps/game/action_eval.cpp', 106 'src/scraps/game/action_eval/action_helper.cpp', 107 'src/scraps/game/action_eval/choices.cpp', 108 'src/scraps/game/action_eval/command_action.cpp', 109 'src/scraps/game/action_eval/command_character.cpp', 110 'src/scraps/game/action_eval/command_file.cpp', 111 'src/scraps/game/action_eval/command_helper.cpp', 112 'src/scraps/game/action_eval/command_list.cpp', 113 'src/scraps/game/action_eval/command_object.cpp', 114 'src/scraps/game/action_eval/command_objects.cpp', 115 'src/scraps/game/action_eval/command_room.cpp', 116 'src/scraps/game/action_eval/command_timer.cpp', 117 'src/scraps/game/action_eval/condition.cpp', 118 'src/scraps/game/action_eval/enter_leave.cpp', 119 'src/scraps/game/action_eval/game_init.cpp', 120 'src/scraps/game/action_eval/if_character.cpp', 121 'src/scraps/game/action_eval/if_helper.cpp', 122 'src/scraps/game/action_eval/if_misc.cpp', 123 'src/scraps/game/action_eval/if_object.cpp', 124 'src/scraps/game/action_eval/if_variable.cpp', 125 'src/scraps/game/action_eval/loop_misc.cpp', 126 'src/scraps/game/action_eval/loop_object.cpp', 127 'src/scraps/game/action_eval/outer_action.cpp', 128 'src/scraps/game/action_eval/timer.cpp', 129 'src/scraps/game/action_state.cpp', 130 'src/scraps/game/character_state.cpp', 131 'src/scraps/game/dummy_game.cpp', 132 'src/scraps/game/game_controller.cpp', 133 'src/scraps/game/game_state.cpp', 134 'src/scraps/game/object_state.cpp', 135 'src/scraps/game/property_state.cpp', 136 'src/scraps/game/room_state.cpp', 137 'src/scraps/game/text_replace.cpp', 138 'src/scraps/game/text_replace/attribute.cpp', 139 'src/scraps/game/text_replace/js_array.cpp', 140 'src/scraps/game/text_replace/property.cpp', 141 'src/scraps/game/text_replace/simple_misc.cpp', 142 'src/scraps/game/text_replace/simple_object.cpp', 143 'src/scraps/game/text_replace/simple_player.cpp', 144 'src/scraps/game/text_replace/simple_room.cpp', 145 'src/scraps/game/text_replace/variable.cpp', 146 'src/scraps/game/timer_state.cpp', 147 'src/scraps/game/variable_state.cpp', 148 'src/scraps/polymorphic_stack.cpp', 149 'src/scraps/popen.cpp', 150 'src/scraps/string_utils.cpp', 151 'src/scraps/ui/dummy.cpp', 152 'src/scraps/uuid.cpp', 153 ] 154 155 # compile common stuff that doesn't depend on optionals as a separate 156 # objects task. this way enabling/disabling optionals doesn't rebuild the 157 # whole code due to include path changes 158 ctx.objects(idx = 1000, 159 source = src, 160 includes = 'src', 161 uselib = 'SCRAPS', 162 use = 'CAPNP capnp libshit', 163 target = 'scraps-objects') 164 # source can't be empty though... 165 ctx.program(idx = 1001, 166 source = 'src/scraps/main.cpp', 167 includes = 'src', 168 uselib = 'SCRAPS', 169 use = ['scraps-objects', 'scraps-gzip', 'scraps-js', 170 'scraps-tests', 'scraps-xml'], 171 target = 'scraps')