]> OCCT Git - occt-copy.git/commitdiff
Update service files for Viewer wasm
authorbugmaster <bugmaster@opencascade.com>
Mon, 3 Feb 2020 15:40:56 +0000 (18:40 +0300)
committermsv <msv@opencascade.com>
Wed, 5 Feb 2020 09:18:57 +0000 (12:18 +0300)
env_custom.bat.template
env_custom.sh.template [new file with mode: 0644]
occ_build_occt_wasm.bat
occ_build_occt_wasm.sh [new file with mode: 0755]

index 9e5bd96d8e8df4fe149363e2c671aefe1c1f3f0d..93be6f1a711fd309e5c4bb564dbad6cc633623e5 100644 (file)
@@ -1,6 +1,4 @@
 set aNbJobs=%NUMBER_OF_PROCESSORS%
-set "aFreeType=%~dp0..\3rdparty\freetype-2.7.1-wasm"
-set "aRapidJson=%~dp0..\3rdparty\rapidjson-1.1.0"
 set "EMSDK_ROOT=%~dp0..\occ-web3d\fips\fips-sdks\emsdk"
 set "PATH=C:\Program Files\CMake\bin;%PATH%"
 set "aBuildRoot=work"
diff --git a/env_custom.sh.template b/env_custom.sh.template
new file mode 100644 (file)
index 0000000..1c3cc6d
--- /dev/null
@@ -0,0 +1,17 @@
+export aNbJobs=${NUMBER_OF_PROCESSORS}
+export EMSDK_ROOT=`pwd`/fips/fips-sdks/emsdk
+export aBuildRoot=work
+
+export toCMake=1
+export toClean=0
+export toMake=1
+export toInstall=1
+export toPack=0
+
+export BUILD_AppFramework=OFF
+export BUILD_DataExchange=OFF
+export BUILD_Draw=OFF
+export BUILD_FndClasses=ON
+export BUILD_ModAlg=OFF
+export BUILD_ModData=OFF
+export BUILD_Viz=OFF
index ebda74072a0caf9582c6bb2b6dae0dde6be81674..749655328901de3507f043cd0557a9cfa9fdb40e 100644 (file)
@@ -7,28 +7,6 @@ rem to CMake, 3rd-parties and Emscripten SDK.
 rem FreeType and RapidJSON should be specified as mandatory dependency (should be manually build or taken from earlier builds).
 
 set "aCasSrc=%~dp0"
-set aNbJobs=%NUMBER_OF_PROCESSORS%
-
-set "aFreeType=%~dp0..\3rdparty\freetype-2.7.1-wasm"
-set "aRapidJson=%~dp0..\3rdparty\rapidjson-1.1.0"
-set "EMSDK_ROOT=%~dp0..\occ-web3d\fips\fips-sdks\emsdk"
-set "aBuildRoot=work"
-
-rem  build stages to perform
-set "toCMake=1"
-set "toClean=0"
-set "toMake=1"
-set "toInstall=1"
-set "toPack=0"
-
-rem Selection of modules
-set BUILD_AppFramework=ON
-set BUILD_DataExchange=ON
-set BUILD_Draw=OFF
-set BUILD_FndClasses=ON
-set BUILD_ModAlg=ON
-set BUILD_ModData=ON
-set BUILD_Viz=ON
 
 if exist env_custom.bat call env_custom.bat
 
@@ -78,12 +56,6 @@ if ["%toCMake%"] == ["1"] (
  -D INSTALL_DIR:PATH="%aDestDir%" ^
  -D INSTALL_DIR_INCLUDE:STRING="inc" ^
  -D INSTALL_DIR_RESOURCE:STRING="src" ^
- -D 3RDPARTY_FREETYPE_DIR:PATH="%aFreeType%" ^
- -D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="%aFreeType%/include" ^
- -D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="%aFreeType%/include" ^
- -D USE_RAPIDJSON:BOOL="ON" ^
- -D 3RDPARTY_RAPIDJSON_DIR:PATH="%aRapidJson%" ^
- -D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="%aRapidJson%/include" ^
  -D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_AppFramework%" ^
  -D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
  -D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
diff --git a/occ_build_occt_wasm.sh b/occ_build_occt_wasm.sh
new file mode 100755 (executable)
index 0000000..bfbb64e
--- /dev/null
@@ -0,0 +1,111 @@
+#!/bin/bash
+
+# Auxiliary script for semi-automated building of OCCT for WASM platform.
+# Script should be placed into root of OCCT repository, edited with paths
+# to CMake, 3rd-parties and Emscripten SDK.
+
+# FreeType and RapidJSON should be specified as mandatory dependency (should be manually build or taken from earlier builds).
+
+export aCasSrc="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+
+if [ -f ${aCasSrc}/env_custom.sh ] ; then
+       . ${aCasSrc}/env_custom.sh
+fi
+
+
+if [ ! -d "${aBuildRoot}" ] ; then 
+       mkdir -p "${aBuildRoot}"
+else
+       rm -rf "${aBuildRoot}"
+       mkdir -p "${aBuildRoot}"
+fi
+
+. ${EMSDK_ROOT}/emsdk_env.sh
+
+export aToolchain="${EMSDK}/fastcomp/emscripten/cmake/Modules/Platform/Emscripten.cmake"
+
+export aGitBranch=`git symbolic-ref --short HEAD`
+
+echo "Compilation OCCT branch : $aGitBranch"
+
+export aPlatformAndCompiler=wasm
+
+export aWorkDir=${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}-make
+if [ ! -d "${aWorkDir}" ] ; then 
+       mkdir "${aWorkDir}"
+fi
+
+export aDestDir=${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}
+if [ ! -d "${aDestDir}" ];then
+       mkdir "${aDestDir}"
+fi
+
+export aLogFile=${aCasSrc}/${aBuildRoot}/build-${aPlatformAndCompiler}.log
+if [ ! -f "${aLogFile}" ];then
+       touch "${aLogFile}"
+fi
+
+echo Start building OCCT for ${aPlatformAndCompiler}
+echo Start building OCCT for ${aPlatformAndCompiler}>> ${aLogFile}
+
+cd ${aWorkDir}
+pwd
+echo toCMake=${toCMake}
+if [ "${toCMake}" = "1" ] ; then
+
+echo "Configuring OCCT for WASM..."
+echo cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
+-DCMAKE_BUILD_TYPE:STRING="Release" \
+-DBUILD_LIBRARY_TYPE:STRING="Static" \
+-DINSTALL_DIR:PATH="${aDestDir}" \
+-DINSTALL_DIR_INCLUDE:STRING="inc" \
+-DINSTALL_DIR_RESOURCE:STRING="src" \
+-DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_AppFramework}" \
+-DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
+-DBUILD_MODULE_Draw:BOOL="${BUILD_Draw}" \
+-DBUILD_MODULE_FoundationClasses:BOOL="${BUILD_FndClasses}" \
+-DBUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModAlg}" \
+-DBUILD_MODULE_ModelingData:BOOL="${BUILD_ModData}" \
+-DBUILD_MODULE_Visualization:BOOL="${BUILD_Viz}" \
+-DBUILD_DOC_Overview:BOOL="OFF" "${aCasSrc}"
+
+cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
+-DCMAKE_BUILD_TYPE:STRING="Release" \
+-DBUILD_LIBRARY_TYPE:STRING="Static" \
+-DINSTALL_DIR:PATH="${aDestDir}" \
+-DINSTALL_DIR_INCLUDE:STRING="inc" \
+-DINSTALL_DIR_RESOURCE:STRING="src" \
+-DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_AppFramework}" \
+-DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
+-DBUILD_MODULE_Draw:BOOL="${BUILD_Draw}" \
+-DBUILD_MODULE_FoundationClasses:BOOL="${BUILD_FndClasses}" \
+-DBUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModAlg}" \
+-DBUILD_MODULE_ModelingData:BOOL="${BUILD_ModData}" \
+-DBUILD_MODULE_Visualization:BOOL="${BUILD_Viz}" \
+-DBUILD_DOC_Overview:BOOL="OFF" "${aCasSrc}"
+
+       if [ $? -ne 0 ] ; then
+               echo "Problem during configuration"
+               exit 1
+       fi
+
+fi
+
+if [ "${toClean}" = "1" ] ; then
+  make clean
+fi
+
+if [ "${toMake}" = "1" ] ; then
+  echo Building...
+  make -j ${aNbJobs} 2>> ${aLogFile}
+       if [ $? -ne 0 ] ; then
+               echo "Problem during make operation"
+               exit 1
+       fi
+  echo ${aLogFile}
+fi
+
+if [ "${toInstall}" = "1" ] ; then
+  echo Installing into ${aDestDir}
+  make install 2>> ${aLogFile}
+fi