To consider: - [ ] Support having a project X to depend on project Y that depends on project X - [ ] Drop `git pull -r` from `cppsm update` — probably causes more trouble - [ ] Switch to the slighty shorter [ISC license](https://en.wikipedia.org/wiki/ISC_license) - [ ] Support [`submodule.<name>.shallow`](https://git-scm.com/docs/git-submodule#Documentation/git-submodule.txt---no-recommend-shallow) setting for faster clones when you don't need the history - Documentation - [ ] Document interoperability - How to use a cppsm project in a non-cppsm project - How to use a non-cppsm project in a cppsm project - [ ] Embed usage videos / gif animations - `cppsm init` - [ ] Enhance `cppsm init` with e.g. `README.md` file generation - [ ] Add `VERBOSE` setting for verbose CMake builds - [ ] Run tests with dynamic analysis / instrumentation - [ ] Static analysis build - [ ] Editor / IDE support - [ ] Test with Clang on Windows - [ ] Perform CMake setups in parallel when possible - [ ] Namespace all config env variables to avoid conflicts and also give errors when variable names are misspelled Done: - [x] Document different layers of convention (top-level directories, target directories, ...) - [x] Add command to upgrade CLI itself - [x] Avoid overriding files in `cppsm init` to allow customization - [x] Include `COVERAGE` flag value in build directory name - [x] Make VC++ builds less verbose by default (i.e. add [`/verbosity:quiet`](https://blogs.msdn.microsoft.com/saraford/2008/10/07/did-you-know-you-can-configure-the-msbuild-verbosity-in-the-output-window-329/)) - [x] Document all `cppsm` commands - [x] Add setting to enable/disable concurrent install e.g. `INSTALL_WAIT=0|1` - [x] Move `travis-ci` script into the `cppsm-cli` project - [x] Mark external links in the documentation page and make them open in a new tab/window - [x] Add syntax highlighting of bash snippets to https://cppsm.github.io/ - [x] Document all configuration variables (e.g. `NUMBER_OF_PROCESSORS`, `N_PARALLEL_BUILD`, `N_PARALLEL_TEST`, ...) - [x] Move documentation to the [cppsm.github.io](https://github.com/cppsm/cppsm.github.io) repo - [x] Run tests in parallel by default - [x] Delay installation of additional packages so that some tests are run as early as possible - [x] Run installation of apt packages in parallel to builds where possible to speed up completion - [x] Fold sections in output - [x] Install brew packages concurrently with build and test - [x] Test with GCC on OS X - [x] Add `XTRACE` setting for Bash xtrace - [x] Rename `update-all` to `upgrade` and add `update` to perform `git pull -r && git submodule update --init` - [x] Parallel build by default - [x] Compile and run each testing .cpp file as a separate test - [x] Code coverage from tests Rejected:
To consider:
git pull -rfromcppsm update— probably causes more troublesubmodule.<name>.shallowsetting for faster clones when you don't need the historycppsm initcppsm initwith e.g.README.mdfile generationVERBOSEsetting for verbose CMake buildsDone:
cppsm initto allow customizationCOVERAGEflag value in build directory name/verbosity:quiet)cppsmcommandsINSTALL_WAIT=0|1travis-ciscript into thecppsm-cliprojectNUMBER_OF_PROCESSORS,N_PARALLEL_BUILD,N_PARALLEL_TEST, ...)XTRACEsetting for Bash xtraceupdate-alltoupgradeand addupdateto performgit pull -r && git submodule update --initRejected: