Skip to content

Commit bba63d7

Browse files
committed
Update build to install newer CMake and explicitly specify GCC-11 compilers
1 parent 19418a2 commit bba63d7

File tree

1 file changed

+40
-12
lines changed

1 file changed

+40
-12
lines changed

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

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,27 @@ jobs:
114114
echo "RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 --slave /usr/bin/g++ g++ /usr/bin/g++-11" >> docker/modified/Dockerfile.builder
115115
echo "RUN gcc --version && g++ --version" >> docker/modified/Dockerfile.builder
116116
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
117+
# Upgraded CMake for better C++20 support
118+
echo "# Install newer CMake for better C++20 support" >> docker/modified/Dockerfile.builder
119+
echo "RUN apt-get update && apt-get install -y cmake-data software-properties-common lsb-release apt-transport-https ca-certificates" >> docker/modified/Dockerfile.builder
120+
echo "RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null" >> docker/modified/Dockerfile.builder
121+
echo "RUN apt-add-repository \"deb https://apt.kitware.com/ubuntu/ \$(lsb_release -cs) main\"" >> docker/modified/Dockerfile.builder
122+
echo "RUN apt-get update && apt-get install -y cmake" >> docker/modified/Dockerfile.builder
123+
echo "RUN cmake --version" >> docker/modified/Dockerfile.builder
120124
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
125+
# Configure CMake with advanced C++20 support for GCC-11
126+
echo "# Tell CMake to use C++20 standard with explicit GCC-11 configuration" >> docker/modified/Dockerfile.builder
127+
echo "RUN cd /opt/biogears/core/build && cmake \\" >> docker/modified/Dockerfile.builder
128+
echo " -DCMAKE_CXX_STANDARD=20 \\" >> docker/modified/Dockerfile.builder
129+
echo " -DCMAKE_CXX_STANDARD_REQUIRED=ON \\" >> docker/modified/Dockerfile.builder
130+
echo " -DCMAKE_CXX_EXTENSIONS=OFF \\" >> docker/modified/Dockerfile.builder
131+
echo " -DCMAKE_CXX_FLAGS=\"-std=gnu++20\" \\" >> docker/modified/Dockerfile.builder
132+
echo " -DCMAKE_C_COMPILER=/usr/bin/gcc-11 \\" >> docker/modified/Dockerfile.builder
133+
echo " -DCMAKE_CXX_COMPILER=/usr/bin/g++-11 .." >> docker/modified/Dockerfile.builder
134+
135+
# Add compiler flags directly to the make command with diagnostics
136+
echo "# Run make with explicit C++20 flags for GCC-11" >> docker/modified/Dockerfile.builder
137+
echo "RUN cd /opt/biogears/core/build && CXXFLAGS='-std=gnu++20 -fconcepts' make install || true" >> docker/modified/Dockerfile.builder
124138
125139
# Add debugging commands to verify directory permissions
126140
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
@@ -166,13 +180,27 @@ jobs:
166180
echo "RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 --slave /usr/bin/g++ g++ /usr/bin/g++-11" >> docker/modified/Dockerfile.builder
167181
echo "RUN gcc --version && g++ --version" >> docker/modified/Dockerfile.builder
168182
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
183+
# Upgraded CMake for better C++20 support
184+
echo "# Install newer CMake for better C++20 support" >> docker/modified/Dockerfile.builder
185+
echo "RUN apt-get update && apt-get install -y cmake-data software-properties-common lsb-release apt-transport-https ca-certificates" >> docker/modified/Dockerfile.builder
186+
echo "RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null" >> docker/modified/Dockerfile.builder
187+
echo "RUN apt-add-repository \"deb https://apt.kitware.com/ubuntu/ \$(lsb_release -cs) main\"" >> docker/modified/Dockerfile.builder
188+
echo "RUN apt-get update && apt-get install -y cmake" >> docker/modified/Dockerfile.builder
189+
echo "RUN cmake --version" >> docker/modified/Dockerfile.builder
190+
191+
# Configure CMake with advanced C++20 support for GCC-11
192+
echo "# Tell CMake to use C++20 standard with explicit GCC-11 configuration" >> docker/modified/Dockerfile.builder
193+
echo "RUN cd /opt/biogears/core/build && cmake \\" >> docker/modified/Dockerfile.builder
194+
echo " -DCMAKE_CXX_STANDARD=20 \\" >> docker/modified/Dockerfile.builder
195+
echo " -DCMAKE_CXX_STANDARD_REQUIRED=ON \\" >> docker/modified/Dockerfile.builder
196+
echo " -DCMAKE_CXX_EXTENSIONS=OFF \\" >> docker/modified/Dockerfile.builder
197+
echo " -DCMAKE_CXX_FLAGS=\"-std=gnu++20\" \\" >> docker/modified/Dockerfile.builder
198+
echo " -DCMAKE_C_COMPILER=/usr/bin/gcc-11 \\" >> docker/modified/Dockerfile.builder
199+
echo " -DCMAKE_CXX_COMPILER=/usr/bin/g++-11 .." >> docker/modified/Dockerfile.builder
172200
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
201+
# Add compiler flags directly to the make command with diagnostics
202+
echo "# Run make with explicit C++20 flags for GCC-11" >> docker/modified/Dockerfile.builder
203+
echo "RUN cd /opt/biogears/core/build && CXXFLAGS='-std=gnu++20 -fconcepts' make install || true" >> docker/modified/Dockerfile.builder
176204
177205
# Add debugging commands to verify directory permissions
178206
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

0 commit comments

Comments
 (0)