mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-22 12:07:59 +00:00
build-deps: manifold to support co-existing Release/Debug builds
This commit is contained in:
+7
-8
@@ -869,16 +869,13 @@ goto %NEXT_DEPENDENCY_LABEL%
|
|||||||
set DEPENDENCY_NAME=manifold
|
set DEPENDENCY_NAME=manifold
|
||||||
set MANIFOLD_VERSION=3.2.1
|
set MANIFOLD_VERSION=3.2.1
|
||||||
set DEPENDENCY_DIR=%DEPS_DIR%\manifold-%MANIFOLD_VERSION%
|
set DEPENDENCY_DIR=%DEPS_DIR%\manifold-%MANIFOLD_VERSION%
|
||||||
set DEPENDENCY_INSTALL_DIR=%INSTALL_DIR%\manifold-%MANIFOLD_VERSION%
|
set DEPENDENCY_INSTALL_NAME=manifold-%MANIFOLD_VERSION%
|
||||||
|
set DEPENDENCY_INSTALL_DIR=%INSTALL_DIR%\%DEPENDENCY_INSTALL_NAME%
|
||||||
set NEXT_DEPENDENCY_LABEL=Successful
|
set NEXT_DEPENDENCY_LABEL=Successful
|
||||||
:: TODO: test whether manifold links the debug CRT for Debug builds and needs separate
|
|
||||||
:: Release/Debug install dirs instead of sharing one.
|
|
||||||
echo MANIFOLD_INSTALL_PATH=%DEPENDENCY_INSTALL_DIR%>>"%~dp0\%BUILD_DEPS_CACHE_PATH%"
|
echo MANIFOLD_INSTALL_PATH=%DEPENDENCY_INSTALL_DIR%>>"%~dp0\%BUILD_DEPS_CACHE_PATH%"
|
||||||
|
|
||||||
IF EXIST "%DEPENDENCY_INSTALL_DIR%" (
|
call :CheckInstallation
|
||||||
echo Found existing "%DEPENDENCY_INSTALL_DIR%", skipping
|
if %ERRORLEVEL%==200 GOTO %NEXT_DEPENDENCY_LABEL%
|
||||||
goto %NEXT_DEPENDENCY_LABEL%
|
|
||||||
)
|
|
||||||
|
|
||||||
call :GitCloneAndCheckoutRevision https://github.com/elalish/manifold.git "%DEPENDENCY_DIR%" v%MANIFOLD_VERSION%
|
call :GitCloneAndCheckoutRevision https://github.com/elalish/manifold.git "%DEPENDENCY_DIR%" v%MANIFOLD_VERSION%
|
||||||
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
||||||
@@ -893,12 +890,14 @@ call :RunCMake -DCMAKE_INSTALL_PREFIX="%DEPENDENCY_INSTALL_DIR%" ^
|
|||||||
-DMANIFOLD_CBIND=OFF ^
|
-DMANIFOLD_CBIND=OFF ^
|
||||||
-DMANIFOLD_TEST=OFF ^
|
-DMANIFOLD_TEST=OFF ^
|
||||||
-DMANIFOLD_EXPORT=OFF ^
|
-DMANIFOLD_EXPORT=OFF ^
|
||||||
-DMANIFOLD_DOWNLOADS=OFF
|
-DMANIFOLD_DOWNLOADS=OFF ^
|
||||||
|
-DCMAKE_DEBUG_POSTFIX="_d"
|
||||||
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
||||||
call :BuildCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG%
|
call :BuildCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG%
|
||||||
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
||||||
call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG%
|
call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG%
|
||||||
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
IF NOT %ERRORLEVEL%==0 GOTO :Error
|
||||||
|
call :MarkInstallation
|
||||||
goto %NEXT_DEPENDENCY_LABEL%
|
goto %NEXT_DEPENDENCY_LABEL%
|
||||||
|
|
||||||
:: :tbb
|
:: :tbb
|
||||||
|
|||||||
+3
-3
@@ -1215,11 +1215,9 @@ def install_manifold(
|
|||||||
dependency_dir = deps_dir / f"{DEPENDENCY_NAME}-{MANIFOLD_VERSION}"
|
dependency_dir = deps_dir / f"{DEPENDENCY_NAME}-{MANIFOLD_VERSION}"
|
||||||
dependency_install_dir = install_dir / f"{DEPENDENCY_NAME}-{MANIFOLD_VERSION}"
|
dependency_install_dir = install_dir / f"{DEPENDENCY_NAME}-{MANIFOLD_VERSION}"
|
||||||
|
|
||||||
# TODO: test whether manifold links the debug CRT for Debug builds and needs separate
|
|
||||||
# Release/Debug install dirs instead of sharing one.
|
|
||||||
build_deps_cache.add_entry("MANIFOLD_INSTALL_PATH", str(dependency_install_dir))
|
build_deps_cache.add_entry("MANIFOLD_INSTALL_PATH", str(dependency_install_dir))
|
||||||
|
|
||||||
if is_already_installed(dependency_install_dir):
|
if is_already_installed(dependency_install_dir, expected_build_cfg=build_cfg):
|
||||||
return
|
return
|
||||||
|
|
||||||
git_clone_and_checkout_revision(
|
git_clone_and_checkout_revision(
|
||||||
@@ -1244,8 +1242,10 @@ def install_manifold(
|
|||||||
"-DMANIFOLD_TEST=OFF",
|
"-DMANIFOLD_TEST=OFF",
|
||||||
"-DMANIFOLD_EXPORT=OFF",
|
"-DMANIFOLD_EXPORT=OFF",
|
||||||
"-DMANIFOLD_DOWNLOADS=OFF",
|
"-DMANIFOLD_DOWNLOADS=OFF",
|
||||||
|
"-DCMAKE_DEBUG_POSTFIX=_d",
|
||||||
)
|
)
|
||||||
|
|
||||||
build_path = dependency_dir / vs_cfg_vars.build_dir
|
build_path = dependency_dir / vs_cfg_vars.build_dir
|
||||||
build_cmake_project(DEPENDENCY_NAME, build_path, build_cfg, msbuild_multiproc)
|
build_cmake_project(DEPENDENCY_NAME, build_path, build_cfg, msbuild_multiproc)
|
||||||
install_cmake_project(DEPENDENCY_NAME, build_path, build_cfg)
|
install_cmake_project(DEPENDENCY_NAME, build_path, build_cfg)
|
||||||
|
mark_installation(dependency_install_dir, build_cfg)
|
||||||
|
|||||||
Reference in New Issue
Block a user