diff options
-rw-r--r-- | cmake/Platform/Emscripten.cmake | 28 | ||||
-rw-r--r-- | cmake/Platform/Emscripten_unix.cmake | 5 |
2 files changed, 17 insertions, 16 deletions
diff --git a/cmake/Platform/Emscripten.cmake b/cmake/Platform/Emscripten.cmake index 9addafc6..63b8da78 100644 --- a/cmake/Platform/Emscripten.cmake +++ b/cmake/Platform/Emscripten.cmake @@ -13,24 +13,20 @@ # After that, build the generated Makefile with the command 'make'. On Windows, you may download and use 'mingw32-make' instead. # the name of the target operating system -SET(CMAKE_SYSTEM_NAME Emscripten) -SET(CMAKE_SYSTEM_VERSION 1) +set(CMAKE_SYSTEM_NAME Emscripten) +set(CMAKE_SYSTEM_VERSION 1) -if ("$ENV{EMCC_BIN}" STREQUAL "") - message(ERROR "Environment variable EMCC_BIN has not been set! Please point it to Emscripten root directory!") +if ("$ENV{EMSCRIPTEN}" STREQUAL "") + message(ERROR "Environment variable EMSCRIPTEN has not been set! Please point it to Emscripten root directory!") endif() -#message(STATUS "CMake is using Emscripten toolchain file, Emscripten root path '$ENV{EMCC_BIN}'.") - -SET(CMAKE_FIND_ROOT_PATH $ENV{EMCC_BIN}) - -FILE(TO_CMAKE_PATH "$ENV{EMCC_BIN}" EMCC_PATH) +set(CMAKE_FIND_ROOT_PATH $ENV{EMSCRIPTEN}) # Specify the compilers to use for C and C++ -SET(CMAKE_C_COMPILER ${EMCC_PATH}/emcc) -SET(CMAKE_CXX_COMPILER ${EMCC_PATH}/em++) -SET(CMAKE_AR ${EMCC_PATH}/emar) -SET(CMAKE_RANLIB ${EMCC_PATH}/emranlib) +set(CMAKE_C_COMPILER "${EMCC_PATH}emcc") +set(CMAKE_CXX_COMPILER "${EMCC_PATH}em++") +set(CMAKE_AR "${EMCC_PATH}emar") +set(CMAKE_RANLIB "${EMCC_PATH}emranlib") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) @@ -38,9 +34,9 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) # Specify the program to use when building static libraries. Force Emscripten-related command line options to clang. -SET(CMAKE_CXX_ARCHIVE_CREATE "${CMAKE_CXX_COMPILER} -o <TARGET> -emit-llvm <LINK_FLAGS> <OBJECTS>") -SET(CMAKE_C_ARCHIVE_CREATE "${CMAKE_C_COMPILER} -o <TARGET> -emit-llvm <LINK_FLAGS> <OBJECTS>") +set(CMAKE_CXX_ARCHIVE_CREATE "${CMAKE_CXX_COMPILER} -o <TARGET> -emit-llvm <LINK_FLAGS> <OBJECTS>") +set(CMAKE_C_ARCHIVE_CREATE "${CMAKE_C_COMPILER} -o <TARGET> -emit-llvm <LINK_FLAGS> <OBJECTS>") # Set a global EMSCRIPTEN variable that can be used in client CMakeLists.txt to detect when building using Emscripten. # There seems to be some kind of bug with CMake, so you might need to define this manually on the command line with "-DEMSCRIPTEN=1". -SET(EMSCRIPTEN 1) +set(EMSCRIPTEN 1) diff --git a/cmake/Platform/Emscripten_unix.cmake b/cmake/Platform/Emscripten_unix.cmake new file mode 100644 index 00000000..1e1d7fa9 --- /dev/null +++ b/cmake/Platform/Emscripten_unix.cmake @@ -0,0 +1,5 @@ +# On Unix platforms, we must specify the absolute path to emcc for cmake, having emcc in PATH will cause cmake to fail finding it. +# The user must set the EMSCRIPTEN variable to point to the Emscripten root folder. + +file(TO_CMAKE_PATH "$ENV{EMSCRIPTEN/}" EMCC_PATH) +include(Emscripten.cmake) |