summaryrefslogtreecommitdiff
path: root/Meta/CMake/check_for_dependencies.cmake
blob: bedde21f8e9e03b8123a8abbde6fbf75229bba45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#
# 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.
if (CMAKE_VERSION VERSION_LESS 3.18.0)
    find_program(UNZIP_TOOL unzip REQUIRED)
    message(STATUS "Found cmake ${CMAKE_VERSION} - testing for external tools to uncompress")
    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()
endif()