diff --git a/build/_postbuild_win32.bat b/build/_postbuild_win32.bat new file mode 100644 index 0000000..32c9169 --- /dev/null +++ b/build/_postbuild_win32.bat @@ -0,0 +1,11 @@ +@echo off + +IF NOT "%PrebuildCalled%"=="1" GOTO error + +C:\apps\ctime\ctime.exe -end %StatsPath%\%StatsFile% %LastError% +C:\apps\ctime\ctime.exe -stats %StatsPath%\%StatsFile% +set PrebuildCalled=0 +GOTO:eof + +:error +echo ERROR: _prebuild_win32.bat was not called before _postbuild_win32.bat. \ No newline at end of file diff --git a/build/_prebuild_win32.bat b/build/_prebuild_win32.bat new file mode 100644 index 0000000..ed986d6 --- /dev/null +++ b/build/_prebuild_win32.bat @@ -0,0 +1,25 @@ +@echo off + +REM This file takes two arguments +REM 1 = "app" or "meta" +REM 2 = "debug" or "release" +REM 3 = "msvc" or "clang" + +set PrebuildCalled=1 + +set ProjectDevFolder=%~dp0 +set ProjectDevPath=%ProjectDevFolder:~0,-7% + +set SourceCodePath=%ProjectDevPath%\src\%1 + +set MetaProgramPath=%ProjectDevPath%\meta_run_tree\win32_%3\%2 + +set ProjectRunTree=%ProjectDevPath%\%1_run_tree\win32_%3 +set BuildPath=%ProjectRunTree%\%2 +set StatsPath=%ProjectRunTree%\stats +set StatsFile=%1_win32_%3_%2_build_time.ctm + +IF NOT EXIST %BuildPath% mkdir %BuildPath% +IF NOT EXIST %StatsPath% mkdir %StatsPath% + +C:\apps\ctime\ctime.exe -begin %StatsPath%\%StatsFile% diff --git a/build/build_app_clang_osx_debug.sh b/build/build_app_clang_osx_debug.sh new file mode 100644 index 0000000..c777b7d --- /dev/null +++ b/build/build_app_clang_osx_debug.sh @@ -0,0 +1,7 @@ +pushd build +clang++ ../src/gs_osx.mm \ +-g \ +-Wno-c11-extensions -Wno-unused-variable -Wno-unused-function \ +-framework Cocoa -framework OpenGL \ +-o osx_foldhaus.out +popd \ No newline at end of file diff --git a/build/build_app_clang_win32_debug.bat b/build/build_app_clang_win32_debug.bat new file mode 100644 index 0000000..30c5b8b --- /dev/null +++ b/build/build_app_clang_win32_debug.bat @@ -0,0 +1,32 @@ +@echo off + +set ProjectDevFolder=%~dp0 +set ProjectDevPath=%ProjectDevFolder:~0,-1% + +pushd %ProjectDevPath% + +IF NOT EXIST .\build_clang\ mkdir .\build_clang + +C:\programs\ctime\ctime.exe -begin %ProjectDevPath%\build\win32_foldhaus_clang_build_time.ctm + +set CommonCompilerFlags=-std=c++11 -Wno-writable-strings -Wno-unused-value -Wno-varargs -Wno-switch -Wno-microsoft-enum-forward-reference -DDEBUG=1 + +pushd .\build_clang\ + +REM Run the Preprocessor +foldhaus_meta.exe ..\src\foldhaus_app.cpp + +echo WAITING FOR PDB TO WRITE > lock.tmp + +clang %CommonCompilerFlags% ..\src\foldhaus_app.cpp -shared + +set LastError=%ERRORLEVEL% + +del lock.tmp + +clang %CommonCompilerFlags% ..\src\win32_foldhaus.cpp -o win32_foldhaus.exe user32.lib winmm.lib gdi32.lib opengl32.lib dsound.lib Ws2_32.lib Comdlg32.lib + +C:\programs\ctime\ctime.exe -end %ProjectDevPath%\build\win32_foldhaus_clang_build_time.ctm %LastError% +REM C:\programs\ctime\ctime.exe -stats %ProjectDevPath%\build\win32_foldhaus_clang_build_time.ctm +popd + diff --git a/build/build_app_msvc_win32_debug.bat b/build/build_app_msvc_win32_debug.bat new file mode 100644 index 0000000..dfdadd2 --- /dev/null +++ b/build/build_app_msvc_win32_debug.bat @@ -0,0 +1,32 @@ +@echo off + +call _prebuild_win32.bat app debug msvc + +echo Building In %BuildPath% + +set CommonCompilerFlags=-nologo -DDEBUG=1 -DPLATFORM_WINDOWS -FC -WX -W4 -Z7 -Oi -GR- -EHsc -EHa- -MTd -fp:fast -fp:except- -IC:\programs-dev\gs_libs\src +set CommonCompilerFlags=-wd4127 -wd4702 -wd4101 -wd4505 -wd4100 -wd4189 -wd4244 -wd4201 -wd4996 -I%CommonLibs% -O2 %CommonCompilerFlags% + +set CommonLinkerFlags= -opt:ref -incremental:no + +set DLLExports=/EXPORT:InitializeApplication /EXPORT:UpdateAndRender /EXPORT:CleanupApplication /EXPORT:ReloadStaticData + +pushd %BuildPath% + +del *.pdb > NUL 2> NUL + +REM Run the Preprocessor +%MetaProgramPath%\foldhaus_meta.exe %SourceCodePath%\foldhaus_app.cpp + +echo WAITING FOR PDB TO WRITE > lock.tmp + +cl %CommonCompilerFlags% %SourceCodePath%\foldhaus_app.cpp /Fefoldhaus.dll /LD /link %CommonLinkerFlags% %DLLExports% +set LastError=%ERRORLEVEL% + +del lock.tmp + +cl %CommonCompilerFlags% %SourceCodePath%\win32_foldhaus.cpp /link %CommonLinkerFlags% user32.lib winmm.lib gdi32.lib opengl32.lib dsound.lib Ws2_32.lib Comdlg32.lib + +popd + +call _postbuild_win32.bat \ No newline at end of file diff --git a/build/build_meta_msvc_win32_debug.bat b/build/build_meta_msvc_win32_debug.bat new file mode 100644 index 0000000..d8b1918 --- /dev/null +++ b/build/build_meta_msvc_win32_debug.bat @@ -0,0 +1,15 @@ +@echo off + +call _prebuild_win32.bat meta debug msvc + +set CommonCompilerFlags=-nologo -DDEBUG=1 -DPLATFORM_WINDOWS -FC -WX -W4 -Z7 -Oi -GR- -EHsc -EHa- -MTd -fp:fast -fp:except- +set CommonCompilerFlags=-wd4127 -wd4702 -wd4101 -wd4505 -wd4100 -wd4189 -wd4244 -wd4201 -wd4996 -I%CommonLibs% -O2 %CommonCompilerFlags% +set CommonLinkerFlags= -opt:ref + +pushd %BuildPath% + +cl %CommonCompilerFlags% %SourceCodePath%\foldhaus_meta.cpp /link %CommonLinkerFlags% + +popd + +call _postbuild_win32.bat \ No newline at end of file