ladybird/Meta/CMake/check_for_dependencies.cmake
Brian Gianforcaro 66e7ac1954 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.
2022-03-19 15:01:22 -07:00

24 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()