diff --git a/SConstruct b/SConstruct index 0ef2eddc4..7a462c889 100644 --- a/SConstruct +++ b/SConstruct @@ -1039,9 +1039,10 @@ if env['build_docs']: SConscript('doc/SConscript') if 'samples' in COMMAND_LINE_TARGETS or 'install' in COMMAND_LINE_TARGETS: + VariantDir('build/samples', 'samples', duplicate=0) sampledir_excludes = ['ct2ctml', '\\.o$', '^~$', 'xml$', '\\.in', 'SConscript', 'Makefile.am'] - SConscript('samples/cxx/SConscript') + SConscript('build/samples/cxx/SConscript') # Install C++ samples inst = env.RecursiveInstall(pjoin('$inst_sampledir', 'cxx'), @@ -1050,8 +1051,8 @@ if 'samples' in COMMAND_LINE_TARGETS or 'install' in COMMAND_LINE_TARGETS: installTargets.extend(inst) if env['f90_interface'] == 'y': - SConscript('samples/f77/SConscript') - SConscript('samples/f90/SConscript') + SConscript('build/samples/f77/SConscript') + SConscript('build/samples/f90/SConscript') if env['addInstallTargets'] and env['f90_interface'] == 'y': # install F90 / F77 samples diff --git a/samples/cxx/SConscript b/samples/cxx/SConscript index 3818bd1e0..81a6e68ef 100644 --- a/samples/cxx/SConscript +++ b/samples/cxx/SConscript @@ -41,3 +41,8 @@ for subdir, name, extensions in samples: localenv['tmpl_sourcename'] = name + '.cpp' sconstruct = localenv.SubstFile(pjoin(subdir, 'SConstruct'), 'SConstruct.in') + if env['addInstallTargets']: + inst = localenv.Install(pjoin('$inst_sampledir', 'cxx', subdir), makefile) + installTargets.extend(inst) + inst = localenv.Install(pjoin('$inst_sampledir', 'cxx', subdir), sconstruct) + installTargets.extend(inst) diff --git a/samples/f77/SConscript b/samples/f77/SConscript index 7c5275e9f..e021585d7 100644 --- a/samples/f77/SConscript +++ b/samples/f77/SConscript @@ -33,3 +33,9 @@ sconstruct = localenv.SubstFile('SConstruct', 'SConstruct.in') # Generate Makefile to be installed makefile = localenv.SubstFile('Makefile', 'Makefile.in') + +if env['addInstallTargets']: + inst = localenv.Install(pjoin('$inst_sampledir', 'f77'), makefile) + installTargets.extend(inst) + inst = localenv.Install(pjoin('$inst_sampledir', 'f77'), sconstruct) + installTargets.extend(inst) diff --git a/samples/f90/SConscript b/samples/f90/SConscript index f37b585b2..5758573db 100644 --- a/samples/f90/SConscript +++ b/samples/f90/SConscript @@ -32,3 +32,9 @@ for programName, sources in samples: localenv['make_target'] = programName localenv['make_sourcefile'] = programName + '.f90' makefile = localenv.SubstFile('Makefile', 'Makefile.in') + + if env['addInstallTargets']: + inst = localenv.Install(pjoin('$inst_sampledir', 'f90'), makefile) + installTargets.extend(inst) + inst = localenv.Install(pjoin('$inst_sampledir', 'f90'), sconstruct) + installTargets.extend(inst)