GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - wsjcpp/wsjcpp: Yet another... C++ Source Package Manager

BranchesTags
Open more actions menu

Latest commit

 

History

266 Commits
266 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
ci/travis
ci/travis
 
 
contrib/ppa
contrib/ppa
 
 
docs
docs
 
 
img
img
 
 
samples
samples
 
 
src.wsjcpp
src.wsjcpp
 
 
src
src
 
 
tests
tests
 
 
unit-tests.wsjcpp
unit-tests.wsjcpp
 
 
.dockerignore
.dockerignore
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
VERSION
VERSION
 
 
build_simple.sh
build_simple.sh
 
 
build_simple_msvc2015.bat
build_simple_msvc2015.bat
 
 
clean.sh
clean.sh
 
 
docker-build.sh
docker-build.sh
 
 
wsjcpp.yml
wsjcpp.yml
 
 

Repository files navigation

wsjcpp

License: MIT Docker Pulls Github Stars Github Stars Github Forks

Yet another... C++ Source Package Manager

Official site: https://wsjcpp.org/

Get for work

Use a docker

Docker:

$ docker pull sea5kg/wsjcpp:latest
$ docker run -it --rm \
    -v `pwd`/.:/root/project \
    sea5kg/wsjcpp:latest \
    bash
root@8b93098b8a07:~/project#

Now you can call wsjcpp inside a container For exit, just enter exit command after this container will be destroed.

Install to MacOS

$ brew tap wsjcpp/wsjcpp
$ brew install wsjcpp

Install on Ubuntu from ppa

$ sudo add-apt-repository ppa:sea5kg/wsjcpp
$ sudo apt-get update
$ sudo apt-get install wsjcpp

Build and install in Ubuntu/Debian

$ sudo apt install cmake make g++ pkg-config libcurl4-openssl-dev git-core
$ git clone https://github.com/wsjcpp/wsjcpp /tmp/wsjcpp.git
$ cd /tmp/wsjcpp.git
$ sudo cp -r /tmp/wsjcpp.git /bin/wsjcpp

More package managers for c++

Here

Basic usage

Init new project / package

Inside with your folder project

$ wsjcpp init .

If you already have a project and want integrate to you project please look here: TODO

On this step will be generated different files, like (only if files not exists):

  • src.wsjcpp/CMakeLists.txt
  • src.wsjcpp/wsjcpp_core/* <- sample of package (core always required)
  • unit-tests.wsjcpp/* <- folder for unit-tests
  • src/main.cpp
  • .wsjcpp/* <- temporary folder
  • CMakeLists.txt
  • build_simple.sh
  • .gitignore
  • ...

Install packages

You can find on github package what a need you here (for example) https://github.com/topics/wsjcpp

And next command you can install package:

$ wsjcpp install https://github.com/wsjcpp/wsjcpp-print-tree:master

Also you can change 'master' to specific version or branch

After downloading wsjcpp will be automaticly update file: src.wsjcpp/CMakeLists.txt

Upgrade package

$ wsjcpp list 

  Dependencies: 
  * 'wsjcpp-core:v0.0.8' (https://github.com/wsjcpp/wsjcpp-core:master -> ./src.wsjcpp/wsjcpp_core)
  * 'wsjcpp-print-tree:v0.0.1' (https://github.com/wsjcpp/wsjcpp-print-tree:master -> ./src.wsjcpp/wsjcpp_print_tree)

$ wsjcpp reinstall wsjcpp-print-tree

Uninstall package

$ wsjcpp uninstall https://github.com/wsjcpp/wsjcpp-print-tree:master

Unit-tests

Create a new unit-test

$ wsjcpp unit-tests create SomeTest "Tesing some"

Will be created new files:

  • unit-tests.wsjcpp/src/unit_test_init_package.h
  • unit-tests.wsjcpp/src/unit_test_init_package.cpp

Also will be automaticly updated unit-tests.wsjcpp/CMakeLists.txt

For build and run unit-tests:

$ cd unit-tests.wsjcpp
$ ./build_simple.sh
$ ./unit-tests

P.S. For testing you package - you need define distribution files (for automaticly include to unit-tests.wsjcpp/CMakeLists.txt)

Specify distribution files from your package for uses your package

Add to distribution

$ wsjcpp distribution add src/your_source_file.h
$ wsjcpp distribution add src/your_source_file.cpp

Will be updated section 'distribution' in wsjcpp.yml

distribution:
  - source-file: "src/your_source_file.h"
    target-file: "your_source_file.h"
    type: "source-code"
  - source-file: "src/your_source_file.cpp"
    target-file: "your_source_file.cpp"
    type: "source-code"

Remove from distribution

$ wsjcpp distribution remove src/your_source_file.cpp

Manual changed wsjcpp.yml

For update automaticly generated files:

$ wsjcpp update

For building

wsjcpp prepare file 'build_simple.sh' for easy building

$ ./build_simple.sh

Build docker image

$ docker build -t sea5kg/wsjcpp:latest .

About

Yet another... C++ Source Package Manager

wsjcpp.org/

Topics

buildc-plus-pluscmakecmake-packagescmakelistscpplinuxmacospackage-managerpackage-repositorywsjcppwsjcpp-package

Resources

Readme
MIT license
Activity
Custom properties

Stars

21 stars

Watchers

3 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.