From 1523a69d880c8427c2aa74d983febb3abc5fbb29 Mon Sep 17 00:00:00 2001 From: bugmaster Date: Mon, 3 Feb 2020 18:40:56 +0300 Subject: [PATCH] Update service files for Viewer wasm --- env_custom.bat.template | 2 - env_custom.sh.template | 17 ++++++ occ_build_occt_wasm.bat | 28 ---------- occ_build_occt_wasm.sh | 111 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 128 insertions(+), 30 deletions(-) create mode 100644 env_custom.sh.template create mode 100755 occ_build_occt_wasm.sh diff --git a/env_custom.bat.template b/env_custom.bat.template index 9e5bd96d8e..93be6f1a71 100644 --- a/env_custom.bat.template +++ b/env_custom.bat.template @@ -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 index 0000000000..1c3cc6d530 --- /dev/null +++ b/env_custom.sh.template @@ -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 diff --git a/occ_build_occt_wasm.bat b/occ_build_occt_wasm.bat index ebda74072a..7496553289 100644 --- a/occ_build_occt_wasm.bat +++ b/occ_build_occt_wasm.bat @@ -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 index 0000000000..bfbb64e53e --- /dev/null +++ b/occ_build_occt_wasm.sh @@ -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 -- 2.39.5