diff options
author | RJ Skerry-Ryan <rryan@mixxx.org> | 2018-10-13 13:35:47 -0700 |
---|---|---|
committer | RJ Skerry-Ryan <rryan@mixxx.org> | 2018-10-24 09:49:21 -0700 |
commit | 36e9ca77a6b852087d35232685ae2cef326412fc (patch) | |
tree | f3d7739e2d6c61088fed640290b14236755ab563 /SConstruct | |
parent | 9ebb94ddf9cce9b37c908cbac4c3a0843f286a4c (diff) |
Build library objects in the SConscript variant_dir.
SCons has a feature that lets you declare a repository-root absolute
path to a file (e.g. "#lib/soundtouch/..."). Using this feature
prevents SCons from automatically re-directing built artifacts to a
variant_dir. To work around this, this commit moves src/SConscript and
src/SConscript.env to the root, and changes all paths in SConscripts
to use SConscript-relative paths.
This commit also switches to building an explicit static library for
vamp-hostdk, vamp-sdk, and soundtouch when internal linking is enabled
and the VAMP plugin now uses the system soundtouch if it is present.
Fixes Bug #1191327 and Bug #1617802.
Diffstat (limited to 'SConstruct')
-rw-r--r-- | SConstruct | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/SConstruct b/SConstruct index 791258b60f..2379ca9790 100644 --- a/SConstruct +++ b/SConstruct @@ -61,7 +61,6 @@ available_features = [features.Mad, # "Features" of dubious quality features.PerfTools, features.AsmLib, - features.IPod, features.FFMPEG, # Experimental features @@ -75,7 +74,16 @@ Export('build') # Run our configuration stuff to setup our build environment (detect # platform/arch, find libraries, etc) -SConscript(File('src/SConscript.env'), variant_dir=Dir(build.build_dir), duplicate=0) + +# If the variant_dir does not exist then we will not chdir into it when calling +# SConscript.env, making the imperative logic (e.g. writing build.h) in +# SConscript.env behave differently on the first invocation vs. subsequent +# invocations. +try: + os.mkdir(build.build_dir) +except: + pass +SConscript('SConscript.env', variant_dir=build.build_dir, duplicate=0) # Grab the list of sources generated by SConscript.env Import('sources') @@ -86,17 +94,15 @@ build.env.Alias("compiledb", build.env.CompilationDatabase('compile_commands.jso # Build compile_commands.json by default. build.env.Default("compile_commands.json") -#Build Vamp minimal plugins -#VariantDir("vamp-plugins", "src", duplicate=0) -mixxxminimal_depends = [ depends.SoundTouch ] +# Build VAMP plugins. mixxxminimal_plugins = SConscript( - File('vamp-plugins/SConscript'), - variant_dir=Dir(build.build_dir + "/vamp-plugins"), - duplicate=0, exports=['build', 'mixxxminimal_depends']) + 'vamp-plugins/SConscript', + variant_dir=build.build_dir + "/vamp-plugins", + duplicate=0, exports=['build']) # Setup and build the "mixxx" executable target. Also sets up our install # targets for each platform. -SConscript(File('src/SConscript'), variant_dir=Dir(build.build_dir), duplicate=0, +SConscript('SConscript', variant_dir=build.build_dir, duplicate=0, exports=['build', 'sources', 'mixxxminimal_plugins']) #On OS X, if the bundle has been built, copy it up: |