Development terminal preparations
Stealing (actually borrowing) as a function. Collect code from different locations, apply changes, add your code and get working solution - .stealer folder as an input and working solution as an output. Decrease code repeating and increase development efficiency.
# TO build python
sudo dnf install -y openssl-devel sqlite sqlite-devel libffi-develSCRIPTS_VERSION=0.104.0
./configure release
make clean
make all test package
sudo rpm -e setmy-info-scripts
sudo rpm -i setmy-info-scripts-${SCRIPTS_VERSION}.noarch.rpmAll in single line:
SCRIPTS_VERSION=0.104.0 && ./configure release && make clean && make all test package && sudo rpm -e setmy-info-scripts && sudo rpm -i setmy-info-scripts-${SCRIPTS_VERSION}.noarch.rpmand for SMI Rocky Linux Docker
./configure options
ci - synonyme for release
release - verification (unit tests, integration tests incl. valgrind tests), release (no debug info) binaries, stripped, without -SNAPSHOT, real paths in side scripts.
skipITs - like maven skipITS, that skips integration tests incl. valgrind tests.
noSnapshot - without -SNAPSHOT
realPaths - inside scripts real path used
./configure [ci/release | release]With Docker
docker build --no-cache --progress=plain -f Dockerfile .- ./README.md
- ./Doxyfile
- ./Dockerfile
- ./CMakeLists.txt
- ./src/main/sh/build/packages-build.sh
- ./src/main/sh/build/check-files.sh (smi-version output test)
- ./setup.iss
Function usage is a problem. CMame doesn't have global variables. Only function or parent ... (directory, ... ?).
- sh separate into subdirectories (common/base, devel, server, software, desktop (devel. workstation), AWS, Google, K8S,
git, ...):
- common or base
- time
- string
- CLI
- development (devel. workstation)
- python
- groovy
- C/C++
- Java
- JavaScript
- AI, TensorFlow
- server
- ansible
- desktop or workstation
software- vcs, git, mercurial, subversion
- ssl, pki
- aws, google, cloud
- k8s, virtualization, docker
- crm
- tools, helpers
- common or base
To build the project and generate the NSIS installation executable (choose one generator):
# Using Ninja (if installed)
call src\main\cmd\lib\profiles\ninja.cmd
cmake -B cmake-build-release -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build cmake-build-release --target packageThe resulting installer will be located in the cmake-build-release directory.
Alternatively, you can build the installers manually if the scripts are already prepared:
makensis setup.nsi
ISCC.exe setup.iss
REM or
build.cmd