TY  - CONF
AU  - Nejati, Ammar
AU  - Svechnikov, Mikhail
AU  - Wuttke, Joachim
TI  - Deploying a C++ Software with (or without) Python Embedding and Extension
VL  - 83
CY  - Berlin
PB  - Berlin Universities Publishing
M1  - FZJ-2025-01960
T2  - Electronic Communications of the EASST
SP  - 1-23
PY  - 2025
AB  - We discuss the manifold difficulties in cross-platform software deployment. We first consider a pure C++ project. Then we discuss the additional problems that arise when a C++ core has an embedded Python interpreter and is exposed to Python with bindings automatically generated by Swig. We explain how such a software can be deployed to Windows, Linux, and macOS, in form of source archives, binary installers, packages for package managers, or Python wheels. Our solutions are based on proven experience with the physics software BornAgain.
T2  - 4th Conference for Research Software Engineering in Germany
CY  - 5 Mar 2024 - 7 Mar 2024, Würzburg (Germany)
Y2  - 5 Mar 2024 - 7 Mar 2024
M2  - Würzburg, Germany
KW  - deployment (Other)
KW  - installer (Other)
KW  - packaging (Other)
KW  - DevOps (Other)
KW  - CI/CD (Other)
KW  - continuous delivery (Other)
KW  - cross-platform (Other)
KW  - cross-language (Other)
KW  - C++ (Other)
KW  - Python (Other)
KW  - CMake (Other)
KW  - Swig (Other)
LB  - PUB:(DE-HGF)8 ; PUB:(DE-HGF)7
DO  - DOI:10.14279/eceasst.v83.2596
UR  - https://juser.fz-juelich.de/record/1040611
ER  -