Skip to content

Commit 34f23f5

Browse files
committed
Update C++20 configuration in Dockerfile.builder with comprehensive flags
1 parent b971f44 commit 34f23f5

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

.github/workflows/biogears-complete-pipeline.yml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,13 @@ jobs:
114114
echo "RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10" >> docker/modified/Dockerfile.builder
115115
echo "RUN gcc --version && g++ --version" >> docker/modified/Dockerfile.builder
116116
117-
# Configure CMake with C++20 support
118-
echo "# Tell CMake to use C++20 standard" >> docker/modified/Dockerfile.builder
119-
echo "RUN cd /opt/biogears/core/build && cmake -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_FLAGS=-std=c++2a .." >> docker/modified/Dockerfile.builder
117+
# Configure CMake with comprehensive C++20 support
118+
echo "# Tell CMake to use C++20 standard with all necessary flags" >> docker/modified/Dockerfile.builder
119+
echo "RUN cd /opt/biogears/core/build && cmake -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_FLAGS=\"-std=c++20\" .." >> docker/modified/Dockerfile.builder
120+
121+
# Add compiler flags directly to the make command
122+
echo "# Run make with explicit C++20 flags" >> docker/modified/Dockerfile.builder
123+
echo "RUN cd /opt/biogears/core/build && CXXFLAGS='-std=c++20 -fconcepts' make install || true" >> docker/modified/Dockerfile.builder
120124
121125
# Add debugging commands to verify directory permissions
122126
echo "RUN ls -la /opt/biogears/core/build/projects/biogears/generated/Release/biogears/schema/cdm || echo 'Directory does not exist yet'" >> docker/modified/Dockerfile.builder
@@ -154,6 +158,22 @@ jobs:
154158
echo "RUN mkdir -p /opt/biogears/core/build/projects/biogears/generated/Release/c_encoded/8.0.0/biogears/io/xsd/cdm" >> docker/modified/Dockerfile.builder
155159
echo "RUN chmod -R 777 /opt/biogears/core/build" >> docker/modified/Dockerfile.builder
156160
161+
# Add newer compiler support for C++20
162+
echo "# Install newer compiler with C++20 support" >> docker/modified/Dockerfile.builder
163+
echo "RUN apt-get update && apt-get install -y software-properties-common" >> docker/modified/Dockerfile.builder
164+
echo "RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y" >> docker/modified/Dockerfile.builder
165+
echo "RUN apt-get update && apt-get install -y gcc-10 g++-10" >> docker/modified/Dockerfile.builder
166+
echo "RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10" >> docker/modified/Dockerfile.builder
167+
echo "RUN gcc --version && g++ --version" >> docker/modified/Dockerfile.builder
168+
169+
# Configure CMake with comprehensive C++20 support
170+
echo "# Tell CMake to use C++20 standard with all necessary flags" >> docker/modified/Dockerfile.builder
171+
echo "RUN cd /opt/biogears/core/build && cmake -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_FLAGS=\"-std=c++20\" .." >> docker/modified/Dockerfile.builder
172+
173+
# Add compiler flags directly to the make command
174+
echo "# Run make with explicit C++20 flags" >> docker/modified/Dockerfile.builder
175+
echo "RUN cd /opt/biogears/core/build && CXXFLAGS='-std=c++20 -fconcepts' make install || true" >> docker/modified/Dockerfile.builder
176+
157177
# Add debugging commands to verify directory permissions
158178
echo "RUN ls -la /opt/biogears/core/build/projects/biogears/generated/Release/biogears/schema/cdm || echo 'Directory does not exist yet'" >> docker/modified/Dockerfile.builder
159179
echo "RUN ls -la /opt/biogears/core/build/projects/biogears/generated/Release/biogears/schema/biogears || echo 'Directory does not exist yet'" >> docker/modified/Dockerfile.builder

0 commit comments

Comments
 (0)