1rem Ensure Cygwin executables like sh.exe are not in PATH 2rem set PATH=C:\Windows\system32;C:\Windows 3 4echo on 5echo 6 7set CMAKE_FLAGS=-DENABLE_SSL=OPENSSL -DENABLE_SASL=CYRUS 8set TAR=C:\cygwin\bin\tar 9set CMAKE=C:\cmake\bin\cmake 10set CMAKE_MAKE_PROGRAM=C:\mingw-w64\x86_64-4.9.1-posix-seh-rt_v3-rev1\mingw64\bin\mingw32-make.exe 11set CC=C:\mingw-w64\x86_64-4.9.1-posix-seh-rt_v3-rev1\mingw64\bin\gcc.exe 12rem Ensure Cygwin executables like sh.exe are not in PATH 13set PATH=C:\cygwin\bin;C:\Windows\system32;C:\Windows;C:\mingw-w64\x86_64-4.9.1-posix-seh-rt_v3-rev1\mingw64\bin;C:\mongoc;src\libbson 14 15set SRCROOT=%CD% 16set BUILD_DIR=%CD%\build-dir 17rmdir /S /Q %BUILD_DIR% 18mkdir %BUILD_DIR% 19 20set INSTALL_DIR=%CD%\install-dir 21rmdir /S /Q %INSTALL_DIR% 22mkdir %INSTALL_DIR% 23 24set PATH=%PATH%;"c:\Program Files (x86)\MSBuild\14.0\Bin" 25set PATH=%PATH%;"c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin" 26set PATH=%PATH%;%INSTALL_DIR%\bin 27 28cd %BUILD_DIR% 29%TAR% xf ..\..\mongoc.tar.gz -C . --strip-components=1 30 31rem Build libbson 32cd src\libbson 33%CMAKE% -G "MinGW Makefiles" -DCMAKE_MAKE_PROGRAM=%CMAKE_MAKE_PROGRAM% -DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% . 34%CMAKE_MAKE_PROGRAM% 35if errorlevel 1 ( 36 exit /B 1 37) 38 39%CMAKE_MAKE_PROGRAM% install 40if errorlevel 1 ( 41 exit /B 1 42) 43 44cd ..\.. 45rem Build libmongoc 46%CMAKE% -G "MinGW Makefiles" -DCMAKE_MAKE_PROGRAM=%CMAKE_MAKE_PROGRAM% -DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% -DCMAKE_PREFIX_PATH=%INSTALL_DIR%\lib\cmake %CMAKE_FLAGS% . 47%CMAKE_MAKE_PROGRAM% 48if errorlevel 1 ( 49 exit /B 1 50) 51 52%CMAKE_MAKE_PROGRAM% install 53if errorlevel 1 ( 54 exit /B 1 55) 56 57call ..\.evergreen\check-installed-files.bat 58if errorlevel 1 ( 59 exit /B 1 60) 61 62if not exist %INSTALL_DIR%\lib\libmongoc-static-1.0.a ( 63 echo libmongoc-static-1.0.a missing! 64 exit /B 1 65) else ( 66 echo libmongoc-static-1.0.a check ok 67) 68 69cd %SRCROOT% 70 71rem Test our pkg-config file 72set EXAMPLE_DIR=%SRCROOT%\examples\ 73cd %EXAMPLE_DIR% 74 75rem Proceed from here once we have pkg-config on Windows 76exit /B 0 77 78set PKG_CONFIG_PATH=%INSTALL_DIR%\lib\pkgconfig 79 80rem http://stackoverflow.com/questions/2323292 81for /f %%i in ('pkg-config --libs --cflags libmongoc-1.0') do set PKG_CONFIG_OUT=%%i 82 83echo PKG_CONFIG_OUT is %PKG_CONFIG_OUT% 84 85%CC% -o hello_mongoc hello_mongoc.c %PKG_CONFIG_OUT% 86 87rem Works on windows-64-vs2013-compile, VS 2013 is a.k.a. "Visual Studio 12" 88rem And yes, they should've named the flag "dependencies". 89"c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\dumpbin.exe" /dependents Debug\hello_mongoc.exe 90 91rem Add DLLs to PATH 92set PATH=%PATH%;%INSTALL_DIR%\bin 93 94Debug\hello_mongoc.exe %MONGODB_EXAMPLE_URI% 95