summaryrefslogtreecommitdiff
path: root/source/luametatex/build.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/build.cmd')
-rw-r--r--source/luametatex/build.cmd89
1 files changed, 89 insertions, 0 deletions
diff --git a/source/luametatex/build.cmd b/source/luametatex/build.cmd
new file mode 100644
index 000000000..17f06e185
--- /dev/null
+++ b/source/luametatex/build.cmd
@@ -0,0 +1,89 @@
+rem When something fails, make sure to remove the cmake cache. When compile from
+rem the Visual Studio environment mixed with compiling from the command line
+rem some confusion can occur.
+
+setlocal
+
+@echo .
+@echo supported flags : --arm64 --x64 --x86 --intel64 --intel86
+@echo .
+
+set luametatexsources=%~dp0
+set luametatexplatform=x64
+set msvcplatform=x64
+
+for %%G in (%*) do (
+ if [%%G] == [--arm64] (
+ set luametatexplatform=arm64
+ set msvcplatform=x86_arm64
+ )
+ if [%%G] == [--intel64] (
+ set luametatexplatform=x64
+ set msvcplatform=amd64
+ )
+ if [%%G] == [--intel86] (
+ set luametatexplatform=x86
+ set msvcplatform=x86_amd64
+ )
+ if [%%G] == [--x64] (
+ set luametatexplatform=x64
+ set msvcplatform=amd64
+ )
+ if [%%G] == [--x86] (
+ set luametatexplatform=x86
+ set msvcplatform=x86_amd64
+ )
+)
+
+set visualstudiopath=c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build
+set luametatexbuildpath=msvc-cmd-%luametatexplatform%-release
+
+@echo .
+@echo luametatexplatform : %luametatexplatform%
+@echo msvcplatform : %msvcplatform%
+@echo visualstudiopath : %visualstudiopath%
+@echo luametatexbuildpath : %luametatexbuildpath%
+@echo .
+
+mkdir build
+chdir build
+rmdir /S /Q %luametatexbuildpath%
+mkdir %luametatexbuildpath%
+chdir %luametatexbuildpath%
+
+call "%visualstudiopath%\vcvarsall.bat" %msvcplatform%
+
+cmake ../..
+cmake --build . --config Release --parallel 8
+
+cd ..
+cd ..
+
+dir build\%luametatexbuildpath%\Release\luametatex.exe
+
+@echo .
+@echo tex trees:
+@echo .
+@echo resources like public fonts : tex/texmf/....
+@echo the context macro package : tex/texmf-context/....
+@echo the luametatex binary : tex/texmf-win64/bin/...
+@echo optional third party modules : tex/texmf-context/....
+@echo fonts installed by the user : tex/texmf-fonts/fonts/data/....
+@echo styles made by the user : tex/texmf-projects/tex/context/user/....
+@echo .
+@echo binaries:
+@echo .
+@echo tex/texmf-win64/bin/luametatex.exe : the compiled binary (some 2-3MB)
+@echo tex/texmf-win64/bin/mtxrun.exe : copy of or link to luametatex.exe
+@echo tex/texmf-win64/bin/context.exe : copy of or link to luametatex.exe
+@echo tex/texmf-win64/bin/mtxrun.lua : copy of tex/texmf-context/scripts/context/lua/mtxrun.lua
+@echo tex/texmf-win64/bin/context.lua : copy of tex/texmf-context/scripts/context/lua/context.lua
+@echo .
+@echo commands:
+@echo .
+@echo mtxrun --generate : create file database
+@echo mtxrun --script fonts --reload : create font database
+@echo mtxrun --autogenerate context ... : run tex file (e.g. from editor)
+@echo .
+
+endlocal