From 2d20185e77113fa1707af121dd2df22742899fa3 Mon Sep 17 00:00:00 2001 From: Tom Tanner Date: Sat, 14 Mar 2015 14:59:52 +0000 Subject: More sconscripts set up --- scons_configure_template.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 scons_configure_template.py (limited to 'scons_configure_template.py') diff --git a/scons_configure_template.py b/scons_configure_template.py new file mode 100644 index 00000000..10baa234 --- /dev/null +++ b/scons_configure_template.py @@ -0,0 +1,25 @@ +# This python script contains the configuration for scons +# Copy this to scons_configure.py and adjust to taste. + +# Version of Visual Studio to use, if you wish to use a specific version. If you +# don't specify a version, the latest will be picked.. See the scons manual for +# supported values. +#MSVC_VERSION = '10.0Exp' + +# Path to your python install +# You don't really need to set this up but you might if (say) you have a 32- and +# 64-bit python install and scons has been installed for the 64 bit version +#PYTHONPATH=C:\Apps\Python + +# Path to your boost install - it should have a boost/ subdirectory and a stage/ +# subdirectory. The scons script will use stage/lib if there, or the appropriate +# version for your compiler, if you installed the multiple-build version +BOOST_PATH = 'C:\\Apps\\boost_1_55_0' + +# Path to your QT install. This might constrain the version of MSVC you can use. +# This seems to be set by QTCreator +#QTDIR = 'C:\\Apps\\Qt\\4.8.6' + +# Path to zlib. Please read the README file for more information about how this +# needs to be set up +ZLIB_PATH = 'C:\\Apps\\zlib-1.2.8' -- cgit v1.3.1 From 2628dd3fb8731dcf87ec301a5bc6717401108cd0 Mon Sep 17 00:00:00 2001 From: Tom Tanner Date: Sun, 15 Mar 2015 10:58:21 +0000 Subject: Yet more scons stuff. Now builds everything but the plugins, and installs all the dlls --- README.txt | 2 +- scons_configure_template.py | 13 ++++++---- src/SConscript | 59 ++++++++------------------------------------- 3 files changed, 19 insertions(+), 55 deletions(-) (limited to 'scons_configure_template.py') diff --git a/README.txt b/README.txt index 77559ccb..168e1726 100644 --- a/README.txt +++ b/README.txt @@ -232,7 +232,7 @@ Troubleshooting (thanks to Ross): avoid having some Delta toolbar garbage installed... 5) Problem TT has seen: - Complains about 'qtwebkit4' missing. FOr some reason this seems to insist on + Complains about 'qtwebkit4' missing. For some reason this seems to insist on living with modorganiser.exe ------------------- diff --git a/scons_configure_template.py b/scons_configure_template.py index 10baa234..c48d1082 100644 --- a/scons_configure_template.py +++ b/scons_configure_template.py @@ -1,6 +1,11 @@ # This python script contains the configuration for scons # Copy this to scons_configure.py and adjust to taste. +# Path to your boost install - it should have a boost/ subdirectory and a stage/ +# subdirectory. The scons script will use stage/lib if there, or the appropriate +# version for your compiler, if you installed the multiple-build version +BOOST_PATH = 'C:\\Apps\\boost_1_55_0' + # Version of Visual Studio to use, if you wish to use a specific version. If you # don't specify a version, the latest will be picked.. See the scons manual for # supported values. @@ -11,15 +16,13 @@ # 64-bit python install and scons has been installed for the 64 bit version #PYTHONPATH=C:\Apps\Python -# Path to your boost install - it should have a boost/ subdirectory and a stage/ -# subdirectory. The scons script will use stage/lib if there, or the appropriate -# version for your compiler, if you installed the multiple-build version -BOOST_PATH = 'C:\\Apps\\boost_1_55_0' - # Path to your QT install. This might constrain the version of MSVC you can use. # This seems to be set by QTCreator #QTDIR = 'C:\\Apps\\Qt\\4.8.6' +# Path to 7-zip sources +SEVENZIP_PATH = 'C:\\Apps\\7-Zip\\7z920' + # Path to zlib. Please read the README file for more information about how this # needs to be set up ZLIB_PATH = 'C:\\Apps\\zlib-1.2.8' diff --git a/src/SConscript b/src/SConscript index 3a5aaa1e..e8f266ed 100644 --- a/src/SConscript +++ b/src/SConscript @@ -29,10 +29,8 @@ else: env.EnableQt4Modules(['Qt' + n for n in modules], debug = env['CONFIG'] == 'debug') -env.Uic4(Glob('*.ui')) -# modeltest is optional and it doesn't compile anyway... -cpp_files = [ x for x in Glob('*.cpp') if not str(x).endswith('modeltest.cpp') ] +env.Uic4(Glob('*.ui')) env.AppendUnique(LIBPATH = [ '..\\uibase', @@ -56,8 +54,8 @@ env.AppendUnique(LIBS = [ 'Version' ]) -# We have to 'persuade' moc to generate certain other targets and inject them into -# the list of cpps +# We have to 'persuade' moc to generate certain other targets and inject them +# into the list of cpps other_sources = env.AddExtraMoc(env.Glob('*.h')) for file in env.Glob('*.rc'): @@ -86,8 +84,8 @@ env.AppendUnique(CPPDEFINES = [ '_SCL_SECURE_NO_WARNINGS', 'NOMINMAX', 'BOOST_DISABLE_ASSERTS', -# Although the .pro file says it adds this, the compile line doesn't seem to have it (unless it's in the -# annoying '@' file +# Although the .pro file says it adds this, the compile line doesn't seem to +# have it (unless it's in the annoying '@' file # 'NDEBUG' ]) @@ -98,25 +96,20 @@ env.AppendUnique(CPPDEFINES = [ env.AppendUnique(CPPFLAGS = [ '-wd4100', '-wd4127', '-wd4512', '-wd4189' ]) -env['WINDOWS_EMBED_MANIFEST'] = True - env.AppendUnique(LINKFLAGS = [ '/SUBSYSTEM:WINDOWS', '${EXE_MANIFEST_DEPENDENCY}' ]) +# modeltest is optional and it doesn't compile anyway... +cpp_files = [ x for x in Glob('*.cpp') if not str(x).endswith('modeltest.cpp') ] + prog = env.Program('ModOrganizer', cpp_files + env.Glob('*.qrc') + other_sources) -env.Depends(prog, env.Value(env['ENV']['DLLSPATH'])) - -# FIXME scons bug doesn't provide pdb for executable. -if env['CONFIG'] == 'debug': - x = env.File('ModOrganizer.pdb') - env.Depends(x, prog) - prog.append(x) env.Install(env['INSTALL_PATH'], - filter(lambda x: str(x).endswith('.exe') or str(x).endswith('.pdb'), prog)) + filter(lambda x: str(x).endswith('.exe') or str(x).endswith('.pdb'), + prog)) for subdir in ('tutorials', 'stylesheets'): env.Install(os.path.join(env['INSTALL_PATH'], subdir), @@ -129,45 +122,13 @@ CONFIG(debug, debug|release) { QMAKE_LFLAGS += /DEBUG /LTCG /OPT:REF /OPT:ICF } -CONFIG += embed_manifest_exe - TRANSLATIONS = organizer_en.ts QMAKE_POST_LINK += xcopy /y /s /I $$quote($$BASEDIR\\*.qm) $$quote($$DSTDIR)\\translations $$escape_expand(\\n) -CONFIG(debug, debug|release) { - QMAKE_POST_LINK += xcopy /y /s /I $$quote($$BASEDIR\\..\\dlls.*manifest.debug) $$quote($$DSTDIR)\\dlls $$escape_expand(\\n) - QMAKE_POST_LINK += copy /y $$quote($$DSTDIR)\\dlls\\dlls.manifest.debug $$quote($$DSTDIR)\\dlls\\dlls.manifest $$escape_expand(\\n) - QMAKE_POST_LINK += del $$quote($$DSTDIR)\\dlls\\dlls.manifest.debug $$escape_expand(\\n) -} else { - QMAKE_POST_LINK += xcopy /y /s /I $$quote($$BASEDIR\\..\\dlls.*manifest) $$quote($$DSTDIR)\\dlls $$escape_expand(\\n) -} - """ -""" compile/link output --DHGID=\"dfd7e875f973+\" -DQT_DECLARATIVE_DEBUG -LINK : debug\ModOrganizer.exe not found or not built by the last incremental link; performing full link -mt.exe -nologo -manifest "debug\ModOrganizer.intermediate.manifest" -outputresource:debug\ModOrganizer.exe;1 """ - -""" scons -compile diffs -/TP -/DNDEBUG -(possible wrong order- should be at end) /IC:\Apps\Qt\4.8.6\mkspecs\win32-msvc2010 /IC:\Apps\Qt\4.8.6\include (twice) - -Using tempfile c:\users\dad\appdata\local\temp\tmpozwyw_.lnk for command line: -link /nologo /OUT:build-ModOrganizer-scons\debug\organizer\ModOrganizer.exe /LIBPATH:C:\Apps\boost_1_55_0\lib32-msvc-10.0 /LIBPATH:C:\Apps\Qt\4.8.6\lib /LIBPATH:build-ModOrganizer-scons\debug\uibase /LIBPATH:source\uibase /LIBPATH:build-ModOrganizer-scons\debug\shared /LIBPATH:source\shared /LIBPATH:build-ModOrganizer-scons\debug\bsatk /LIBPATH:source\bsatk /LIBPATH:build-ModOrganizer-scons\debug\esptk /LIBPATH:source\esptk qtmaind.lib QtCored4.lib QtGuid4.lib QtNetworkd4.lib QtScriptd4.lib QtSqld4.lib QtWebKitd4.lib QtXmld4.lib QtXmlPatternsd4.lib QtDeclaratived4.lib uibase.lib mo_shared.lib bsatk.lib esptk.lib shell32.lib user32.lib ole32.lib advapi32.lib gdi32.lib shlwapi.lib Psapi.lib Version.lib build-ModOrganizer-scons\debug\organizer\aboutdialog.obj build-ModOrganizer-scons\debug\organizer\activatemodsdialog.obj build-ModOrganizer-scons\debug\organizer\bbcode.obj build-ModOrganizer-scons\debug\organizer\browserdialog.obj build-ModOrganizer-scons\debug\organizer\browserview.obj build-ModOrganizer-scons\debug\organizer\categories.obj build-ModOrganizer-scons\debug\organizer\categoriesdialog.obj build-ModOrganizer-scons\debug\organizer\credentialsdialog.obj build-ModOrganizer-scons\debug\organizer\csvbuilder.obj build-ModOrganizer-scons\debug\organizer\directoryrefresher.obj build-ModOrganizer-scons\debug\organizer\downloadlist.obj build-ModOrganizer-scons\debug\organizer\downloadlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\downloadlistwidget.obj build-ModOrganizer-scons\debug\organizer\downloadlistwidgetcompact.obj build-ModOrganizer-scons\debug\organizer\downloadmanager.obj build-ModOrganizer-scons\debug\organizer\dummybsa.obj build-ModOrganizer-scons\debug\organizer\editexecutablesdialog.obj build-ModOrganizer-scons\debug\organizer\executableslist.obj build-ModOrganizer-scons\debug\organizer\filedialogmemory.obj build-ModOrganizer-scons\debug\organizer\gameinfoimpl.obj build-ModOrganizer-scons\debug\organizer\genericicondelegate.obj build-ModOrganizer-scons\debug\organizer\helper.obj build-ModOrganizer-scons\debug\organizer\icondelegate.obj build-ModOrganizer-scons\debug\organizer\installationmanager.obj build-ModOrganizer-scons\debug\organizer\json.obj build-ModOrganizer-scons\debug\organizer\loadmechanism.obj build-ModOrganizer-scons\debug\organizer\lockeddialog.obj build-ModOrganizer-scons\debug\organizer\logbuffer.obj build-ModOrganizer-scons\debug\organizer\loghighlighter.obj build-ModOrganizer-scons\debug\organizer\main.obj build-ModOrganizer-scons\debug\organizer\mainwindow.obj build-ModOrganizer-scons\debug\organizer\messagedialog.obj build-ModOrganizer-scons\debug\organizer\moapplication.obj build-ModOrganizer-scons\debug\organizer\moc_aboutdialog.obj build-ModOrganizer-scons\debug\organizer\moc_activatemodsdialog.obj build-ModOrganizer-scons\debug\organizer\moc_browserdialog.obj build-ModOrganizer-scons\debug\organizer\moc_browserview.obj build-ModOrganizer-scons\debug\organizer\moc_categoriesdialog.obj build-ModOrganizer-scons\debug\organizer\moc_credentialsdialog.obj build-ModOrganizer-scons\debug\organizer\moc_directoryrefresher.obj build-ModOrganizer-scons\debug\organizer\moc_downloadlist.obj build-ModOrganizer-scons\debug\organizer\moc_downloadlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\moc_downloadlistwidget.obj build-ModOrganizer-scons\debug\organizer\moc_downloadlistwidgetcompact.obj build-ModOrganizer-scons\debug\organizer\moc_downloadmanager.obj build-ModOrganizer-scons\debug\organizer\moc_editexecutablesdialog.obj build-ModOrganizer-scons\debug\organizer\moc_genericicondelegate.obj build-ModOrganizer-scons\debug\organizer\moc_icondelegate.obj build-ModOrganizer-scons\debug\organizer\moc_installationmanager.obj build-ModOrganizer-scons\debug\organizer\moc_lockeddialog.obj build-ModOrganizer-scons\debug\organizer\moc_logbuffer.obj build-ModOrganizer-scons\debug\organizer\moc_loghighlighter.obj build-ModOrganizer-scons\debug\organizer\moc_mainwindow.obj build-ModOrganizer-scons\debug\organizer\moc_messagedialog.obj build-ModOrganizer-scons\debug\organizer\moc_moapplication.obj build-ModOrganizer-scons\debug\organizer\moc_modinfo.obj build-ModOrganizer-scons\debug\organizer\moc_modinfodialog.obj build-ModOrganizer-scons\debug\organizer\moc_modlist.obj build-ModOrganizer-scons\debug\organizer\moc_modlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\moc_modlistview.obj build-ModOrganizer-scons\debug\organizer\moc_motddialog.obj build-ModOrganizer-scons\debug\organizer\moc_nexusinterface.obj build-ModOrganizer-scons\debug\organizer\moc_nxmaccessmanager.obj build-ModOrganizer-scons\debug\organizer\moc_overwriteinfodialog.obj build-ModOrganizer-scons\debug\organizer\moc_pluginlist.obj build-ModOrganizer-scons\debug\organizer\moc_pluginlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\moc_previewdialog.obj build-ModOrganizer-scons\debug\organizer\moc_problemsdialog.obj build-ModOrganizer-scons\debug\organizer\moc_profile.obj build-ModOrganizer-scons\debug\organizer\moc_profileinputdialog.obj build-ModOrganizer-scons\debug\organizer\moc_profilesdialog.obj build-ModOrganizer-scons\debug\organizer\moc_qtgroupingproxy.obj build-ModOrganizer-scons\debug\organizer\moc_queryoverwritedialog.obj build-ModOrganizer-scons\debug\organizer\moc_savegame.obj build-ModOrganizer-scons\debug\organizer\moc_savegamegamebyro.obj build-ModOrganizer-scons\debug\organizer\moc_savegameinfowidget.obj build-ModOrganizer-scons\debug\organizer\moc_savetextasdialog.obj build-ModOrganizer-scons\debug\organizer\moc_selectiondialog.obj build-ModOrganizer-scons\debug\organizer\moc_selfupdater.obj build-ModOrganizer-scons\debug\organizer\moc_settings.obj build-ModOrganizer-scons\debug\organizer\moc_settingsdialog.obj build-ModOrganizer-scons\debug\organizer\moc_singleinstance.obj build-ModOrganizer-scons\debug\organizer\moc_spawn.obj build-ModOrganizer-scons\debug\organizer\moc_syncoverwritedialog.obj build-ModOrganizer-scons\debug\organizer\moc_transfersavesdialog.obj build-ModOrganizer-scons\debug\organizer\modflagicondelegate.obj build-ModOrganizer-scons\debug\organizer\modinfo.obj build-ModOrganizer-scons\debug\organizer\modinfodialog.obj build-ModOrganizer-scons\debug\organizer\modlist.obj build-ModOrganizer-scons\debug\organizer\modlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\modlistview.obj build-ModOrganizer-scons\debug\organizer\motddialog.obj build-ModOrganizer-scons\debug\organizer\nexusinterface.obj build-ModOrganizer-scons\debug\organizer\noeditdelegate.obj build-ModOrganizer-scons\debug\organizer\nxmaccessmanager.obj build-ModOrganizer-scons\debug\organizer\organizerproxy.obj build-ModOrganizer-scons\debug\organizer\overwriteinfodialog.obj build-ModOrganizer-scons\debug\organizer\persistentcookiejar.obj build-ModOrganizer-scons\debug\organizer\pluginlist.obj build-ModOrganizer-scons\debug\organizer\pluginlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\previewdialog.obj build-ModOrganizer-scons\debug\organizer\previewgenerator.obj build-ModOrganizer-scons\debug\organizer\problemsdialog.obj build-ModOrganizer-scons\debug\organizer\profile.obj build-ModOrganizer-scons\debug\organizer\profileinputdialog.obj build-ModOrganizer-scons\debug\organizer\profilesdialog.obj build-ModOrganizer-scons\debug\organizer\qrc_resources.obj build-ModOrganizer-scons\debug\organizer\qrc_stylesheet_resource.obj build-ModOrganizer-scons\debug\organizer\qtgroupingproxy.obj build-ModOrganizer-scons\debug\organizer\queryoverwritedialog.obj build-ModOrganizer-scons\debug\organizer\report.obj build-ModOrganizer-scons\debug\organizer\safewritefile.obj build-ModOrganizer-scons\debug\organizer\savegame.obj build-ModOrganizer-scons\debug\organizer\savegamegamebryo.obj build-ModOrganizer-scons\debug\organizer\savegameinfowidget.obj build-ModOrganizer-scons\debug\organizer\savegameinfowidgetgamebryo.obj build-ModOrganizer-scons\debug\organizer\savetextasdialog.obj build-ModOrganizer-scons\debug\organizer\selectiondialog.obj build-ModOrganizer-scons\debug\organizer\selfupdater.obj build-ModOrganizer-scons\debug\organizer\serverinfo.obj build-ModOrganizer-scons\debug\organizer\settings.obj build-ModOrganizer-scons\debug\organizer\settingsdialog.obj build-ModOrganizer-scons\debug\organizer\singleinstance.obj build-ModOrganizer-scons\debug\organizer\spawn.obj build-ModOrganizer-scons\debug\organizer\syncoverwritedialog.obj build-ModOrganizer-scons\debug\organizer\transfersavesdialog.obj -link @c:\users\dad\appdata\local\temp\tmpozwyw_.lnk -Using tempfile c:\users\dad\appdata\local\temp\tmpuzxnwy.lnk for command line: -link /nologo /OUT:build-ModOrganizer-scons\debug\organizer\ModOrganizer.exe /LIBPATH:C:\Apps\boost_1_55_0\lib32-msvc-10.0 /LIBPATH:C:\Apps\Qt\4.8.6\lib /LIBPATH:build-ModOrganizer-scons\debug\uibase /LIBPATH:source\uibase /LIBPATH:build-ModOrganizer-scons\debug\shared /LIBPATH:source\shared /LIBPATH:build-ModOrganizer-scons\debug\bsatk /LIBPATH:source\bsatk /LIBPATH:build-ModOrganizer-scons\debug\esptk /LIBPATH:source\esptk qtmaind.lib QtCored4.lib QtGuid4.lib QtNetworkd4.lib QtScriptd4.lib QtSqld4.lib QtWebKitd4.lib QtXmld4.lib QtXmlPatternsd4.lib QtDeclaratived4.lib uibase.lib mo_shared.lib bsatk.lib esptk.lib shell32.lib user32.lib ole32.lib advapi32.lib gdi32.lib shlwapi.lib Psapi.lib Version.lib build-ModOrganizer-scons\debug\organizer\aboutdialog.obj build-ModOrganizer-scons\debug\organizer\activatemodsdialog.obj build-ModOrganizer-scons\debug\organizer\bbcode.obj build-ModOrganizer-scons\debug\organizer\browserdialog.obj build-ModOrganizer-scons\debug\organizer\browserview.obj build-ModOrganizer-scons\debug\organizer\categories.obj build-ModOrganizer-scons\debug\organizer\categoriesdialog.obj build-ModOrganizer-scons\debug\organizer\credentialsdialog.obj build-ModOrganizer-scons\debug\organizer\csvbuilder.obj build-ModOrganizer-scons\debug\organizer\directoryrefresher.obj build-ModOrganizer-scons\debug\organizer\downloadlist.obj build-ModOrganizer-scons\debug\organizer\downloadlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\downloadlistwidget.obj build-ModOrganizer-scons\debug\organizer\downloadlistwidgetcompact.obj build-ModOrganizer-scons\debug\organizer\downloadmanager.obj build-ModOrganizer-scons\debug\organizer\dummybsa.obj build-ModOrganizer-scons\debug\organizer\editexecutablesdialog.obj build-ModOrganizer-scons\debug\organizer\executableslist.obj build-ModOrganizer-scons\debug\organizer\filedialogmemory.obj build-ModOrganizer-scons\debug\organizer\gameinfoimpl.obj build-ModOrganizer-scons\debug\organizer\genericicondelegate.obj build-ModOrganizer-scons\debug\organizer\helper.obj build-ModOrganizer-scons\debug\organizer\icondelegate.obj build-ModOrganizer-scons\debug\organizer\installationmanager.obj build-ModOrganizer-scons\debug\organizer\json.obj build-ModOrganizer-scons\debug\organizer\loadmechanism.obj build-ModOrganizer-scons\debug\organizer\lockeddialog.obj build-ModOrganizer-scons\debug\organizer\logbuffer.obj build-ModOrganizer-scons\debug\organizer\loghighlighter.obj build-ModOrganizer-scons\debug\organizer\main.obj build-ModOrganizer-scons\debug\organizer\mainwindow.obj build-ModOrganizer-scons\debug\organizer\messagedialog.obj build-ModOrganizer-scons\debug\organizer\moapplication.obj build-ModOrganizer-scons\debug\organizer\moc_aboutdialog.obj build-ModOrganizer-scons\debug\organizer\moc_activatemodsdialog.obj build-ModOrganizer-scons\debug\organizer\moc_browserdialog.obj build-ModOrganizer-scons\debug\organizer\moc_browserview.obj build-ModOrganizer-scons\debug\organizer\moc_categoriesdialog.obj build-ModOrganizer-scons\debug\organizer\moc_credentialsdialog.obj build-ModOrganizer-scons\debug\organizer\moc_directoryrefresher.obj build-ModOrganizer-scons\debug\organizer\moc_downloadlist.obj build-ModOrganizer-scons\debug\organizer\moc_downloadlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\moc_downloadlistwidget.obj build-ModOrganizer-scons\debug\organizer\moc_downloadlistwidgetcompact.obj build-ModOrganizer-scons\debug\organizer\moc_downloadmanager.obj build-ModOrganizer-scons\debug\organizer\moc_editexecutablesdialog.obj build-ModOrganizer-scons\debug\organizer\moc_genericicondelegate.obj build-ModOrganizer-scons\debug\organizer\moc_icondelegate.obj build-ModOrganizer-scons\debug\organizer\moc_installationmanager.obj build-ModOrganizer-scons\debug\organizer\moc_lockeddialog.obj build-ModOrganizer-scons\debug\organizer\moc_logbuffer.obj build-ModOrganizer-scons\debug\organizer\moc_loghighlighter.obj build-ModOrganizer-scons\debug\organizer\moc_mainwindow.obj build-ModOrganizer-scons\debug\organizer\moc_messagedialog.obj build-ModOrganizer-scons\debug\organizer\moc_moapplication.obj build-ModOrganizer-scons\debug\organizer\moc_modinfo.obj build-ModOrganizer-scons\debug\organizer\moc_modinfodialog.obj build-ModOrganizer-scons\debug\organizer\moc_modlist.obj build-ModOrganizer-scons\debug\organizer\moc_modlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\moc_modlistview.obj build-ModOrganizer-scons\debug\organizer\moc_motddialog.obj build-ModOrganizer-scons\debug\organizer\moc_nexusinterface.obj build-ModOrganizer-scons\debug\organizer\moc_nxmaccessmanager.obj build-ModOrganizer-scons\debug\organizer\moc_overwriteinfodialog.obj build-ModOrganizer-scons\debug\organizer\moc_pluginlist.obj build-ModOrganizer-scons\debug\organizer\moc_pluginlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\moc_previewdialog.obj build-ModOrganizer-scons\debug\organizer\moc_problemsdialog.obj build-ModOrganizer-scons\debug\organizer\moc_profile.obj build-ModOrganizer-scons\debug\organizer\moc_profileinputdialog.obj build-ModOrganizer-scons\debug\organizer\moc_profilesdialog.obj build-ModOrganizer-scons\debug\organizer\moc_qtgroupingproxy.obj build-ModOrganizer-scons\debug\organizer\moc_queryoverwritedialog.obj build-ModOrganizer-scons\debug\organizer\moc_savegame.obj build-ModOrganizer-scons\debug\organizer\moc_savegamegamebyro.obj build-ModOrganizer-scons\debug\organizer\moc_savegameinfowidget.obj build-ModOrganizer-scons\debug\organizer\moc_savetextasdialog.obj build-ModOrganizer-scons\debug\organizer\moc_selectiondialog.obj build-ModOrganizer-scons\debug\organizer\moc_selfupdater.obj build-ModOrganizer-scons\debug\organizer\moc_settings.obj build-ModOrganizer-scons\debug\organizer\moc_settingsdialog.obj build-ModOrganizer-scons\debug\organizer\moc_singleinstance.obj build-ModOrganizer-scons\debug\organizer\moc_spawn.obj build-ModOrganizer-scons\debug\organizer\moc_syncoverwritedialog.obj build-ModOrganizer-scons\debug\organizer\moc_transfersavesdialog.obj build-ModOrganizer-scons\debug\organizer\modflagicondelegate.obj build-ModOrganizer-scons\debug\organizer\modinfo.obj build-ModOrganizer-scons\debug\organizer\modinfodialog.obj build-ModOrganizer-scons\debug\organizer\modlist.obj build-ModOrganizer-scons\debug\organizer\modlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\modlistview.obj build-ModOrganizer-scons\debug\organizer\motddialog.obj build-ModOrganizer-scons\debug\organizer\nexusinterface.obj build-ModOrganizer-scons\debug\organizer\noeditdelegate.obj build-ModOrganizer-scons\debug\organizer\nxmaccessmanager.obj build-ModOrganizer-scons\debug\organizer\organizerproxy.obj build-ModOrganizer-scons\debug\organizer\overwriteinfodialog.obj build-ModOrganizer-scons\debug\organizer\persistentcookiejar.obj build-ModOrganizer-scons\debug\organizer\pluginlist.obj build-ModOrganizer-scons\debug\organizer\pluginlistsortproxy.obj build-ModOrganizer-scons\debug\organizer\previewdialog.obj build-ModOrganizer-scons\debug\organizer\previewgenerator.obj build-ModOrganizer-scons\debug\organizer\problemsdialog.obj build-ModOrganizer-scons\debug\organizer\profile.obj build-ModOrganizer-scons\debug\organizer\profileinputdialog.obj build-ModOrganizer-scons\debug\organizer\profilesdialog.obj build-ModOrganizer-scons\debug\organizer\qrc_resources.obj build-ModOrganizer-scons\debug\organizer\qrc_stylesheet_resource.obj build-ModOrganizer-scons\debug\organizer\qtgroupingproxy.obj build-ModOrganizer-scons\debug\organizer\queryoverwritedialog.obj build-ModOrganizer-scons\debug\organizer\report.obj build-ModOrganizer-scons\debug\organizer\safewritefile.obj build-ModOrganizer-scons\debug\organizer\savegame.obj build-ModOrganizer-scons\debug\organizer\savegamegamebryo.obj build-ModOrganizer-scons\debug\organizer\savegameinfowidget.obj build-ModOrganizer-scons\debug\organizer\savegameinfowidgetgamebryo.obj build-ModOrganizer-scons\debug\organizer\savetextasdialog.obj build-ModOrganizer-scons\debug\organizer\selectiondialog.obj build-ModOrganizer-scons\debug\organizer\selfupdater.obj build-ModOrganizer-scons\debug\organizer\serverinfo.obj build-ModOrganizer-scons\debug\organizer\settings.obj build-ModOrganizer-scons\debug\organizer\settingsdialog.obj build-ModOrganizer-scons\debug\organizer\singleinstance.obj build-ModOrganizer-scons\debug\organizer\spawn.obj build-ModOrganizer-scons\debug\organizer\syncoverwritedialog.obj build-ModOrganizer-scons\debug\organizer\transfersavesdialog.obj -""" -""" -/MANIFESTFILE:"debug\ModOrganizer.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:debug\ModOrganizer.exe @C:\Users\Dad\AppData\Local\Temp\nm8681.tmp -""" -""" -mt /nologo -manifest scons-ModOrganizer-QT_4_8_6_for_vs_2010_32bit-Debug\organizer\ModOrganizer.exe.manifest -outputresource:scons-ModOrganizer-QT_4_8_6_for_vs_2010_32bit-Debug\organizer\ModOrganizer.exe;1 """ -- cgit v1.3.1 From de79d15980aec5771a3e850f248c1094a3c72f22 Mon Sep 17 00:00:00 2001 From: Tom Tanner Date: Tue, 17 Mar 2015 16:31:15 +0000 Subject: Every plugin now built --- scons_configure_template.py | 6 +- src/SConscript | 160 +++++++++++++++++++++++++++++++++++--------- src/shared/SConscript | 2 +- 3 files changed, 134 insertions(+), 34 deletions(-) (limited to 'scons_configure_template.py') diff --git a/scons_configure_template.py b/scons_configure_template.py index c48d1082..d9cfc2b6 100644 --- a/scons_configure_template.py +++ b/scons_configure_template.py @@ -4,7 +4,7 @@ # Path to your boost install - it should have a boost/ subdirectory and a stage/ # subdirectory. The scons script will use stage/lib if there, or the appropriate # version for your compiler, if you installed the multiple-build version -BOOST_PATH = 'C:\\Apps\\boost_1_55_0' +BOOSTPATH = 'C:\\Apps\\boost_1_55_0' # Version of Visual Studio to use, if you wish to use a specific version. If you # don't specify a version, the latest will be picked.. See the scons manual for @@ -21,8 +21,8 @@ BOOST_PATH = 'C:\\Apps\\boost_1_55_0' #QTDIR = 'C:\\Apps\\Qt\\4.8.6' # Path to 7-zip sources -SEVENZIP_PATH = 'C:\\Apps\\7-Zip\\7z920' +SEVENZIPPATH = 'C:\\Apps\\7-Zip\\7z920' # Path to zlib. Please read the README file for more information about how this # needs to be set up -ZLIB_PATH = 'C:\\Apps\\zlib-1.2.8' +ZLIBPATH = 'C:\\Apps\\zlib-1.2.8' diff --git a/src/SConscript b/src/SConscript index 4dd67e32..cb0c1922 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1,32 +1,132 @@ import os -Import('env qt_env') - -def InstallModule(self, arg): - # Ensure we install this when built from here, not just from top level build - self.Pseudo('install') - self.Depends('install', - self.Install('${INSTALL_PATH}', - filter(lambda x: str(x).endswith('.dll') or - str(x).endswith('.pdb') or - str(x).endswith('.exe'), - arg))) - -qt_env = qt_env.Clone() -qt_env.AddMethod(InstallModule) - -env = env.Clone() -env.AddMethod(InstallModule) - -Export('env qt_env') - -for file in env.Glob('*/SConscript'): - env.SConscript(file) - -dll_manifest = 'dlls.manifest' -if qt_env['CONFIG'] == 'debug': - dll_manifest += '.debug' -if qt_env['QT_MAJOR_VERSION'] > 4: - dll_manifest += '.q%d' % qt_env['QT_MAJOR_VERSION'] -qt_env.InstallAs(os.path.join(qt_env['INSTALL_PATH'], 'DLLs', 'dlls.manifest'), - dll_manifest) +Import('qt_env') + +env = qt_env.Clone() + +modules = [ + 'Core', + 'Gui', + 'Network', + 'Script', + 'Sql', + 'WebKit', + 'Xml', + 'XmlPatterns' +] + +if env['QT_MAJOR_VERSION'] > 4: + modules += [ + 'Widgets', + 'Qml', + 'Quick', + 'WebKitWidgets' + ] +else: + modules += [ + 'Declarative' + ] + +env.EnableQt4Modules(['Qt' + n for n in modules], + debug = env['CONFIG'] == 'debug') + +env.Uic4(Glob('*.ui')) + +env.AppendUnique(LIBPATH = [ + '..\\uibase', + '..\\shared', + '..\\bsatk', + '..\\esptk' +]) + +env.AppendUnique(LIBS = [ + 'uibase', + 'mo_shared', + 'bsatk', + 'esptk', + 'shell32', + 'user32', + 'ole32', + 'advapi32', + 'gdi32', + 'shlwapi', + 'Psapi', + 'Version' +]) + +# We have to 'persuade' moc to generate certain other targets and inject them +# into the list of cpps +other_sources = env.AddExtraMoc(env.Glob('*.h')) + +for file in env.Glob('*.rc'): + if str(file).endswith('version.rc'): + continue + other_sources.append(env.RES(file)) + +# FIXME Add the translate in here too + +# Note the order of this is important, or you can pick up the wrong report.h... +# Doing appendunique seems to throw the moc code into a tizzy +env['CPPPATH'] += [ + '../shared', + '../archive', + '../uibase', + '../bsatk', + '../esptk', + '../boss_modified/boss-api', + '.', # Why is this necessary? + '${BOOSTPATH}', +] + +env.AppendUnique(CPPDEFINES = [ + '_UNICODE', + '_CRT_SECURE_NO_WARNINGS', + '_SCL_SECURE_NO_WARNINGS', + 'NOMINMAX', + 'BOOST_DISABLE_ASSERTS', +# Although the .pro file says it adds this, the compile line doesn't seem to +# have it (unless it's in the annoying '@' file +# 'NDEBUG' +]) + +# Umf. This changes everytime you do something with your repository. +# I don't think this is necessary with scons +# hgid = subprocess.check_output(['hg', 'id', '-i']) +# env.AppendUnique(CPPDEFINES = [ 'HGID="%s"' % hgid ]) + +env.AppendUnique(CPPFLAGS = [ '-wd4100', '-wd4127', '-wd4512', '-wd4189' ]) + +env.AppendUnique(LINKFLAGS = [ + '/SUBSYSTEM:WINDOWS', + '${EXE_MANIFEST_DEPENDENCY}' +]) + +# modeltest is optional and it doesn't compile anyway... +cpp_files = [ x for x in Glob('*.cpp') if not str(x).endswith('modeltest.cpp') ] + +prog = env.Program('ModOrganizer', + cpp_files + env.Glob('*.qrc') + other_sources) + +env.InstallModule(prog) + +for subdir in ('tutorials', 'stylesheets'): + env.Install(os.path.join(env['INSTALL_PATH'], subdir), + env.Glob(os.path.join(subdir, '*'))) + +""" +CONFIG(debug, debug|release) { +} else { + QMAKE_CXXFLAGS += /Zi /GL + QMAKE_LFLAGS += /DEBUG /LTCG /OPT:REF /OPT:ICF +} + +TRANSLATIONS = organizer_en.ts + + +QMAKE_POST_LINK += xcopy /y /s /I $$quote($$BASEDIR\\*.qm) $$quote($$DSTDIR)\\translations $$escape_expand(\\n) + +""" + +""" +/IC:\Apps\Qt\4.8.6\include (twice) +""" diff --git a/src/shared/SConscript b/src/shared/SConscript index 30669320..daf8f2da 100644 --- a/src/shared/SConscript +++ b/src/shared/SConscript @@ -24,6 +24,6 @@ env.AppendUnique(CPPDEFINES = [ env.AppendUnique(CPPPATH = [ '../bsatk', - '$BOOST_PATH', + '${BOOSTPATH}', '.' # Seriously! ]) -- cgit v1.3.1