cmake_modules/FindEmscripten.cmake
author unC0Rr
Sat, 28 Sep 2024 22:27:13 +0200
changeset 16037 2b4f361e3891
parent 11654 870f22de388b
permissions -rw-r--r--
Wrap chat lines into div
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11654
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     1
# - Try to find the Clang/LLVM executable
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     2
# Once done this will define
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     3
#
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     4
#  EMSCRIPTEN_FOUND       - system has Clang
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     5
#  EMSCRIPTEN_VERSION     - Clang version
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     6
#  EMSCRIPTEN_EXECUTABLE  - Clang executable
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     7
#
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     8
# Copyright (c) 2013, Vittorio Giovara <vittorio.giovara@gmail.com>
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
     9
#
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    10
# Redistribution and use is allowed according to the terms of the BSD license.
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    11
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    12
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    13
find_program(EMSCRIPTEN_EXECUTABLE
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    14
        NAMES emcc
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    15
        PATHS /opt/local/bin /usr/local/bin /usr/bin)
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    16
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    17
if (EMSCRIPTEN_EXECUTABLE)
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    18
    execute_process(COMMAND ${EMSCRIPTEN_EXECUTABLE} -v
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    19
                    OUTPUT_VARIABLE EMSCRIPTEN_VERSION_OUTPUT
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    20
                    ERROR_VARIABLE EMSCRIPTEN_VERSION_ERROR
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    21
                    RESULT_VARIABLE EMSCRIPTEN_VERSION_RESULT
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    22
                    OUTPUT_STRIP_TRAILING_WHITESPACE
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    23
                    )
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    24
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    25
    if(${EMSCRIPTEN_VERSION_RESULT} EQUAL 0)
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    26
        string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" EMSCRIPTEN_VERSION "${EMSCRIPTEN_VERSION_OUTPUT}")
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    27
        string(REGEX REPLACE "([0-9]+\\.[0-9]+\\.[0-9]+)" "\\1" EMSCRIPTEN_VERSION "${EMSCRIPTEN_VERSION}")
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    28
    else()
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    29
        message(SEND_ERROR "Command \"${EMSCRIPTEN_EXECUTABLE} --version\" failed with output: ${EMSCRIPTEN_VERSION_ERROR}")
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    30
    endif()
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    31
endif()
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    32
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    33
include(FindPackageHandleStandardArgs)
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    34
find_package_handle_standard_args(Emscripten DEFAULT_MSG EMSCRIPTEN_EXECUTABLE EMSCRIPTEN_VERSION)
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    35
mark_as_advanced(EMSCRIPTEN_VERSION)
870f22de388b Add support for compiling C engine with emscripten
koda
parents:
diff changeset
    36