From 2460ca80f87278332064396926e2a6d3ae7e3b59 Mon Sep 17 00:00:00 2001 From: Paul MARTIN Date: Fri, 28 Aug 2026 14:14:34 +0200 Subject: [PATCH 1/2] remove MUSE_COMPILE_USE_PCH declaration, the application owns it --- framework/cmake/MuseDeclareOptions.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/framework/cmake/MuseDeclareOptions.cmake b/framework/cmake/MuseDeclareOptions.cmake index 0a853397a0..b351cfa50b 100644 --- a/framework/cmake/MuseDeclareOptions.cmake +++ b/framework/cmake/MuseDeclareOptions.cmake @@ -7,7 +7,6 @@ option(MUSE_CONFIGURATION_IS_WEB "Configuration is web" OFF) # === Build options === option(MUSE_COMPILE_ASAN "Enable Address Sanitizer" OFF) -option(MUSE_COMPILE_USE_PCH "Use precompiled headers." ON) # === Debug options === option(MUSE_COMPILE_STRING_DEBUG_HACK "Enable string debug hack (only clang)" ON) From 9b35bd42d7d4c9138d8592f904d5d44f5242cde1 Mon Sep 17 00:00:00 2001 From: Paul MARTIN Date: Fri, 28 Aug 2026 14:47:32 +0200 Subject: [PATCH 2/2] standalone build: declare the PCH and unity options OFF to keep CI strict --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ea21da781a..1d6b781cd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,6 +48,14 @@ set(MUSE_APP_BUILD_MODE "dev" CACHE STRING "Build mode") # - testing - for testing versions (alpha, beta, RC) # - release - for stable release builds +# Consumer applications own these options and must declare them on their side. +# The standalone framework build is the application here, and deliberately +# builds with PCH and unity OFF: every source stays self-contained (see #256), +# so CI catches missing includes and Qt module links that PCH or unity batches +# would mask. +option(MUSE_COMPILE_USE_PCH "Use precompiled headers." OFF) +option(MUSE_COMPILE_USE_UNITY "Use unity build." OFF) + include(${MUSE_FRAMEWORK_SRC_PATH}/cmake/MuseDeclareOptions.cmake) ###########################################