mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-02 20:04:27 +02:00
build: gitpod environment updated
This commit is contained in:
150
.gitpod.yml
150
.gitpod.yml
@@ -1,5 +1,5 @@
|
|||||||
image:
|
image:
|
||||||
file: .gitpod.Dockerfile
|
file: .gitpod/Dockerfile
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
# exposing ports for VSCode Live Server
|
# exposing ports for VSCode Live Server
|
||||||
@@ -50,6 +50,15 @@ tasks:
|
|||||||
{
|
{
|
||||||
"cmake.generator": "Ninja Multi-Config",
|
"cmake.generator": "Ninja Multi-Config",
|
||||||
"cmake.configureOnOpen": true,
|
"cmake.configureOnOpen": true,
|
||||||
|
"cmake.options.statusBarVisibility": "visible",
|
||||||
|
"cmake.options.advanced": {
|
||||||
|
"testPreset": {
|
||||||
|
"statusBarVisibility": "hidden"
|
||||||
|
},
|
||||||
|
"ctest": {
|
||||||
|
"statusBarVisibility": "hidden"
|
||||||
|
}
|
||||||
|
},
|
||||||
"clang-format.executable": "/usr/bin/clang-format-15",
|
"clang-format.executable": "/usr/bin/clang-format-15",
|
||||||
"editor.tabSize": 2,
|
"editor.tabSize": 2,
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
@@ -74,117 +83,44 @@ tasks:
|
|||||||
|
|
||||||
EOF
|
EOF
|
||||||
exit
|
exit
|
||||||
- name: conan
|
- name: install python packages
|
||||||
before: |
|
before: |
|
||||||
pip3 install -U conan
|
source ${PYTHON_VENV}/bin/activate
|
||||||
conan config init
|
pip install -Ur requirements.txt
|
||||||
conan profile update settings.compiler.libcxx=libstdc++11 default
|
conan config install $PWD/.gitpod/conan
|
||||||
conan profile update settings.compiler.cppstd=20 default
|
gp sync-done python-init
|
||||||
conan remote add -i 0 conan-mpusz https://mpusz.jfrog.io/artifactory/api/conan/conan-oss
|
|
||||||
pushd /workspace/.conan/profiles
|
|
||||||
cp default gcc10
|
|
||||||
cp default gcc11
|
|
||||||
cp default gcc12
|
|
||||||
cp default clang13
|
|
||||||
cp default clang14
|
|
||||||
cp default clang15
|
|
||||||
popd
|
|
||||||
conan profile update settings.compiler.version=10 gcc10
|
|
||||||
conan profile update 'conf.tools.build.compiler_executables={"c": "gcc-10", "cpp": "g++-10"}' gcc10
|
|
||||||
conan profile update settings.compiler.version=11 gcc11
|
|
||||||
conan profile update 'conf.tools.build.compiler_executables={"c": "gcc-11", "cpp": "g++-11"}' gcc11
|
|
||||||
conan profile update settings.compiler.version=11 gcc12
|
|
||||||
conan profile update 'conf.tools.build.compiler_executables={"c": "gcc-12", "cpp": "g++-12"}' gcc12
|
|
||||||
conan profile update settings.compiler=clang clang13
|
|
||||||
conan profile update settings.compiler.version=13 clang13
|
|
||||||
conan profile update settings.compiler.libcxx=libstdc++11 clang13
|
|
||||||
conan profile update 'conf.tools.build.compiler_executables={"c": "clang-13", "cpp": "clang++-13"}' clang13
|
|
||||||
conan profile update settings.compiler=clang clang14
|
|
||||||
conan profile update settings.compiler.version=14 clang14
|
|
||||||
conan profile update settings.compiler.libcxx=libstdc++11 clang14
|
|
||||||
conan profile update 'conf.tools.build.compiler_executables={"c": "clang-14", "cpp": "clang++-14"}' clang14
|
|
||||||
conan profile update settings.compiler=clang clang15
|
|
||||||
conan profile update settings.compiler.version=15 clang15
|
|
||||||
conan profile update settings.compiler.libcxx=libc++ clang15
|
|
||||||
conan profile update 'conf.tools.build.compiler_executables={"c": "clang-15", "cpp": "clang++-15"}' clang15
|
|
||||||
echo 'tools.cmake.cmaketoolchain:generator=Ninja Multi-Config' > /workspace/.conan/global.conf
|
|
||||||
echo 'tools.cmake.cmake_layout:build_folder_vars=["settings.compiler", "settings.compiler.version"]' >> /workspace/.conan/global.conf
|
|
||||||
gp sync-done conan-init
|
|
||||||
exit
|
exit
|
||||||
- name: gcc-10
|
- name: gcc-12-20
|
||||||
init: |
|
init: |
|
||||||
gp sync-await conan-init
|
gp sync-await python-init
|
||||||
conan install . -pr gcc10 -c user.build:all=True -c user.build:skip_docs=True -b outdated
|
source ${PYTHON_VENV}/bin/activate
|
||||||
conan install . -pr gcc10 -c user.build:all=True -c user.build:skip_docs=True -b outdated -s build_type=Debug
|
conan build . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing
|
||||||
cmake --preset gcc-10
|
conan build . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug
|
||||||
cmake --build --preset gcc-10-release -j
|
echo "🛠️ gcc-12 pre-build done for C++20 and libfmt! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
||||||
cmake --build --preset gcc-10-debug -j
|
- name: gcc-13-20
|
||||||
ctest -C Release
|
|
||||||
ctest -C Debug
|
|
||||||
echo "🛠️ gcc-10 pre-build done! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
|
||||||
- name: gcc-11
|
|
||||||
init: |
|
init: |
|
||||||
gp sync-await conan-init
|
gp sync-await python-init
|
||||||
conan install . -pr gcc11 -c user.build:all=True -c user.build:skip_docs=True -b outdated
|
source ${PYTHON_VENV}/bin/activate
|
||||||
conan install . -pr gcc11 -c user.build:all=True -c user.build:skip_docs=True -b outdated -s build_type=Debug
|
conan build . -pr gcc13 -c user.build:all=True -b missing
|
||||||
cmake --preset gcc-11
|
conan build . -pr gcc13 -c user.build:all=True -b missing -s build_type=Debug
|
||||||
cmake --build --preset gcc-11-release -j
|
echo "🛠️ gcc-13 pre-build done for C++20 and `std::format`! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
||||||
cmake --build --preset gcc-11-debug -j
|
- name: clang-16-20
|
||||||
ctest -C Release
|
|
||||||
ctest -C Debug
|
|
||||||
echo "🛠️ gcc-11 pre-build done! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
|
||||||
- name: gcc-12
|
|
||||||
init: |
|
init: |
|
||||||
gp sync-await conan-init
|
gp sync-await python-init
|
||||||
conan install . -pr gcc12 -c user.build:all=True -c user.build:skip_docs=True -b outdated
|
source ${PYTHON_VENV}/bin/activate
|
||||||
conan install . -pr gcc12 -c user.build:all=True -c user.build:skip_docs=True -b outdated -s build_type=Debug
|
conan build . -pr clang16 -c user.build:all=True -o use_fmtlib=True -b missing
|
||||||
cmake --preset gcc-12
|
conan build . -pr clang16 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug
|
||||||
cmake --build --preset gcc-12-release -j
|
echo "🛠️ clang-16 pre-build done for C++20 and libfmt! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
||||||
cmake --build --preset gcc-12-debug -j
|
- name: clang-17-20
|
||||||
ctest -C Release
|
|
||||||
ctest -C Debug
|
|
||||||
echo "🛠️ gcc-12 pre-build done! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
|
||||||
- name: clang-13
|
|
||||||
init: |
|
init: |
|
||||||
gp sync-await conan-init
|
gp sync-await python-init
|
||||||
conan install . -pr clang13 -c user.build:all=True -c user.build:skip_docs=True -b outdated
|
source ${PYTHON_VENV}/bin/activate
|
||||||
conan install . -pr clang13 -c user.build:all=True -c user.build:skip_docs=True -b outdated -s build_type=Debug
|
conan build . -pr clang17 -c user.build:all=True -o cxx_modules=True -b missing
|
||||||
cmake --preset clang-13
|
conan build . -pr clang17 -c user.build:all=True -o cxx_modules=True -b missing -s build_type=Debug
|
||||||
cmake --build --preset clang-13-release -j
|
echo "🛠️ clang-17 pre-build done for C++20, `std::format`, and C++20 modules! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
||||||
cmake --build --preset clang-13-debug -j
|
|
||||||
ctest -C Release
|
|
||||||
ctest -C Debug
|
|
||||||
echo "🛠️ clang-13 pre-build done! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
|
||||||
- name: clang-14
|
|
||||||
init: |
|
|
||||||
gp sync-await conan-init
|
|
||||||
conan install . -pr clang14 -c user.build:all=True -c user.build:skip_docs=True -b outdated
|
|
||||||
conan install . -pr clang14 -c user.build:all=True -c user.build:skip_docs=True -b outdated -s build_type=Debug
|
|
||||||
cmake --preset clang-14
|
|
||||||
cmake --build --preset clang-14-release -j
|
|
||||||
cmake --build --preset clang-14-debug -j
|
|
||||||
ctest -C Release
|
|
||||||
ctest -C Debug
|
|
||||||
echo "🛠️ clang-14 pre-build done! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
|
||||||
- name: clang-15
|
|
||||||
init: |
|
|
||||||
gp sync-await conan-init
|
|
||||||
conan install . -pr clang15 -c user.build:all=True -c user.build:skip_docs=True -b outdated
|
|
||||||
conan install . -pr clang15 -c user.build:all=True -c user.build:skip_docs=True -b outdated -s build_type=Debug
|
|
||||||
cmake --preset clang-15
|
|
||||||
cmake --build --preset clang-15-release -j
|
|
||||||
cmake --build --preset clang-15-debug -j
|
|
||||||
ctest -C Release
|
|
||||||
ctest -C Debug
|
|
||||||
echo "🛠️ clang-15 pre-build done! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
|
|
||||||
- name: documentation
|
- name: documentation
|
||||||
init: |
|
init: |
|
||||||
gp sync-await conan-init
|
gp sync-await python-init
|
||||||
pip3 install -Ur docs/requirements.txt
|
source ${PYTHON_VENV}/bin/activate
|
||||||
pip3 install -U sphinx-autobuild rstcheck esbonio
|
mkdocs serve
|
||||||
mkdir -p build/docs && cd build/docs
|
echo "📚 Documentation generation done! You can open it by clicking on 'Go Live' in the VSCode status bar. 📚"
|
||||||
gp sync-await conan-gcc-install
|
|
||||||
conan install ../.. -e mp-units:CONAN_RUN_TESTS=True -b outdated
|
|
||||||
cmake ../.. --toolchain conan_toolchain.cmake
|
|
||||||
cmake --build . --target documentation --config Release -j
|
|
||||||
echo "📚 Documentation pre-build complete! You can open it by clicking on 'Go Live' in the VSCode status bar. 📚"
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
FROM trainiteu/gitpod-cpp
|
FROM trainiteu/gitpod-cpp
|
||||||
|
|
||||||
# Add clang apt repositories
|
# Add clang apt repositories
|
||||||
RUN lsb_rel=`lsb_release -cs` \
|
RUN lsb_rel=`lsb_release -cs` && \
|
||||||
&& sudo add-apt-repository "deb http://apt.llvm.org/${lsb_rel}/ llvm-toolchain-${lsb_rel}-16 main"
|
sudo add-apt-repository "deb http://apt.llvm.org/${lsb_rel}/ llvm-toolchain-${lsb_rel}-16 main"
|
||||||
|
|
||||||
# Install older compilers supported by the project
|
# Install older compilers supported by the project
|
||||||
RUN sudo install-packages \
|
RUN sudo install-packages \
|
2
.gitpod/conan/global.conf
Normal file
2
.gitpod/conan/global.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
tools.cmake.cmaketoolchain:generator=Ninja Multi-Config
|
||||||
|
tools.cmake.cmake_layout:build_folder_vars=["settings.compiler", "settings.compiler.version", "settings.compiler.cppstd"]
|
11
.gitpod/conan/profiles/clang16
Normal file
11
.gitpod/conan/profiles/clang16
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[settings]
|
||||||
|
arch=x86_64
|
||||||
|
build_type=Release
|
||||||
|
compiler=clang
|
||||||
|
compiler.cppstd=20
|
||||||
|
compiler.libcxx=libc++
|
||||||
|
compiler.version=16
|
||||||
|
os=Linux
|
||||||
|
|
||||||
|
[conf]
|
||||||
|
tools.build:compiler_executables={"c": "clang-16", "cpp": "clang++-16"}
|
11
.gitpod/conan/profiles/clang17
Normal file
11
.gitpod/conan/profiles/clang17
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[settings]
|
||||||
|
arch=x86_64
|
||||||
|
build_type=Release
|
||||||
|
compiler=clang
|
||||||
|
compiler.cppstd=20
|
||||||
|
compiler.libcxx=libc++
|
||||||
|
compiler.version=17
|
||||||
|
os=Linux
|
||||||
|
|
||||||
|
[conf]
|
||||||
|
tools.build:compiler_executables={"c": "clang-17", "cpp": "clang++-17"}
|
11
.gitpod/conan/profiles/gcc12
Normal file
11
.gitpod/conan/profiles/gcc12
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[settings]
|
||||||
|
arch=x86_64
|
||||||
|
build_type=Release
|
||||||
|
compiler=gcc
|
||||||
|
compiler.cppstd=20
|
||||||
|
compiler.libcxx=libstdc++11
|
||||||
|
compiler.version=12
|
||||||
|
os=Linux
|
||||||
|
|
||||||
|
[conf]
|
||||||
|
tools.build:compiler_executables={"c": "gcc-12", "cpp": "g++-12"}
|
11
.gitpod/conan/profiles/gcc13
Normal file
11
.gitpod/conan/profiles/gcc13
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[settings]
|
||||||
|
arch=x86_64
|
||||||
|
build_type=Release
|
||||||
|
compiler=gcc
|
||||||
|
compiler.cppstd=20
|
||||||
|
compiler.libcxx=libstdc++11
|
||||||
|
compiler.version=13
|
||||||
|
os=Linux
|
||||||
|
|
||||||
|
[conf]
|
||||||
|
tools.build:compiler_executables={"c": "gcc-13", "cpp": "g++-13"}
|
Reference in New Issue
Block a user