Repository navigation
CI dependency bug - #3555
CI dependency bug#3555Nima-Rahimi-Foroushaani wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
WalkthroughThe CI workflow adds change detection as a dependency of the Generals MD replay-check job. The GameEngine CMake configuration adds compiler-specific forced includes when precompiled headers are disabled. ChangesCI job dependency
Precompiled-header fallback
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to
|
[Low impact] The PR appears safe to merge.
|
| @@ -1199,6 +1199,23 @@ target_precompile_headers(corei_gameengine_private INTERFACE | |||
| Include/Precompiled/PreRTS.h | |||
| ) | |||
|
|
|||
| # The Docker/VC6 build disables PCH generation, but engine sources still rely | |||
| # on the declarations in PreRTS.h. Keep including it even without a PCH, | |||
| # with the compatibility macros and base types included first. | |||
There was a problem hiding this comment.
This looks unexpected. BasePrecomp.h should come through core_libraries
There was a problem hiding this comment.
It does indeed. However, the forced inclusion of PreRTS.h comes before the ones of BasePrecomp.h which breaks the compilation.
|
is this and #3523 related? |
|
Looks like we can get PCH working in the Docker build with a little tweak (/Zm100 in space of /Zm1000): diff --git a/resources/dockerbuild/entrypoint.sh b/resources/dockerbuild/entrypoint.sh
index 1fe64c12ea..06cff60626 100644
--- a/resources/dockerbuild/entrypoint.sh
+++ b/resources/dockerbuild/entrypoint.sh
@@ -16,10 +16,11 @@ if [ "${FORCE_CMAKE:-}" = "true" ] || [ ! -f build/docker/build.ninja ]; then
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \
- -DCMAKE_DISABLE_PRECOMPILE_HEADERS=1 \
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF \
+ "-DCMAKE_CXX_FLAGS=/DWIN32 /D_WINDOWS /GX /Zm100" \
-DCMAKE_C_COMPILER_WORKS=1 \
-DCMAKE_CXX_COMPILER_WORKS=1 \
- -B /build/cnc/build/docker
+ -B Z:/build/cnc/build/docker
fi
cd /build/cnc/build/docker
|
1ba4981 to
2886271
Compare
… in `needs` context explicitly.
|
I removed the commit, related to the docker based build problem. I assume it will be handled in #3523. |
|
Looks good. The replay check reads Could you rename it to something like |
Apparently it is better not to rely on PCH: |
I think the root cause that PCH was disabled on Docker was that CMake defaulted to a compiler setting that requested a lot of memory unnecessarily (/Zm1000). But having the project not rely on PCH to be able to build is also good. |
No description provided.