diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ca57e1..d38c0c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,9 +113,10 @@ elseif(MINGW) find_program(MAKE mingw32-make REQUIRED) set(OPENSSL_BUILD_TOOL ${MAKE}) else() - find_program(MAKE make REQUIRED) + find_program(MAKE gmake REQUIRED) set(OPENSSL_BUILD_TOOL ${MAKE}) endif() +set(OPENSSL_BUILD_TOOL gmake) # Modify configure/build options if(OPENSSL_TEST AND NOT CMAKE_CROSSCOMPILING) @@ -140,7 +141,7 @@ if(NUMBER_OF_THREADS GREATER 1) list(APPEND OPENSSL_CONFIGURE_OPTIONS /FS) list(APPEND OPENSSL_BUILD_OPTIONS /J ${NUMBER_OF_THREADS}) else() - list(APPEND OPENSSL_BUILD_OPTIONS -j ${NUMBER_OF_THREADS}) +# list(APPEND OPENSSL_BUILD_OPTIONS -j ${NUMBER_OF_THREADS}) endif() endif() diff --git a/cmake/ConfigureOpenSSL.cmake b/cmake/ConfigureOpenSSL.cmake index 3012e05..9862aa0 100644 --- a/cmake/ConfigureOpenSSL.cmake +++ b/cmake/ConfigureOpenSSL.cmake @@ -134,10 +134,24 @@ function(configure_openssl) set(VERBOSE_OPTION OUTPUT_QUIET) endif() + if (CMAKE_SYSTEM_NAME MATCHES "Emscripten") + set(EMSCRIPTEN_CMAKE_WRAPPER "emcmake") + find_program(EMCC emcc REQUIRED) + set(EMSCRIPTEN_LINKER ${EMCC}) + list(APPEND CONFIGURE_COMMAND wasm64) + else() + set(EMSCRIPTEN_CMAKE_WRAPPER "") + set(EMSCRIPTEN_LINKER ${CMAKE_LINKER}) + endif () + execute_process( - COMMAND ${CMAKE_COMMAND} -E env + COMMAND ${EMSCRIPTEN_CMAKE_WRAPPER} ${CMAKE_COMMAND} -E env "CFLAGS=${CMAKE_C_FLAGS}" "CXXFLAGS=${CMAKE_CXX_FLAGS}" + "LDFLAGS=${CMAKE_CXX_LINKER_FLAGS}" + "CC=${CMAKE_C_COMPILER}" + "CXX=${CMAKE_CXX_COMPILER}" + "LD=${EMSCRIPTEN_LINKER}" ${CONFIGURE_COMMAND} WORKING_DIRECTORY ${CONFIGURE_BUILD_DIR} ${VERBOSE_OPTION}