CMake: Fix message levels for error conditions during configuration

Make messages which should be fatal, actually fail the build.

- FATAL is not a valid mode keyword. The full list is available in the
  docs: https://cmake.org/cmake/help/v3.19/command/message.html

- SEND_ERROR doesn't immediately stop processing, FATAL_ERROR does.
  We should immediately stop if the Toolchain is not present.

- The app icon size validation was just a WARNING that is easy to
  overlook. We should promote it to a FATAL_ERROR so that people will
  not overlook the issue when adding a new application. We can only make
  the small icon message FATAL_ERROR, as there is currently one
  violation of the medium app icon validation.
This commit is contained in:
Brian Gianforcaro 2021-05-13 04:15:35 -07:00 committed by Andreas Kling
parent d922bb0903
commit 8693c925a0
Notes: sideshowbarker 2024-07-18 18:14:02 +09:00
3 changed files with 3 additions and 3 deletions

View file

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16)
project(SerenityOS C CXX ASM) project(SerenityOS C CXX ASM)
if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "") if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "")
message(FATAL message(FATAL_ERROR
": Don't use CMAKE_BUILD_TYPE when building serenity.\n" ": Don't use CMAKE_BUILD_TYPE when building serenity.\n"
"The default build type is optimized with debug info and asserts enabled,\n" "The default build type is optimized with debug info and asserts enabled,\n"
"and that's all there is.") "and that's all there is.")

View file

@ -353,7 +353,7 @@ if (${CMAKE_HOST_SYSTEM_NAME} MATCHES SerenityOS)
include_directories(/usr/local/include/c++/${GCC_VERSION}/) include_directories(/usr/local/include/c++/${GCC_VERSION}/)
else() else()
if (NOT EXISTS ${TOOLCHAIN_ROOT}/Kernel/${SERENITY_ARCH}-pc-serenity/include/c++/${GCC_VERSION}/) if (NOT EXISTS ${TOOLCHAIN_ROOT}/Kernel/${SERENITY_ARCH}-pc-serenity/include/c++/${GCC_VERSION}/)
message(SEND_ERROR "Toolchain version ${GCC_VERSION} appears to be missing! Please run: Meta/serenity.sh rebuild-toolchain") message(FATAL_ERROR "Toolchain version ${GCC_VERSION} appears to be missing! Please run: Meta/serenity.sh rebuild-toolchain")
endif() endif()
include_directories(${TOOLCHAIN_ROOT}/Kernel/${SERENITY_ARCH}-pc-serenity/include/c++/${GCC_VERSION}/) include_directories(${TOOLCHAIN_ROOT}/Kernel/${SERENITY_ARCH}-pc-serenity/include/c++/${GCC_VERSION}/)
include_directories(${TOOLCHAIN_ROOT}/Kernel/${SERENITY_ARCH}-pc-serenity/include/c++/${GCC_VERSION}/${SERENITY_ARCH}-pc-serenity/) include_directories(${TOOLCHAIN_ROOT}/Kernel/${SERENITY_ARCH}-pc-serenity/include/c++/${GCC_VERSION}/${SERENITY_ARCH}-pc-serenity/)

View file

@ -98,7 +98,7 @@ function(serenity_app target_name)
if (EXISTS "${small_icon}") if (EXISTS "${small_icon}")
embed_resource("${target_name}" serenity_icon_s "${small_icon}") embed_resource("${target_name}" serenity_icon_s "${small_icon}")
else() else()
message(WARNING "Missing small app icon: ${small_icon}") message(FATAL_ERROR "Missing small app icon: ${small_icon}")
endif() endif()
if (EXISTS "${medium_icon}") if (EXISTS "${medium_icon}")