From c7d501b4667fe28322c99c8c50769434aeb6ff0d Mon Sep 17 00:00:00 2001 From: EnderIce2 Date: Sat, 12 Apr 2025 04:36:16 +0000 Subject: [PATCH] build: add support for quiet build mode in CMakeLists --- Makefile | 16 +++++++++++----- Userspace/coreutils/CMakeLists.txt | 8 ++++++++ Userspace/libc/CMakeLists.txt | 8 ++++++++ config.mk | 1 + 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index d7bdbadc..1d4df480 100644 --- a/Makefile +++ b/Makefile @@ -82,6 +82,10 @@ QEMUFLAGS += -M raspi4b \ -kernel $(OSNAME).img endif +ifeq ($(QUIET_BUILD), 1) +MAKE_QUIET_FLAG := --quiet +endif + doxygen: mkdir -p doxygen-doc doxygen Doxyfile @@ -141,7 +145,13 @@ setup: setup-no-qemu: $(MAKE) --quiet -C tools ci -build: build_kernel build_bootloader build_userspace build_drivers build_image +build: + $(MAKE) $(MAKE_QUIET_FLAG) mkdir_rootfs + $(MAKE) $(MAKE_QUIET_FLAG) build_kernel + $(MAKE) $(MAKE_QUIET_FLAG) build_bootloader + $(MAKE) $(MAKE_QUIET_FLAG) build_userspace + $(MAKE) $(MAKE_QUIET_FLAG) build_drivers + $(MAKE) $(MAKE_QUIET_FLAG) build_image dump: $(MAKE) --quiet -C Kernel dump @@ -213,10 +223,6 @@ ci-build: changelog: git cliff > CHANGELOG.md -ifeq ($(QUIET_BUILD), 1) -MAKE_QUIET_FLAG = --quiet -endif - build_kernel: ifeq ($(BUILD_KERNEL), 1) $(MAKE) -j$(shell nproc) $(MAKE_QUIET_FLAG) -C Kernel build diff --git a/Userspace/coreutils/CMakeLists.txt b/Userspace/coreutils/CMakeLists.txt index 860d9b28..6fb1fdad 100644 --- a/Userspace/coreutils/CMakeLists.txt +++ b/Userspace/coreutils/CMakeLists.txt @@ -7,6 +7,14 @@ if(NOT DEFINED ENV{WORKSPACE_DIR}) else() set(STANDALONE_BUILD OFF) message(STATUS "Compiling within workspace") + if(DEFINED ENV{QUIET_BUILD}) + message(STATUS "Quiet build enabled") + set(CMAKE_INSTALL_MESSAGE NEVER) + set(CMAKE_MESSAGE_LOG_LEVEL "WARNING") + set(MAKEFLAGS "--no-print-directory") + set(CMAKE_VERBOSE_MAKEFILE OFF) + set_property(GLOBAL PROPERTY RULE_MESSAGES OFF) + endif() endif() set(CMAKE_C_COMPILER "$ENV{CC}") diff --git a/Userspace/libc/CMakeLists.txt b/Userspace/libc/CMakeLists.txt index 5d161b90..f11630bc 100644 --- a/Userspace/libc/CMakeLists.txt +++ b/Userspace/libc/CMakeLists.txt @@ -16,6 +16,14 @@ if(NOT DEFINED ENV{WORKSPACE_DIR}) else() set(STANDALONE_BUILD OFF) message(STATUS "Compiling within workspace") + if(DEFINED ENV{QUIET_BUILD}) + message(STATUS "Quiet build enabled") + set(CMAKE_INSTALL_MESSAGE NEVER) + set(CMAKE_MESSAGE_LOG_LEVEL "WARNING") + set(MAKEFLAGS "--no-print-directory") + set(CMAKE_VERBOSE_MAKEFILE OFF) + set_property(GLOBAL PROPERTY RULE_MESSAGES OFF) + endif() if(NOT DEFINED ENV{CMAKE_INSTALL_PREFIX}) set(CMAKE_INSTALL_PREFIX "$ENV{WORKSPACE_DIR}/out/sys") diff --git a/config.mk b/config.mk index 1702ba87..80c4a1a9 100644 --- a/config.mk +++ b/config.mk @@ -100,6 +100,7 @@ export OSNAME export OSARCH export BOARD_TYPE export KERNEL_VERSION +export QUIET_BUILD export TOOLCHAIN_AMD64_PREFIX := $(COMPILER_PATH)/bin/x86_64-fennix- export TOOLCHAIN_I386_PREFIX := $(COMPILER_PATH)/bin/i386-fennix-