mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2025-06-06 16:54:56 +02:00
Sketched out some idea to make the build system more reusable across projects.
This commit is contained in:
parent
e1aad35ae5
commit
32927b0b22
71
SConstruct
71
SConstruct
@ -1,3 +1,74 @@
|
|||||||
|
"""
|
||||||
|
Build system can be clean-up by sticking to a few core production factory, with automatic dependencies resolution.
|
||||||
|
4 basic project productions:
|
||||||
|
- library
|
||||||
|
- binary
|
||||||
|
- documentation
|
||||||
|
- tests
|
||||||
|
|
||||||
|
* Library:
|
||||||
|
Input:
|
||||||
|
- dependencies (other libraries)
|
||||||
|
- headers: include path & files
|
||||||
|
- sources
|
||||||
|
- generated sources
|
||||||
|
- resources
|
||||||
|
- generated resources
|
||||||
|
Production:
|
||||||
|
- Static library
|
||||||
|
- Dynamic library
|
||||||
|
- Naming rule
|
||||||
|
Life-cycle:
|
||||||
|
- Library compilation
|
||||||
|
- Compilation as a dependencies
|
||||||
|
- Run-time
|
||||||
|
- Packaging
|
||||||
|
Identity:
|
||||||
|
- Name
|
||||||
|
- Version
|
||||||
|
* Binary:
|
||||||
|
Input:
|
||||||
|
- dependencies (other libraries)
|
||||||
|
- headers: include path & files (usually empty)
|
||||||
|
- sources
|
||||||
|
- generated sources
|
||||||
|
- resources
|
||||||
|
- generated resources
|
||||||
|
- supported variant (optimized/debug, dll/static...)
|
||||||
|
Production:
|
||||||
|
- Binary executable
|
||||||
|
- Manifest [on some platforms]
|
||||||
|
- Debug symbol [on some platforms]
|
||||||
|
Life-cycle:
|
||||||
|
- Compilation
|
||||||
|
- Run-time
|
||||||
|
- Packaging
|
||||||
|
Identity:
|
||||||
|
- Name
|
||||||
|
- Version
|
||||||
|
* Documentation:
|
||||||
|
Input:
|
||||||
|
- dependencies (libraries, binaries)
|
||||||
|
- additional sources
|
||||||
|
- generated sources
|
||||||
|
- resources
|
||||||
|
- generated resources
|
||||||
|
- supported variant (public/internal)
|
||||||
|
Production:
|
||||||
|
- HTML documentation
|
||||||
|
- PDF documentation
|
||||||
|
- CHM documentation
|
||||||
|
Life-cycle:
|
||||||
|
- Documentation
|
||||||
|
- Packaging
|
||||||
|
- Test
|
||||||
|
Identity:
|
||||||
|
- Name
|
||||||
|
- Version
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import os.path
|
import os.path
|
||||||
import sys
|
import sys
|
||||||
|
Loading…
x
Reference in New Issue
Block a user