Document your code
Every project on GitHub comes with a version-controlled wiki to give your documentation the high level of care it deserves. It’s easy to create well-maintained, Markdown or rich text documentation alongside your code.
Sign up for free See pricing for teams and enterprisesHome
Mats Wichmann edited this page Sep 19, 2019
·
18 revisions
The SCons Wiki:
Welcome to the wiki of the SCons project! This is an open forum for development and use of SCons. Please, do feel free to contribute.
About SCons
- AboutSCons - background information about scons
- FromMakeToScons - why scons? a critique of the venerable Make tool, and a history of build systems
- SconsVsOtherBuildTools - for those who want to compare SCons to other build tools.
- SconsProjects, open source projects which use SCons (add yours there). Can be a useful resource to learn new SCons tricks or just see it in action
- #scons IRC channel on Freenode irc://irc.freenode.net/scons
- The SCons Discord channel. We're trying this as an alternative to IRC as Discord maintains history and allows more formatting options. Please join and come say hi!
- TalksAndSlides - videos and presentation slides of SCons talks
Getting Started
- BasicConcepts - SCons building blocks
- SConsCrashCourse - write your first simple scripts in 5 minutes
- SconsProcessOverview - explanation of how SCons works and a list of many predefined functions in SCons
- SconsTutorial1 - An Introduction to SCons
- SconsTutorial2 - More Syntax, Shared Libraries, Install Targets
- IDEIntegration to use SCons from your favourite IDE
- FromQmakeToScons - how to make the switch
- SConsOnACluster - how to use SCons for high performance computing on many parellel machines
Further documentation
- Frequently Asked Questions
- the official SCons User Guide (HTML or PDF)
- the official SCons Manual page (HTML or PDF) - very detailed information about SCons features.
- the SCons Recipes page - a gold mine of information, code snippets and various examples
- some platform specific notes
SCons extensions/contributions
- HowToContribute - ideas for helping out the project in general (no hacking skills required!)
- ContributedBuilders - contributed builders (and other misc tools) to provide support for more languages/librairies
- ToolsForFools - Guide for writing new Builders/Tools
- SconsToolbox for contributed modules/extensions/scripts
- ToolsIndex for Tool modules that are developed separately from SCons
SCons Development
- DeveloperGuide for those who wish to hack on the core code
- SConsDevelopers page assigning responsibilities for different parts of SCons (volunteer!)
- Buildbot, our automatically running build and performance reports
- Installing buildbot slaves, examples and commands for setting up a Buildbot slave (volunteer now!)
- Roadmap
- NeedForSpeed page to record possibilities for improving SCons' performance
Other Wiki Notes
- WikiUserPages, a page to find out about the people who edit this wiki (add yourself there!)
Pages 535
- Home
- AboutSCons
- AccumulateBuilder
- AddFilesDynamically
- AdrianNeagu
- AdvancedBuildExample
- AllInSConstruct
- AmirSzekely
- AndrewMulbrook
- AnnounceAll
- AnnounceCheckpoint
- AnnounceCommon
- Announcement
- AnthonyRoach
- AntlrBuilder
- APIProposal
- APIReference
- APLBuildLog01
- APLSConscript01 gsc
- APLSConscript01 gsi
- APLSConscript01 lib
- APLSConstruct01 top
- Application
- Application
- Application
- ApprovalQueue
- ApprovalQueue
- ArchitectureOverview
- ArchiveBuilder
- ArchivePackages
- ArgumentQuoting
- ArianePaolaGomes
- AutoConfigBuilder
- AutoconfRecipes
- AutomakeAPI
- AutomakeSyntax
- AutomaticHelpFromAliases
- AutotoolSCons
- AutotoolSteps
- BashCompletion
- BasicConcepts
- BasicSimpleProject
- BetterErrorMessages
- BigSignatureRefactoring
- BillDeegan
- Bootstrap
- BugParty
- BuildAndTest
- BuildDirGlob
- Builder()
- BuildLog
- BuildNumberProcessing
- BuildStart
- BuildTestPrep
- BuildTimeCallback
- CheckBoostVersion
- CheckList
- Checklist
- Checklist
- CheckOutCheckpoint
- CheckOutNonTip
- CheckOutRelease
- CheckOutTrunk
- CheckPython
- CheetahBuilder
- ChunkHashing
- Classes
- ColorBuildMessages
- ColorGcc
- CombineBuilder
- Commit
- CommitLogFile
- Containers
- ContributedBuilders
- CorbaBuilder
- CorbaTaoBuilder
- CournapeauDavid
- CPythonTool
- CreateSoftLink
- CreateSpreadsheet
- CrossCompilingMingw
- CsharpBuilder
- CSV
- CudaTool
- CustomCleanActions
- CXXFile()
- CxxTestBuilder
- D Language Support
- DanCrosta
- DavidMasterson
- DavidWyde
- DependsAndAliases
- DeprecatedFeatures
- DeprecationCycle
- Design
- Design
- DeveloperGuide
- DeveloperGuide
- DevelopmentCycle
- Dir()
- Discussion
- Discussion
- Discussion
- Discussion
- Discussion
- Discussion
- DistTarBuilder
- DistutilsReplacement
- DistZipBuilder
- DocbookTool
- Documentation
- DownloadArchive
- DownloadHome
- DownloadUnpack
- DoxygenBuilder
- DrewMcCormack
- DumpEnv
- DumpSODependenciesBuilder
- DVCSMigration
- DynamicSourceGenerator
- EasyIssuesToFix
- EclipsePlugin
- EiffelStudio56Tool
- EiffelStudioTool
- ElliotMurphy
- EmbedManifestIntoTarget
- EnvValue
- EvanDriscoll
- EvanEnhancedConfigurationPackageProposal
- ExplicitlyCallCppScanner
- ExportImportShortcutHack
- ExtendedExample
- ExtendedExampleSource1
- ExtendedExampleSource2
- ExtendedExampleSource3
- ExtendedExampleSource4
- ExtendedExampleSource5
- ExternalFiles
- ExternalTools
- FAQ
- FetchmailSConstruct
- File()
- FindFile()
- FindTargetSources
- Fischer
- Fischer_Comparison
- Fischer_Requirements
- Fischer_UserInterface
- FlexibleLinkCom
- FltkFluidBuilder
- FortranDiscussion
- FortranTutorial
- FrequentlyAskedQuestions
- FromMakeToScons
- FromQmakeToScons
- FullScript
- GaryOberbrunner
- GCCXMLBuilder
- GchBuilder
- GenerateConfig
- GenericSubstBuilder
- GetTargets
- GhcBuilder
- GitWorkflows
- Goals
- Gob2Tool
- GoFastButton
- GregNoel
- GregYee
- GSoC
- GSoC2007
- GSoC2008
- GSoC2009
- GSoC2013Ideas
- GSoC2014Ideas
- HeapMonitor
- HidingCommandLinesInOutput
- HostingSites
- HowToContribute
- i18n
- Ideas
- Ideas
- Ideas
- IDEIntegration
- Implementation
- ImportingEnvironmentSettings
- InitHG
- InnoSetupBuilder
- Installation
- InstallationPrefix
- InstalledPackages
- Installer
- InstallFiles
- InstallingBuildbotSlaves
- InstallPython
- InstallTargets
- Introduction
- Introduction
- Introduction
- Introduction
- IrcLog2008 03 18
- IrcLog2008 04 01
- IrcLog2008 04 12
- IrcLog2008 05 19
- IrcLog2008 05 20
- IrcLog2008 05 27
- IrcLog2008 06 02
- IrcLog2008 06 09
- IrcLog2008 06 17
- IrcLog2008 06 23
- IrcLog2008 06 30
- IrcLog2008 07 14
- IrcLog2008 07 21
- IrcLog2008 07 28
- IrcLog2008 08 04
- IrcLog2008 08 11
- IrcLog2008 08 18
- IrcLog2008 09 01
- IrcLog2008 09 08
- IrcLog2008 09 22
- IrcLog2008 10 01
- IrcLog2008 10 15
- IrcLog2008 10 29
- IrcLog2008 11 19
- IrcLog2008 12 03
- IrcLog2008 12 17
- IrcLog2009 01 07
- IrcLog2009 01 21
- IrcLog2009 02 05
- IrcLog2009 02 18
- IrcLog2009 02 19
- IrcLog2009 03 04
- IrcLog2009 03 18
- IrcLog2009 04 08
- IrcLog2009 04 15
- IrcLog2009 04 29
- IrcLog2009 05 13
- IrcLog2009 05 27
- IrcLog2009 08 25
- IrcLog2009 11 03
- IrcLog2009 11 17
- IrcLog2009 12 01
- IrcLog2009 12 15
- IrcLog2010 01 05
- IrcLog2010 01 19
- IrcLog2010 02 02
- IrcLog2010 02 16
- IrcLog2010 03 09
- IrcLog2010 03 30
- IrcLog2010 04 27
- IrcLog2010 05 11
- IrcLog2010 06 01
- IrcLog2010 06 15
- IrcLog2010 07 06
- IrcLog2010 07 20
- IrcLog2010 08 03
- IrcLog2010 08 24
- IrcLog2010 09 21
- IrcLog2010 10 26
- IrcLog2011 01 04
- IrcLog2011 04 10
- JamesBeckett
- javabuildrun
- JavaNativeInterface
- JavaStrategy
- JavaSupport
- JohnArrizza
- JohnFemiani
- KarlPietrzak
- KarlPietrzakSoC2006Proposal
- KeepDataBetweenRuns
- KenBull
- KostasMichalopoulos
- LatexSupport
- LazyInitialization
- LeanidNazdrynau
- libjpeg
- libtiff
- LimitCacheSizeWithProgress
- LionelThiry
- llarsen
- LongCmdLinesOnWin32
- LudwigHaehne
- LudwigHaehne
- LukasErlinghagen
- LyxBuilder
- MaciejPasternacki
- MacOSX
- MakeBuilder
- ManpagePdfConverter
- MatiGruca
- MattDoar
- MatthewNicholson
- MavenIdeasWithSCons
- Mentors
- Mentors
- Mentors
- MentorsGroup
- MercurialWorkflows
- MexBuilder
- MFObject
- MichaelKoehmstedt
- MichaelTao
- MicrosoftPlatformTool
- MikiTebeka
- ModelPrograms
- ModularExample
- MoreSiteSconsDirs
- MsTest
- MsvcIncrementalLinking
- MsvsMultipleVersions
- MultipleDirectoryFortranBuild
- NasmBuilder
- NathanBrown
- NathanLetwory
- NDDS4_Tool
- NeedForSpeed
- Nodes
- NonDeterministicDependencies
- NonTipAlpha
- NonTipAlphaBody
- NonTipBeta
- NonTipBetaBody
- NonTipCherryPick
- NonTipCherryPickBody
- NonTipFinal
- NonTipFinalBody
- NonTipSetup
- NonTipSetupBody
- Notes
- NsisBuilder
- NsisSconsTool
- OcamlBuilder
- OlofSivertsson
- OptionsAndConfigure
- Overview
- PackagerKeywords
- ParseDepends
- PavelVinogradov
- PeterKropf
- PhilippKraus
- PhilippSchollProposal
- PhilMartin
- PhonyTargets
- PlatformIndependedInstallationTool
- PlatformSpecificNotes
- PlatformToolConfig
- PlatformToolConfig
- PlatformToolConfigAlt
- PluginArchitecture
- PrepArchive
- Prepare
- PrepBetaBlurb
- PrepHome
- PrepSFUpload
- PrepTigris
- PrestonBannister
- PreventBuildingOfEverything
- PreventingParallelBuilds
- Program()
- Proposal
- Proposal
- Proposal
- ProposalForImprovedSubstEngine
- ProtocBuilder
- ProxyDependencies
- PyrexPythonExtensions
- Python3Compatibility
- PythonExtensions
- PythonFixers
- PyuicBuilder
- QMTestMethods
- Qt4Tool
- ReadWrite
- ReduceMemory
- ReferenceCycles
- RegressionTests
- Release_Team
- ReleaseAnnouncement
- ReleaseBranches
- ReleaseGroup
- ReleaseHOWTO
- ReleaseTypes
- ReplacementBuilder
- Requirements
- Resolved
- ReStructuredTextBuilder
- RevampToolsSubsystem
- RightNow
- Roadmap
- RpcBuilder
- RpmHoncho
- RpmHonchoTemp
- RunDAG1
- Running SCons from your git sandbox
- RunningConfigureAndMake
- RusselWinder
- SamJansen
- SavingVariablesToAFile
- Scanners
- SConfiscation
- SConsAndCygwin
- SconsAutoconf
- SConsBuildRequirements
- SConsCrashCourse
- SConscript()
- SConsDevelopers
- SConsFutureProjects
- SConsification
- SConsInstaller
- SconsLatexThesisSkeleton
- SConsMethods
- SconsOnACluster
- SConsOnJython
- SconsProcessOverview
- SconsProjects
- SconsRecipes
- SConsTestingRevisions
- SconsToolbox
- SconsTreeView
- SconstructMultiple
- SconstructMultipleAll
- SconstructMultipleRefactored
- SconstructShortest
- SconstructShortMingwWin32
- SconstructShortMsvcExpWin64
- SconstructShortMsvcWin32
- SconstructShortMsvcWin32BuildDir
- SconstructShortMsvcWin32CompileParms
- SconstructShortMsvcWin32DebugRelease
- SconsTutorial1
- SconsTutorial2
- SconsVersion
- SconsVsOtherBuildTools
- SDL2StaticLibrary
- SDL_image
- SDLWindowsApp
- SEPs
- SergeyPopov
- SerialiseForSharedResources
- SharedLibrarySignatureOverride
- SharedLibraryWholeArchive
- SideEffect
- Signatures
- SimpleProject_1
- SimplifiedReleaseProcedure
- SimultaneousVariantBuilds
- Sln2SCons
- SlotClasses
- SourceWalkThrough
- sphinx4scons
- StandardMacros
- State
- StaticallyLink
- StaticPicLibrary
- StefanSeefeld
- SteveLeblanc
- StevenKnight
- StrippingFramework
- StructuredText
- SubstImprovement2019
- SubstInFileBuilder
- SubstInFileBuilder2
- SubstQuoteEscapeCache
- SubstQuoteEscapeCacheDiscussion
- SummerOfCode
- SummerOfCodeIdeas
- SwigBuilder
- TagRelease
- TalksAndSlides
- TargetDrivenBuilderCreation
- TaskList
- TaskList
- TaskMaster
- TaskmasterNG
- techtonik
- Template
- Template
- Template
- TerrelShumway
- TestCandidates
- TestingMethodology
- TestSConsPyDoc
- TimotheeBesset
- TipAlpha
- TipAlphaBody
- TipBeta
- TipBetaBody
- TipCherryPick
- TipCherryPickBody
- TipFinal
- TipFinalBody
- TobiasRundstr?m
- TobiasRundström
- ToolchainRevamp
- ToolsBazaarWorkflows
- ToolsForFools
- ToolsIndex
- TranslatorGuide
- Tuba?ahin
- TubaŞahin
- Tweak
- UicImageEmbedder
- UnderstandingBuildDir
- UnitTests
- UnTarBuilder
- UpdateFiles
- UpdateGuide
- UpdateOnlySomeVariables
- UpdateSConsOrg
- UpdateSourceForge
- UpdateTigris
- UseCases
- Users
- UsingBuildDir
- UsingBzr
- UsingCodeGenerators
- UsingCommandLineArguments
- UsingCompilerBuilt
- UsingOrigin
- UsingPkgConfig
- UsingPkgConfigMsysShellScripts
- VariantDir()
- VisualizeDependencies
- WayneScott
- WebSite
- WgetSourceCode
- WhatTheUsersSay
- WhySconsIsNotSlow
- WikiUserPages
- WilliamDeegan
- Win32Executable
- WiX_Tool
- WrapperFunctions
- WysiwygDocumentation