Set up scons build system
- In its current state, it produces a valid, launchable Mac application package, though one that's not redistributable (relies on system-installed libraries) - Partial support is already in-place for a Windows build
This commit is contained in:
@@ -151,7 +151,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<string>Blades of Exile</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>BoE</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
|
@@ -636,7 +636,7 @@
|
||||
915E09071A316D6A008BDF00 /* map_parse.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = map_parse.hpp; sourceTree = "<group>"; };
|
||||
915E09081A316D89008BDF00 /* map_parse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = map_parse.cpp; sourceTree = "<group>"; };
|
||||
9169C31B1B37A5D50041002B /* Blades of Exile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Blades of Exile.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9169C31D1B37A5D50041002B /* Blades of Exile Character Editor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Blades of Exile Character Editor.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9169C31D1B37A5D50041002B /* BoE Character Editor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "BoE Character Editor.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9169C31F1B37A5D50041002B /* BoE Scenario Editor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "BoE Scenario Editor.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9178235C1B2EA0C5007F3444 /* vorbisenc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vorbisenc.framework; path = ../../../../../../Library/Frameworks/vorbisenc.framework; sourceTree = "<group>"; };
|
||||
917823671B2F32DD007F3444 /* vorbisfile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vorbisfile.framework; path = ../../../../../../Library/Frameworks/vorbisfile.framework; sourceTree = "<group>"; };
|
||||
@@ -976,7 +976,7 @@
|
||||
911F2D981B98F43B00E3102E /* libCommon.a */,
|
||||
911F2D9D1B98F44700E3102E /* libCommon-Party.a */,
|
||||
9169C31B1B37A5D50041002B /* Blades of Exile.app */,
|
||||
9169C31D1B37A5D50041002B /* Blades of Exile Character Editor.app */,
|
||||
9169C31D1B37A5D50041002B /* BoE Character Editor.app */,
|
||||
9169C31F1B37A5D50041002B /* BoE Scenario Editor.app */,
|
||||
91CC172D1B421C0A003D9A69 /* boe_test */,
|
||||
);
|
||||
@@ -1506,7 +1506,7 @@
|
||||
);
|
||||
name = "Blades of Exile Character Editor";
|
||||
productName = "Blades of Exile Character Editor";
|
||||
productReference = 9169C31D1B37A5D50041002B /* Blades of Exile Character Editor.app */;
|
||||
productReference = 9169C31D1B37A5D50041002B /* BoE Character Editor.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
91B3EF3E0F969F0000BF5B67 /* BoE Scenario Editor */ = {
|
||||
@@ -2165,7 +2165,7 @@
|
||||
"-lCommon",
|
||||
);
|
||||
OTHER_LDFLAGS_QUOTED_FOR_TARGET_1 = "-L\"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/\"";
|
||||
PRODUCT_NAME = "Blades of Exile Character Editor";
|
||||
PRODUCT_NAME = "BoE Character Editor";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
@@ -2190,7 +2190,7 @@
|
||||
"-lCommon",
|
||||
);
|
||||
OTHER_LDFLAGS_QUOTED_FOR_TARGET_1 = "-L\"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/\"";
|
||||
PRODUCT_NAME = "Blades of Exile Character Editor";
|
||||
PRODUCT_NAME = "BoE Character Editor";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
|
50
src/SConscript
Normal file
50
src/SConscript
Normal file
@@ -0,0 +1,50 @@
|
||||
|
||||
Import("env platform common_sources party_classes install_dir")
|
||||
|
||||
game_sources = Split("""
|
||||
boe.actions.cpp
|
||||
boe.combat.cpp
|
||||
boe.dlgutil.cpp
|
||||
boe.fileio.cpp
|
||||
boe.graphics.cpp
|
||||
boe.graphutil.cpp
|
||||
boe.infodlg.cpp
|
||||
boe.itemdata.cpp
|
||||
boe.items.cpp
|
||||
boe.locutils.cpp
|
||||
boe.main.cpp
|
||||
boe.monster.cpp
|
||||
boe.newgraph.cpp
|
||||
boe.party.cpp
|
||||
boe.specials.cpp
|
||||
boe.startup.cpp
|
||||
boe.text.cpp
|
||||
boe.town.cpp
|
||||
boe.townspec.cpp
|
||||
pcedit/pc.editors.cpp
|
||||
tools/fileio_party.cpp
|
||||
""")
|
||||
|
||||
if str(platform) == "darwin":
|
||||
game_sources.extend(Split("""
|
||||
boe.appleevents.mm
|
||||
boe.menus.mac.mm
|
||||
"""))
|
||||
elif str(platform) == "windows":
|
||||
game_sources.extend(Split("""
|
||||
boe.menus.win.cpp
|
||||
"""))
|
||||
|
||||
boe = env.Program("#build/bin/Blades of Exile", common_sources + party_classes + game_sources)
|
||||
|
||||
if str(platform) == "darwin":
|
||||
boe_info = {
|
||||
'nib': '#rsrc/menus/game',
|
||||
'plist': 'BoE-Info.plist',
|
||||
'creator': 'blx!',
|
||||
'icons': 'BoE boegraphics boeresources boesave boesounds',
|
||||
}
|
||||
elif str(platform) == "windows":
|
||||
pass
|
||||
|
||||
env.Package(boe, install_dir, boe_info)
|
36
src/classes/SConscript
Normal file
36
src/classes/SConscript
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
Import("env")
|
||||
|
||||
common_classes = Split("""
|
||||
estreams.cpp
|
||||
item.cpp
|
||||
location.cpp
|
||||
monster.cpp
|
||||
outdoors.cpp
|
||||
regtown.cpp
|
||||
scenario.cpp
|
||||
shop.cpp
|
||||
special.cpp
|
||||
spell.cpp
|
||||
talking.cpp
|
||||
terrain.cpp
|
||||
tmpltown.cpp
|
||||
town.cpp
|
||||
vehicle.cpp
|
||||
""")
|
||||
|
||||
party_classes = Split("""
|
||||
creatlist.cpp
|
||||
creature.cpp
|
||||
living.cpp
|
||||
party.cpp
|
||||
pc.cpp
|
||||
universe.cpp
|
||||
""")
|
||||
|
||||
common = env.StaticLibrary("#build/lib/common", common_classes)
|
||||
party = env.StaticLibrary("#build/lib/common_party", party_classes)
|
||||
|
||||
ret = (common, party)
|
||||
|
||||
Return("ret")
|
6
src/dialogxml/SConscript
Normal file
6
src/dialogxml/SConscript
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
Import("env")
|
||||
|
||||
dlog_util = env.StaticLibrary("#build/lib/dlogutil", Glob("*.cpp") + Glob("xml-parser/*.cpp"))
|
||||
|
||||
Return("dlog_util")
|
@@ -32,7 +32,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<string>BoE Character Editor</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>BoECharEd</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
|
35
src/pcedit/SConscript
Normal file
35
src/pcedit/SConscript
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
Import("env platform common_sources party_classes install_dir")
|
||||
|
||||
pced_sources = Split("""
|
||||
pc.action.cpp
|
||||
pc.editors.cpp
|
||||
pc.fileio.cpp
|
||||
pc.graphics.cpp
|
||||
pc.main.cpp
|
||||
../tools/fileio_party.cpp
|
||||
""")
|
||||
|
||||
if str(platform) == "darwin":
|
||||
pced_sources.extend(Split("""
|
||||
pc.appleevents.mm
|
||||
pc.menus.mac.mm
|
||||
"""))
|
||||
elif str(platform) == "windows":
|
||||
pced_sources.extend(Split("""
|
||||
pc.menus.win.cpp
|
||||
"""))
|
||||
|
||||
pced = env.Program("#build/bin/BoE Character Editor", common_sources + party_classes + pced_sources)
|
||||
|
||||
if str(platform) == "darwin":
|
||||
pced_info = {
|
||||
'nib': '#rsrc/menus/pcedit',
|
||||
'plist': 'BoECharEd-Info.plist',
|
||||
'creator': 'blxe',
|
||||
'icons': 'BoECharEd',
|
||||
}
|
||||
elif str(platform) == "windows":
|
||||
pass
|
||||
|
||||
env.Package(pced, install_dir, pced_info)
|
@@ -33,7 +33,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<string>BoE Scenario Editor</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>BoEScenEd</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
|
37
src/scenedit/SConscript
Normal file
37
src/scenedit/SConscript
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
Import("env platform common_sources install_dir")
|
||||
|
||||
scened_sources = Split("""
|
||||
scen.actions.cpp
|
||||
scen.btnmg.cpp
|
||||
scen.core.cpp
|
||||
scen.fileio.cpp
|
||||
scen.graphics.cpp
|
||||
scen.keydlgs.cpp
|
||||
scen.main.cpp
|
||||
scen.townout.cpp
|
||||
""")
|
||||
|
||||
if str(platform) == "darwin":
|
||||
scened_sources.extend(Split("""
|
||||
scen.appleevents.mm
|
||||
scen.menus.mac.mm
|
||||
"""))
|
||||
elif str(platform) == "windows":
|
||||
scened_sources.extend(Split("""
|
||||
scen.menus.win.cpp
|
||||
"""))
|
||||
|
||||
scened = env.Program("#build/bin/BoE Scenario Editor", common_sources + scened_sources)
|
||||
|
||||
if str(platform) == "darwin":
|
||||
scened_info = {
|
||||
'nib': '#rsrc/menus/scenedit',
|
||||
'plist': 'BoEScenEd-Info.plist',
|
||||
'creator': 'BlEd',
|
||||
'icons': 'boescenario BoEScenEd',
|
||||
}
|
||||
elif str(platform) == "windows":
|
||||
pass
|
||||
|
||||
env.Package(scened, install_dir, scened_info)
|
35
src/tools/SConscript
Normal file
35
src/tools/SConscript
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
Import("env platform")
|
||||
|
||||
tools = Split("""
|
||||
fileio_scen.cpp
|
||||
fileio.cpp
|
||||
graphtool.cpp
|
||||
map_parse.cpp
|
||||
mathutil.cpp
|
||||
porting.cpp
|
||||
soundtool.cpp
|
||||
specials_parse.cpp
|
||||
tarball.cpp
|
||||
undo.cpp
|
||||
gzstream/gzstream.cpp
|
||||
""")
|
||||
|
||||
if str(platform) == "darwin":
|
||||
tools.extend(Split("""
|
||||
cursors.mac.mm
|
||||
prefs.mac.mm
|
||||
qdpict.cpp
|
||||
winutil.mac.mm
|
||||
"""))
|
||||
elif str(platform) == "windows":
|
||||
tools.extend(Split("""
|
||||
cursors.win.cpp
|
||||
menu_accel.win.cpp
|
||||
prefs.win.cpp
|
||||
winutil.win.cpp
|
||||
"""))
|
||||
|
||||
tools_obj = env.StaticLibrary("#build/lib/tools", tools)
|
||||
|
||||
Return("tools_obj")
|
Reference in New Issue
Block a user