diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 688a89f064..2f54a93aae 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -869,16 +869,13 @@ goto %NEXT_DEPENDENCY_LABEL% set DEPENDENCY_NAME=manifold set MANIFOLD_VERSION=3.2.1 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 -:: 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%" -IF EXIST "%DEPENDENCY_INSTALL_DIR%" ( - echo Found existing "%DEPENDENCY_INSTALL_DIR%", skipping - goto %NEXT_DEPENDENCY_LABEL% -) +call :CheckInstallation +if %ERRORLEVEL%==200 GOTO %NEXT_DEPENDENCY_LABEL% call :GitCloneAndCheckoutRevision https://github.com/elalish/manifold.git "%DEPENDENCY_DIR%" v%MANIFOLD_VERSION% IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -893,12 +890,14 @@ call :RunCMake -DCMAKE_INSTALL_PREFIX="%DEPENDENCY_INSTALL_DIR%" ^ -DMANIFOLD_CBIND=OFF ^ -DMANIFOLD_TEST=OFF ^ -DMANIFOLD_EXPORT=OFF ^ - -DMANIFOLD_DOWNLOADS=OFF + -DMANIFOLD_DOWNLOADS=OFF ^ + -DCMAKE_DEBUG_POSTFIX="_d" IF NOT %ERRORLEVEL%==0 GOTO :Error call :BuildCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% IF NOT %ERRORLEVEL%==0 GOTO :Error call :InstallCMakeProject "%DEPENDENCY_DIR%\%BUILD_DIR%" %BUILD_CFG% IF NOT %ERRORLEVEL%==0 GOTO :Error +call :MarkInstallation goto %NEXT_DEPENDENCY_LABEL% :: :tbb diff --git a/win/installers.py b/win/installers.py index 8c8e8e153a..1e412cf5c4 100644 --- a/win/installers.py +++ b/win/installers.py @@ -1215,11 +1215,9 @@ def install_manifold( dependency_dir = deps_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)) - if is_already_installed(dependency_install_dir): + if is_already_installed(dependency_install_dir, expected_build_cfg=build_cfg): return git_clone_and_checkout_revision( @@ -1244,8 +1242,10 @@ def install_manifold( "-DMANIFOLD_TEST=OFF", "-DMANIFOLD_EXPORT=OFF", "-DMANIFOLD_DOWNLOADS=OFF", + "-DCMAKE_DEBUG_POSTFIX=_d", ) build_path = dependency_dir / vs_cfg_vars.build_dir build_cmake_project(DEPENDENCY_NAME, build_path, build_cfg, msbuild_multiproc) install_cmake_project(DEPENDENCY_NAME, build_path, build_cfg) + mark_installation(dependency_install_dir, build_cfg)