mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 09:47:35 +00:00
Meta: Error out on find_program errors with CMake less than 3.18
We have seen some cases where the build fails for folks, and they are missing unzip/tar/gzip etc. We can catch some of these in CMake itself, so lets make sure to handle that uniformly across the build system. The REQUIRED flag to `find_program` was only added on in CMake 3.18 and above, so we can't rely on that to actually halt the program execution.
This commit is contained in:
parent
6b5f0d11ce
commit
66e7ac1954
6 changed files with 31 additions and 10 deletions
23
Meta/CMake/check_for_dependencies.cmake
Normal file
23
Meta/CMake/check_for_dependencies.cmake
Normal file
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# Check for the dependencies that the Serenity (target) and Lagom (host) builds require.
|
||||
#
|
||||
|
||||
# FIXME: With cmake 3.18, we can change unzip/untar/gzip steps to use
|
||||
# file( ARCHIVE_EXTRACT) instead
|
||||
#
|
||||
# Additionally we have to emit an error message for each tool,
|
||||
# as REQUIRED only works with cmake 3.18 and above.
|
||||
find_program(UNZIP_TOOL unzip REQUIRED)
|
||||
if (NOT UNZIP_TOOL)
|
||||
message(FATAL_ERROR "Failed to locate unzip on your machine, please install it and re-read the SerenityOS build documentation.")
|
||||
endif()
|
||||
|
||||
find_program(TAR_TOOL tar REQUIRED)
|
||||
if (NOT TAR_TOOL)
|
||||
message(FATAL_ERROR "Failed to locate tar on your machine, please install it and re-read the SerenityOS build documentation.")
|
||||
endif()
|
||||
|
||||
find_program(GZIP_TOOL gzip REQUIRED)
|
||||
if (NOT GZIP_TOOL)
|
||||
message(FATAL_ERROR "Failed to locate gzip on your machine, please install it and re-read the SerenityOS build documentation.")
|
||||
endif()
|
Loading…
Add table
Add a link
Reference in a new issue