Skip to content

Commit 80009d5

Browse files
Build System - Fix and shorten build all Windows Batch file
We need to use an absolute path to properly work on Windows. Using variables for arguments, to reduce line length.
1 parent 4cc5472 commit 80009d5

File tree

1 file changed

+38
-13
lines changed

1 file changed

+38
-13
lines changed

scripts/build_mmSolver_all.bat

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,21 @@ SETLOCAL
2222
:: Builds the Maya MatchMove Solver project for all supported
2323
:: operating systems, with Windows as a host operating system.
2424

25-
set PROJECT_ROOT=%~dp0
25+
set PROJECT_ROOT=%~dp0\..\
26+
echo Project Root (relative): %PROJECT_ROOT%
27+
28+
29+
:: Get absolute path of PROJECT_ROOT.
30+
:: https://stackoverflow.com/questions/1645843/resolve-absolute-path-from-relative-path-and-or-file-name
31+
::
32+
:: 1. Save current directory and change to target directory
33+
pushd %PROJECT_ROOT%
34+
:: 2. Save value of CD variable (current directory)
35+
set PROJECT_ROOT=%CD%
36+
:: 3. Restore original directory
37+
popd
38+
echo Project Root (abspath): %PROJECT_ROOT%
39+
2640

2741
:: Windows - Maya 2020 Build
2842
call scripts/build_mmSolver_windows64_maya2020.bat
@@ -39,26 +53,37 @@ call scripts/build_mmSolver_windows64_maya2024.bat
3953
:: Windows - Maya 2025 Build
4054
call scripts/build_mmSolver_windows64_maya2025.bat
4155

56+
57+
:: Docker common variables.
58+
set DOCKERFILE_DIR=%PROJECT_ROOT%\share\docker
59+
set VOLUME="%PROJECT_ROOT%:/mmSolver"
60+
4261
:: Linux - Maya 2019 Build
43-
docker buildx build --file "%PROJECT_ROOT%share\docker\Dockerfile_maya2019" -t mmsolver-linux-maya2019-build "%PROJECT_ROOT%"
44-
docker container run --volume "%PROJECT_ROOT%:/mmSolver" mmsolver-linux-maya2019-build "bash -c './scripts/build_mmSolver_linux_maya2019.bash'"
62+
set NAME=mmsolver-linux-maya2019-build
63+
docker buildx build --file "%DOCKERFILE_DIR%\Dockerfile_maya2019" -t %NAME% "%PROJECT_ROOT%"
64+
docker container run --volume %VOLUME% %NAME% "bash -c './scripts/build_mmSolver_linux_maya2019.bash'"
4565

4666
:: Linux - Maya 2020 Build
47-
docker buildx build --file "%PROJECT_ROOT%share\docker\Dockerfile_maya2020" -t mmsolver-linux-maya2020-build "%PROJECT_ROOT%"
48-
docker container run --volume "%PROJECT_ROOT%:/mmSolver" mmsolver-linux-maya2020-build "bash -c './scripts/build_mmSolver_linux_maya2020.bash'"
67+
set NAME=mmsolver-linux-maya2020-build
68+
docker buildx build --file "%DOCKERFILE_DIR%\Dockerfile_maya2020" -t %NAME% "%PROJECT_ROOT%"
69+
docker container run --volume %VOLUME% %NAME% "bash -c './scripts/build_mmSolver_linux_maya2020.bash'"
4970

5071
:: Linux - Maya 2022 Build
51-
docker buildx build --file "%PROJECT_ROOT%share\docker\Dockerfile_maya2022" -t mmsolver-linux-maya2022-build "%PROJECT_ROOT%"
52-
docker container run --volume "%PROJECT_ROOT%:/mmSolver" mmsolver-linux-maya2022-build "bash -c './scripts/build_mmSolver_linux_maya2022.bash'"
72+
set NAME=mmsolver-linux-maya2022-build
73+
docker buildx build --file "%DOCKERFILE_DIR%\Dockerfile_maya2022" -t %NAME% "%PROJECT_ROOT%"
74+
docker container run --volume %VOLUME% %NAME% "bash -c './scripts/build_mmSolver_linux_maya2022.bash'"
5375

5476
:: Linux - Maya 2023 Build
55-
docker buildx build --file "%PROJECT_ROOT%share\docker\Dockerfile_maya2023" -t mmsolver-linux-maya2023-build "%PROJECT_ROOT%"
56-
docker container run --volume "%PROJECT_ROOT%:/mmSolver" mmsolver-linux-maya2023-build "bash -c './scripts/build_mmSolver_linux_maya2023.bash'"
77+
set NAME=mmsolver-linux-maya2023-build
78+
docker buildx build --file "%DOCKERFILE_DIR%\Dockerfile_maya2023" -t %NAME% "%PROJECT_ROOT%"
79+
docker container run --volume %VOLUME% %NAME% "bash -c './scripts/build_mmSolver_linux_maya2023.bash'"
5780

5881
:: Linux - Maya 2024 Build
59-
docker buildx build --file "%PROJECT_ROOT%share\docker\Dockerfile_maya2024" -t mmsolver-linux-maya2024-build "%PROJECT_ROOT%"
60-
docker container run --volume "%PROJECT_ROOT%:/mmSolver" mmsolver-linux-maya2024-build "bash -c './scripts/build_mmSolver_linux_maya2024.bash'"
82+
set NAME=mmsolver-linux-maya2024-build
83+
docker buildx build --file "%DOCKERFILE_DIR%\Dockerfile_maya2024" -t %NAME% "%PROJECT_ROOT%"
84+
docker container run --volume %VOLUME% %NAME% "bash -c './scripts/build_mmSolver_linux_maya2024.bash'"
6185

6286
:: Linux - Maya 2025 Build
63-
docker buildx build --file "%PROJECT_ROOT%share\docker\Dockerfile_maya2025" -t mmsolver-linux-maya2025-build "%PROJECT_ROOT%"
64-
docker container run --volume "%PROJECT_ROOT%:/mmSolver" mmsolver-linux-maya2025-build "bash -c './scripts/build_mmSolver_linux_maya2025.bash'"
87+
set NAME=mmsolver-linux-maya2025-build
88+
docker buildx build --file "%DOCKERFILE_DIR%\Dockerfile_maya2025" -t %NAME% "%PROJECT_ROOT%"
89+
docker container run --volume %VOLUME% %NAME% "bash -c './scripts/build_mmSolver_linux_maya2025.bash'"

0 commit comments

Comments
 (0)