set "USE_FREETYPE=ON"
set "USE_RAPIDJSON=OFF"
set "USE_DRACO=OFF"
+set "USE_PTHREADS=OFF"
rem Archive tool
set "THE_7Z_PARAMS=-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
set "aBuildType=Release"
set "aBuildTypePrefix="
+set "anExtraCxxFlags="
+if /I ["%USE_PTHREADS%"] == ["ON"] (
+ set "anExtraCxxFlags=-pthread"
+ set "aBuildTypePrefix=%aBuildTypePrefix%-pthread"
+)
if ["%toDebug%"] == ["1"] (
set "aBuildType=Debug"
- set "aBuildTypePrefix=-debug"
+ set "aBuildTypePrefix=%aBuildTypePrefix%-debug"
)
call :cmakeGenerate
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
-D BUILD_LIBRARY_TYPE:STRING="Static" ^
+ -D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
-D INSTALL_DIR:PATH="%aDestDir%" ^
-D INSTALL_DIR_INCLUDE:STRING="inc" ^
-D INSTALL_DIR_RESOURCE:STRING="src" ^
cmake -G "MinGW Makefiles" ^
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
+ -D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
-D CMAKE_INSTALL_PREFIX:PATH="%aDestDirSmpl%" ^
-D SOURCE_MAP_BASE:STRING="%sourceMapBase%" ^
-D OpenCASCADE_DIR:PATH="%aDestDir%/lib/cmake/opencascade" ^
rem set "BUILD_ApplicationFramework=ON"
rem set "BUILD_DataExchange=ON"
-rem set "USE_RAPIDJSON=OFF"
+rem set "USE_RAPIDJSON=ON"
rem set "USE_DRACO=ON"
+rem set "USE_PTHREADS=ON"
set "toDebug=0"
set "sourceMapBase="
+set "USE_PTHREADS=OFF"
+
rem Configuration file
if exist "%~dp0wasm_custom.bat" call "%~dp0wasm_custom.bat"
set "aBuildType=Release"
set "aBuildTypePrefix="
+set "anExtraCxxFlags="
+if /I ["%USE_PTHREADS%"] == ["ON"] (
+ set "anExtraCxxFlags=-pthread"
+ set "aBuildTypePrefix=%aBuildTypePrefix%-pthread"
+)
if ["%toDebug%"] == ["1"] (
set "aBuildType=Debug"
- set "aBuildTypePrefix=-debug"
+ set "aBuildTypePrefix=%aBuildTypePrefix%-debug"
)
call :cmakeGenerate
cmake -G "MinGW Makefiles" ^
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
+ -D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
-D CMAKE_INSTALL_PREFIX:PATH="%aDestDirSmpl%" ^
-D SOURCE_MAP_BASE:STRING="%sourceMapBase%" ^
-D OpenCASCADE_DIR:PATH="%aDestDirOcct%/lib/cmake/opencascade" ^
endif()
endif()
install(FILES occt-webgl-sample.html DESTINATION ${CMAKE_INSTALL_PREFIX})
-install(FILES ${OpenCASCADE_RESOURCE_DIR}/DrawResources/OCC_logo.png DESTINATION ${CMAKE_INSTALL_PREFIX})
-install(FILES ${OpenCASCADE_RESOURCE_DIR}/DrawResources/lamp.ico DESTINATION ${CMAKE_INSTALL_PREFIX})
+install(FILES ${OpenCASCADE_RESOURCE_DIR}/DrawResources/OCC_logo.png DESTINATION ${CMAKE_INSTALL_PREFIX})
+install(FILES ${OpenCASCADE_RESOURCE_DIR}/DrawResources/lamp.ico DESTINATION ${CMAKE_INSTALL_PREFIX})
+if (CMAKE_CXX_FLAGS MATCHES "-pthread")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.worker.js DESTINATION ${CMAKE_INSTALL_PREFIX})
+endif()
# In case of WebAssembly build $tcl_library looks like "tcl8.6.11/library" by default.
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --preload-file ${3RDPARTY_TCL_LIBRARY_DIR}/tcl${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}@/tcl${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}.${TCL_RELEASE_SERIAL}/library")
- install(FILES ${PROJECT_NAME}.html DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
- install(FILES ../DrawResources/lamp.ico DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
- install(FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.data DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
+ install(FILES ${PROJECT_NAME}.html
+ DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
+ install(FILES ../DrawResources/lamp.ico
+ DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
+ install(FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.data
+ DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
+ if (CMAKE_CXX_FLAGS MATCHES "-pthread")
+ install(FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.worker.js
+ DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
+ endif()
endif()
#include <stdlib.h>
#include <sys/param.h>
#include <sys/time.h>
+ #if !defined(__EMSCRIPTEN__)
#include <pwd.h> // For command getpwuid
+ #endif
#include <unistd.h>
#endif
#include <StepAP203_HArray1OfApprovedItem.hxx>
#include <StepBasic_ProductCategory.hxx>
-#ifndef _WIN32
-# include <pwd.h>
+#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(__EMSCRIPTEN__)
+ #include <pwd.h>
#endif
//=======================================================================
// construct person`s name
OSD_Process sys;
TCollection_AsciiString user (sys.UserName());
-#if !defined(_WIN32) && !defined(__ANDROID__)
- if ( !user.IsEmpty() ) {
- struct passwd *pwd = getpwnam ( user.ToCString() );
- if ( pwd ) user = pwd->pw_gecos;
+#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(__EMSCRIPTEN__)
+ if (!user.IsEmpty())
+ {
+ struct passwd* aPwd = getpwnam (user.ToCString());
+ if (aPwd != NULL)
+ {
+ user = aPwd->pw_gecos;
+ }
+ }
+ else
+ {
+ user = "Unknown";
}
- else user = "Unknown";
#endif
Handle(TCollection_HAsciiString) fname = new TCollection_HAsciiString ("");
Handle(TCollection_HAsciiString) lname = new TCollection_HAsciiString ("");