mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-17 10:59:17 +00:00
build scripts
This commit is contained in:
+46
-1
@@ -91,6 +91,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"
|
||||
@@ -203,6 +205,7 @@ dependency_tree = {
|
||||
'cgal': (),
|
||||
'eigen': (),
|
||||
'freetype': (),
|
||||
'usd': ('boost', 'oneTBB')
|
||||
}
|
||||
|
||||
def v(dep):
|
||||
@@ -770,7 +773,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")
|
||||
@@ -854,6 +892,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...")
|
||||
|
||||
|
||||
+42
-2
@@ -179,7 +179,9 @@ set OCC_LIBRARY_DIR=%INSTALL_DIR%\opencascade-%OCCT_VERSION%\win%ARCH_BITS%\lib>
|
||||
for /f "tokens=1,2,3 delims=." %%a in ("%PYTHON_VERSION%") do (
|
||||
set PY_VER_MAJOR_MINOR=%%a%%b
|
||||
)
|
||||
set PYTHONHOME=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR%
|
||||
IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" (
|
||||
set PYTHONHOME=%INSTALL_DIR%\Python%PY_VER_MAJOR_MINOR%
|
||||
)
|
||||
|
||||
:: Cache last used CMake generator and configurable dependency dirs for other scripts to use
|
||||
:: This is consolidated at the beginning of the script so that the script can be partially
|
||||
@@ -193,7 +195,6 @@ IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" (
|
||||
echo PYTHONHOME=%PYTHONHOME%>>"%~dp0\%BUILD_DEPS_CACHE_PATH%"
|
||||
)
|
||||
|
||||
|
||||
:proj
|
||||
|
||||
set DEPENDENCY_NAME=sqlite3
|
||||
@@ -513,6 +514,45 @@ set DEPENDENCY_NAME=Eigen
|
||||
set DEPENDENCY_DIR=%INSTALL_DIR%\%DEPENDENCY_NAME%
|
||||
call :GitCloneAndCheckoutRevision https://gitlab.com/libeigen/eigen.git "%DEPENDENCY_DIR%" 3.3.9
|
||||
|
||||
:tbb
|
||||
set DEPENDENCY_NAME=tbb
|
||||
set DEPENDENCY_DIR=%DEPS_DIR%\tbb
|
||||
call :GitCloneAndCheckoutRevision https://github.com/wjakob/tbb "%DEPENDENCY_DIR%" 9e219e24fe223b299783200f217e9d27790a87b0
|
||||
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
||||
cd "%DEPENDENCY_DIR%"
|
||||
call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\tbb" ^
|
||||
-DBUILD_SHARED_LIBS=Off
|
||||
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
||||
call :BuildSolution "%DEPENDENCY_DIR%\%BUILD_DIR%\TBB.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/OpenUSD "%DEPENDENCY_DIR%" v24.05
|
||||
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
||||
cd "%DEPENDENCY_DIR%"
|
||||
call :RunCMake -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%\usd" ^
|
||||
-DBOOST_ROOT="%DEPS_DIR%\boost_%BOOST_VER%" ^
|
||||
-DOneTBB_CMAKE_ENABLE=On ^
|
||||
-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 ^
|
||||
-DBUILD_SHARED_LIBS=Off ^
|
||||
-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."
|
||||
|
||||
@@ -110,6 +110,10 @@ set GMP_LIBRARY_DIR=%INSTALL_DIR%\mpir
|
||||
set MPFR_INCLUDE_DIR=%INSTALL_DIR%\mpfr
|
||||
set MPFR_LIBRARY_DIR=%INSTALL_DIR%\mpfr
|
||||
set EIGEN_DIR=%INSTALL_DIR%\Eigen
|
||||
set USD_INCLUDE_DIR=%INSTALL_DIR%\usd\include
|
||||
set USD_LIBRARY_DIR=%INSTALL_DIR%\usd\lib
|
||||
set TBB_INCLUDE_DIR=%INSTALL_DIR%\tbb\include
|
||||
set TBB_LIBRARY_DIR=%INSTALL_DIR%\tbb\lib
|
||||
|
||||
echo.
|
||||
call cecho.cmd 0 10 "Script configuration:"
|
||||
@@ -143,6 +147,10 @@ echo GMP_LIBRARY_DIR = %GMP_LIBRARY_DIR%
|
||||
echo MPFR_INCLUDE_DIR = %MPFR_INCLUDE_DIR%
|
||||
echo MPFR_LIBRARY_DIR = %MPFR_LIBRARY_DIR%
|
||||
echo EIGEN_DIR = %EIGEN_DIR%
|
||||
echo USD_INCLUDE_DIR = %USD_INCLUDE_DIR%
|
||||
echo USD_LIBRARY_DIR = %USD_LIBRARY_DIR%
|
||||
echo TBB_INCLUDE_DIR = %TBB_INCLUDE_DIR%
|
||||
echo TBB_LIBRARY_DIR = %TBB_LIBRARY_DIR%
|
||||
echo.
|
||||
echo CMAKE_INSTALL_PREFIX = %CMAKE_INSTALL_PREFIX%
|
||||
echo.
|
||||
|
||||
Reference in New Issue
Block a user