Skip to content

Commit 6fb55db

Browse files
committed
[win_build.bat] Update windows build batch file
Closes #120 Refactors the windows nix-mx build batch file - reduces dependencies on secondary batch files. - adds comments. - copies the auto-generated nixversion.hpp file to the required folder.
1 parent a93139b commit 6fb55db

File tree

1 file changed

+73
-16
lines changed

1 file changed

+73
-16
lines changed

win_build.bat

Lines changed: 73 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,47 @@
1+
@ECHO off
2+
REM Latest dependencies at https://projects.g-node.org/nix/
13
SET NIX_DEP=c:\work\nix-dep
4+
REM clone nix source from https://github.com/G-Node/nix
25
SET NIX_ROOT=c:\work\nix
36
SET NIX_MX_ROOT=c:\work\nix-mx
4-
REM Use only build types "Release" or "Debug"
5-
SET BUILD_TYPE=Release
67

7-
IF NOT %BUILD_TYPE% == Release (IF NOT %BUILD_TYPE% == Debug (ECHO Please use only Release or Debug as BUILD_TYPE))
8+
ECHO Use only build types "Release" or "Debug"
9+
IF "%1" == "Debug" (SET BUILD_TYPE=Debug)
10+
IF "%BUILD_TYPE%" == "" (SET BUILD_TYPE=Release)
11+
12+
IF NOT %BUILD_TYPE% == Release (IF NOT %BUILD_TYPE% == Debug (ECHO Only Release or Debug are supported build types))
813
IF NOT %BUILD_TYPE% == Release (IF NOT %BUILD_TYPE% == Debug (EXIT /b))
9-
REM Set NIX_BUILD_DIR for nix-mx FindNIX.cmake
10-
SET NIX_BUILD_DIR=%NIX_ROOT%\build\%BUILD_TYPE%
1114

12-
IF %BUILD_TYPE% == Debug (CALL %NIX_DEP%\nixenv.bat Debug) ELSE (CALL %NIX_DEP%\nixenv.bat)
15+
ECHO --------------------------------------------------------------------------
16+
ECHO Setting up environment ...
17+
ECHO --------------------------------------------------------------------------
18+
19+
IF "%PLATFORM%" == "" (IF %PROCESSOR_ARCHITECTURE% == x86 (SET PLATFORM=x86) ELSE (SET PLATFORM=x64))
20+
ECHO Platform: %PLATFORM% (%BUILD_TYPE%)
21+
22+
SET BASE=%NIX_DEP%\%PLATFORM%\%BUILD_TYPE%
23+
24+
SET CPPUNIT_INCLUDE_DIR=%BASE%\cppunit-1.13.2\include
25+
SET PATH=%PATH%;%CPPUNIT_INCLUDE_DIR%
26+
27+
SET HDF5_BASE=%NIX_DEP%\%PLATFORM%\hdf5-1.8.14
28+
SET HDF5_DIR=%HDF5_BASE%\cmake\hdf5
29+
SET PATH=%PATH%;%HDF5_BASE%\bin
30+
31+
SET BOOST_ROOT=%BASE%\boost-1.57.0
32+
SET BOOST_INCLUDEDIR=%BOOST_ROOT%\include\boost-1_57
33+
34+
ECHO CPPUNIT_INCLUDE_DIR=%CPPUNIT_INCLUDE_DIR%
35+
IF EXIST %CPPUNIT_INCLUDE_DIR% (ECHO cppunit OK) ElSE (EXIT /b)
36+
ECHO HDF5_DIR=%HDF5_DIR%
37+
IF EXIST %HDF5_DIR% (ECHO hdf5 OK) ELSE (EXIT /b)
38+
ECHO BOOST_INCLUDEDIR=%BOOST_INCLUDEDIR%
39+
IF EXIST %BOOST_ROOT% (ECHO boost OK) ELSE (EXIT /b)
40+
41+
ECHO --------------------------------------------------------------------------
42+
ECHO Setting up nix build ...
43+
ECHO --------------------------------------------------------------------------
44+
SET NIX_BUILD_DIR=%NIX_ROOT%\build\%BUILD_TYPE%
1345

1446
IF NOT EXIST %NIX_ROOT%\build (MKDIR %NIX_ROOT%\build)
1547
CD %NIX_ROOT%\build
@@ -19,30 +51,55 @@ RD /S /Q "CMakeFiles" "Testing" "Debug" "Release" "nix-tool.dir" "x64" "TestRunn
1951

2052
IF %PROCESSOR_ARCHITECTURE% == x86 ( cmake .. -G "Visual Studio 12") ELSE (cmake .. -G "Visual Studio 12 Win64")
2153

22-
REM Start %NIX_ROOT%\build\nix.sln
23-
cmake --build . --config %CONFIGURATION% --target nix
54+
ECHO --------------------------------------------------------------------------
55+
ECHO Building nix via %NIX_ROOT%\build\nix.sln ...
56+
ECHO --------------------------------------------------------------------------
57+
cmake --build . --config %BUILD_TYPE% --target nix
2458

59+
IF %ERRORLEVEL% == 1 (EXIT /b)
60+
61+
ECHO --------------------------------------------------------------------------
62+
ECHO Testing nix ...
63+
ECHO --------------------------------------------------------------------------
2564
%NIX_BUILD_DIR%\TestRunner.exe
2665

66+
REM nix-mx requires nixversion file in ../nix/include/nix
67+
IF EXIST %NIX_ROOT%\build\include\nix\nixversion.hpp (
68+
COPY %NIX_ROOT%\build\include\nix\nixversion.hpp %NIX_ROOT%\include\nix\
69+
)
70+
71+
ECHO --------------------------------------------------------------------------
72+
ECHO Setting up nix-mx build ...
73+
ECHO --------------------------------------------------------------------------
2774
IF NOT EXIST %NIX_MX_ROOT%\build (MKDIR %NIX_MX_ROOT%\build)
2875
CD %NIX_MX_ROOT%\build
2976
REM Clean up build folder to ensure clean build.
3077
DEL * /S /Q
3178
RD /S /Q "CMakeFiles" "Debug" "nix_mx.dir" "Release" "Win32" "x64"
3279

33-
COPY %NIX_BUILD_DIR%\nix.dll %NIX_MX_ROOT%\build\ /Y
34-
COPY %HDF5_BASE%\bin\hdf5.dll %NIX_MX_ROOT%\build\ /Y
35-
COPY %HDF5_BASE%\bin\msvcp120.dll %NIX_MX_ROOT%\build\ /Y
36-
COPY %HDF5_BASE%\bin\msvcr120.dll %NIX_MX_ROOT%\build\ /Y
37-
COPY %HDF5_BASE%\bin\szip.dll %NIX_MX_ROOT%\build\ /Y
38-
COPY %HDF5_BASE%\bin\zlib.dll %NIX_MX_ROOT%\build\ /Y
80+
REM Copying required libraries to nix-mx root folder
81+
COPY %NIX_BUILD_DIR%\nix.dll %NIX_MX_ROOT%\ /Y
82+
COPY %HDF5_BASE%\bin\hdf5.dll %NIX_MX_ROOT%\ /Y
83+
COPY %HDF5_BASE%\bin\msvcp120.dll %NIX_MX_ROOT%\ /Y
84+
COPY %HDF5_BASE%\bin\msvcr120.dll %NIX_MX_ROOT%\ /Y
85+
COPY %HDF5_BASE%\bin\szip.dll %NIX_MX_ROOT%\ /Y
86+
COPY %HDF5_BASE%\bin\zlib.dll %NIX_MX_ROOT%\ /Y
3987

4088
IF %PROCESSOR_ARCHITECTURE% == x86 (cmake .. -G "Visual Studio 12") ELSE (cmake .. -G "Visual Studio 12 Win64")
4189

42-
cmake --build . --config %CONFIGURATION%
90+
ECHO --------------------------------------------------------------------------
91+
ECHO Building nix-mx via %NIX_MX_ROOT%\build\nix-mx.sln ...
92+
ECHO --------------------------------------------------------------------------
93+
cmake --build . --config %BUILD_TYPE%
94+
95+
IF %ERRORLEVEL% == 1 (EXIT /b)
4396

44-
COPY %NIX_MX_ROOT%\build\%BUILD_TYPE%\nix_mx.mexw* %NIX_MX_ROOT%\build\ /Y
97+
REM Copying required nix-mx.mex file to nix-mx root folder
98+
COPY %NIX_MX_ROOT%\build\%BUILD_TYPE%\nix_mx.mexw* %NIX_MX_ROOT%\ /Y
4599

46100
CD %NIX_MX_ROOT%
47101

102+
ECHO --------------------------------------------------------------------------
103+
ECHO Starting matlab ...
104+
ECHO --------------------------------------------------------------------------
48105
Start %NIX_MX_ROOT%\startup.m

0 commit comments

Comments
 (0)