Skip to content

Ideas for further development #1

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions