Skip to content

Ideas for further development #1

Open
@polytypic

Description

@polytypic

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
  • Support submodule.<name>.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:

  • Document different layers of convention (top-level directories, target directories, ...)
  • Add command to upgrade CLI itself
  • Avoid overriding files in cppsm init to allow customization
  • Include COVERAGE flag value in build directory name
  • Make VC++ builds less verbose by default (i.e. add /verbosity:quiet)
  • Document all cppsm commands
  • Add setting to enable/disable concurrent install e.g. INSTALL_WAIT=0|1
  • Move travis-ci script into the cppsm-cli project
  • Mark external links in the documentation page and make them open in a new tab/window
  • Add syntax highlighting of bash snippets to https://cppsm.github.io/
  • Document all configuration variables (e.g. NUMBER_OF_PROCESSORS, N_PARALLEL_BUILD, N_PARALLEL_TEST, ...)
  • Move documentation to the cppsm.github.io repo
  • Run tests in parallel by default
  • Delay installation of additional packages so that some tests are run as early as possible
  • Run installation of apt packages in parallel to builds where possible to speed up completion
  • Fold sections in output
  • Install brew packages concurrently with build and test
  • Test with GCC on OS X
  • Add XTRACE setting for Bash xtrace
  • Rename update-all to upgrade and add update to perform git pull -r && git submodule update --init
  • Parallel build by default
  • Compile and run each testing .cpp file as a separate test
  • Code coverage from tests

Rejected:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions