diff --git a/nix/build-all.py b/nix/build-all.py index e83955ca15..30a131bf75 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -90,6 +90,8 @@ HDF5_VERSION = "1.12.1" GMP_VERSION = "6.2.1" MPFR_VERSION = "3.1.6" # latest is 4.1.0 CGAL_VERSION = "5.3" +USD_VERSION = "23.05" +TBB_VERSION = "2021.9.0" # binaries cp = "cp" @@ -201,6 +203,7 @@ dependency_tree = { 'hdf5': (), 'cgal': (), 'freetype': (), + 'usd': ('boost', 'oneTBB') } def v(dep): @@ -741,7 +744,42 @@ if "cgal" in targets: download_tool=download_tool_git, revision=f"v{CGAL_VERSION}" ) - + +if "usd" in targets: + build_dependency( + name=f"oneTBB-{TBB_VERSION}", + mode="cmake", + build_tool_args=[ + f"-DCMAKE_INSTALL_PREFIX={DEPS_DIR}/install/tbb-{TBB_VERSION}", + f"-DTBB_TEST=OFF" + ], + download_url="https://github.com/oneapi-src/oneTBB", + download_name="oneTBB", + download_tool=download_tool_git, + revision=f"v{TBB_VERSION}" + ) + + build_dependency( + name=f"usd-{USD_VERSION}", + mode="cmake", + build_tool_args=[ + f"-DCMAKE_INSTALL_PREFIX={DEPS_DIR}/install/usd-{USD_VERSION}", + f"-DBOOST_ROOT={DEPS_DIR}/install/boost-{BOOST_VERSION}", + f"-DTBB_ROOT_DIR={DEPS_DIR}/install/tbb-{TBB_VERSION}", + f"-DPXR_ENABLE_PYTHON_SUPPORT=FALSE", + f"-DPXR_ENABLE_GL_SUPPORT=FALSE", + f"-DPXR_BUILD_IMAGING=FALSE", + f"-DPXR_BUILD_TUTORIALS=FALSE", + f"-DPXR_BUILD_EXAMPLES=FALSE", + f"-DPXR_BUILD_USD_TOOLS=FALSE", + f"-DPXR_BUILD_TESTS=FALSE" + ], + download_url="https://github.com/PixarAnimationStudios/USD", + download_name="USD", + download_tool=download_tool_git, + revision=f"v{USD_VERSION}" + ) + cecho("Building IfcOpenShell:", GREEN) IFCOS_DIR = os.path.join(DEPS_DIR, "build", "ifcopenshell") @@ -824,6 +862,13 @@ if "hdf5" in targets: else: cmake_args.append("-DHDF5_SUPPORT=Off") +if "usd" in targets: + cmake_args.extend([ + "-DUSD_SUPPORT=" "On", + "-DUSD_INCLUDE_DIR=" f"{DEPS_DIR}/install/usd-{USD_VERSION}/include", + "-DUSD_LIBRARY_DIR=" f"{DEPS_DIR}/install/usd-{USD_VERSION}/lib" + ]) + if not explicit_targets or {"IfcGeom", "IfcConvert", "IfcGeomServer"} & set(explicit_targets): logger.info("\rConfiguring executables...") diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 4c7d1aa591..b610657e84 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -473,6 +473,47 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% IF NOT %ERRORLEVEL%==0 GOTO :Error +:tbb +set DEPENDENCY_NAME=tbb +set DEPENDENCY_DIR=%DEPS_DIR%\tbb +call :GitCloneAndCheckoutRevision https://github.com/oneapi-src/oneTBB.git "%DEPENDENCY_DIR%" v2021.9.0 +IF NOT %ERRORLEVEL%==0 GOTO :Error +cd "%DEPENDENCY_DIR%" +:: git reset --hard +:: git apply --ignore-whitespace "%~dp0patches\cgal_no_zlib.patch" +call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\tbb" ^ + -DTBB_TEST=OFF +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\oneTBB.sln" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error + +:usd +set DEPENDENCY_NAME=usd +set DEPENDENCY_DIR=%DEPS_DIR%\usd +call :GitCloneAndCheckoutRevision https://github.com/PixarAnimationStudios/USD.git "%DEPENDENCY_DIR%" v23.05 +IF NOT %ERRORLEVEL%==0 GOTO :Error +cd "%DEPENDENCY_DIR%" +:: git reset --hard +:: git apply --ignore-whitespace "%~dp0patches\cgal_no_zlib.patch" +call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\usd" ^ + -DBOOST_ROOT="%DEPS_DIR%\boost_%BOOST_VER%" ^ + -DTBB_ROOT_DIR="%INSTALL_DIR%\tbb" ^ + -DPXR_ENABLE_PYTHON_SUPPORT=FALSE ^ + -DPXR_ENABLE_GL_SUPPORT=FALSE ^ + -DPXR_BUILD_IMAGING=FALSE ^ + -DPXR_BUILD_TUTORIALS=FALSE ^ + -DPXR_BUILD_EXAMPLES=FALSE ^ + -DPXR_BUILD_USD_TOOLS=FALSE ^ + -DPXR_BUILD_TESTS=FALSE ^ + -DBOOST_LIBRARYDIR="%DEPS_DIR%\boost_%BOOST_VER%\stage\vs%VS_VER%-%VS_PLATFORM%\lib" +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\USD.sln" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error +call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% +IF NOT %ERRORLEVEL%==0 GOTO :Error + :Successful echo. call "%~dp0\utils\cecho.cmd" 0 10 "%PROJECT_NAME% dependencies built."