Skip to content

Ideas for further development #1

New issue

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

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

Already on GitHub? # to your account

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

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

No branches or pull requests

2 participants