Skip to content

AlbanAndrieu/nabla-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nabla nabla-cpp

A project that contains cpp code sample

License Gitter Minimal java version Jenkins build Status

Travis Build Status Quality Gate GitHub pull requests Docker Pulls

Table of contents

How to run it

Install tools

./install.sh

See also install.sh

Linux or OS X

  • Some Python packages: pip install conan termcolor distro pywin32

Windows

c:\Python27[-x64]\python.exe -m pip install --upgrade pip
pip.exe install colorama conan termcolor distro pywin32 setuptools==19.2 pyinstaller==2.1

Install python dependencies

#sudo pip2.7 freeze > requirements-current-2.7.txt
sudo pip2.7 install -r requirements-current-2.7.txt

#sudo pip3.8 freeze > requirements-current-3.8.txt
sudo pip3.8 install -r requirements-current-3.8.txt

See also build.sh for scons AND sample/build-linux/build.sh for cmake

Build it

export SCONS="/usr/bin/python3.6 /opt/ansible/env36/bin/scons"
./build.sh
#python3 /usr/bin/scons --cache-disable opt=True gcc_version=9.2.1 color=True use_cpp11=True

Clean it

scons --clean

See also clean.sh

Your components should be available

You can convert a rpm to a deb with alien

sudo apt-get install alien

Wine

See https://doc.ubuntu-fr.org/wine_trucs_et_astuces

# For 32 bits do first
export WINEARCH="win32"
# Start the program
WINEDEBUG=-all target/bin/x86Linux/run_app.exe
# shows dynamically linked libraries
ldd target/bin/x86Linux/run_app.exe
# shows the symbols in the file.
nm target/bin/x86Linux/run_app.exe
#convert PE32+ to ELF
strip -O elf32-i386 -o myprogram.elf -N xxxxxxx target/bin/x86Linux/run_app.exe
readelf -a -W  myprogram.elf
i686-w64-mingw32-objdump -h myprogram.elf

# See https://wiki.winehq.org/Wine_Developer%27s_Guide/Debugging_Wine
WINEDEBUG=+relay,-debug wine target/bin/x86Linux/run_app.exe
WINEDEBUG=+relay wine target/bin/x86Linux/run_app.exe 2>&1 | less -i
winedbg target/bin/x86Linux/run_app.exe
ldconfig -v | grep libstdc
g++ -print-file-name=libstdc++.a

file /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
#readelf -a -W /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
readelf -a -W target/lib/x86Linux/debug64/shared/libmain_library.so

pre-commit

See pre-commit Run pre-commit install

First time run cp hooks/hooks/* .git/hooks/ or git clone git@github.com:AlbanAndrieu/nabla-hooks.git hooks && rm -Rf ./.git/hooks && ln -s ../hooks/hooks ./.git/hooks

Run pre-commit run --all-files

Run SKIP=ansible-lint git commit -am 'Add key' Run git commit -am 'Add key' --no-verify

Quality tools

See pre-commit Run pre-commit install

Run pre-commit run --all-files

pylint --rcfile=.pylintrc SConstruct
pylint --rcfile=.pylintrc *.py

Eclipse

File -> Import -> Existing code as Makefile project

sample/build-linux/

Tools

See tools

npm-groovy-lint groovy formating for Jenkinsfile

Tested with nodejs 12 and 16 on ubuntu 20 and 21 (not working with nodejs 11 and 16)

npm install -g npm-groovy-lint@8.2.0
npm-groovy-lint --format
ls -lrta .groovylintrc.json

Update README.md

npm install --save markdown-toc
markdown-toc README.md
markdown-toc CHANGELOG.md  -i
pre-commit install
git add README.md
pre-commit run markdown-toc