Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ideas for further development #1

Open
23 of 37 tasks
polytypic opened this issue May 9, 2019 · 1 comment
Open
23 of 37 tasks

Ideas for further development #1

polytypic opened this issue May 9, 2019 · 1 comment

Comments

@polytypic
Copy link
Member

polytypic commented May 9, 2019

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:

@jaeheum
Copy link

jaeheum commented Jul 1, 2021

a few feature requests:

  • let users set/get desired language standard (without resorting to adding, say, .cppsm/c++20.cmake)
  • more automation for branching requirements/equipments (foo_v1 => foo_v2 with appropriate renames and edits)
  • doc/recommendation on branching (there can be many criteria: lang version, api compatibility, changes of dependencies, etc and it would be nice to follow cppsm's "best practice")
  • related: how about cppsm fork so users can fork (remote) dependencies and make local changes quickly? (and it'd be even nicer to have a way to make pull requests from cppsm)

thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants