mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 23:25:06 +00:00

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.
23 lines
929 B
CMake
23 lines
929 B
CMake
#
|
|
# 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()
|