LUMIERA.clone/SConstruct
Ichthyostega 8b2a329898 Build: some further code clean-up and documentation
* Simplify some constructs from the Python-3 migration
 * update copyright, since I did maintain the SCons build continuosly
 * remove unused method from Buildhelper

Furthermore, the documentation page for our build system
https://lumiera.org/documentation/technical/build/SCons.html
has been reworked, to add a synopsis, some further background
information about the internal structure of SCons and about
the specific conventions and definitions used for Lumiera
2025-11-27 18:21:22 +01:00

77 lines
2.2 KiB
Python
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding: utf-8
##
## SConstruct - SCons based build-system for Lumiera
##
# Copyright (C)
# 2008-2025 Hermann Vosseler <Ichthyostega@web.de>
#
# **Lumiera** is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version. See the file COPYING for further details.
#####################################################################
# NOTE: scons -h for help.
# This script /defines/ the components and how they fit together.
# SCons will derive dependencies and the necessary build steps.
# Read more about the SCons build system at: https://www.scons.org
# NOTE: Lumiera SCons extension modules and plugins
#--------------------------------------------------
import sys
sys.path.append('./admin/scons')
#--------------------------------------------------
import Setup
import Options
import Platform
from Buildhelper import *
from LumieraEnvironment import *
#####################################################################
env = Setup.defineBuildEnvironment() # dirs & compiler flags
env = Platform.configure(env) # library dependencies
### === MAIN BUILD === ##############################################
# call subdir SConscript(s) to define the actual build targets...
SConscript(dirs=['data','src','src/tool','research','tests','doc'], exports='env')
# additional files to be cleaned when cleaning 'build'
env.Clean ('build', [ 'scache.conf', '.sconf_temp', '.sconsign.dblite', 'config.log' ])
### === Alias Targets === ###########################################
# pick up the targets defined by the sub SConscripts
#Import('lumiera plugins tools gui testsuite doxydoc')
Import('lumiera plugins tools gui testsuite')
build = env.Alias('build', lumiera + plugins + tools + gui)
# this defines the SCons **default target**
env.Default('build')
#env.Alias ('all', build + testsuite + doxydoc)
env.Alias ('all', build + testsuite)
#env.Alias ('doc', doxydoc)
env.Alias ('none')
env.Alias('install', gui)
env.Alias('install', '$DESTDIR')
#####################################################################