Post-push fix: broken build on windows.
The problem is min/max macros from windows.h
which interfere with a template function callex max.
Solution: ADD_DEFINITIONS(-DNOMINMAX)
Bug#18187290 ISSUE WITH BUILDING MYSQL USING CMAKE 2.8.12
We want to upgrade to VS2013 on Windows.
In order to do this, we need to upgrade to cmake 2.8.12
This has introduced some incompatibilities for .pdb files,
and "make install" no longer works.
To reproduce:
cmake --build . --target package --config debug
The fix:
Rather than installing .pdb files for static libraries, we use the /Z7 flag
to store symbolic debugging information in the .obj files.
When MySQL converted from autotools to CMake, the
preprocessor symbol USE_SYMDIR was omitted by mistake.
Without this symbol, the code for checking .sym files
is not built.
This patch defines USE_SYMDIR when built on MS Windows.
Bug : -DBUILD_CONFIG=mysql_release sets SIGNCODE parameter which requires
singtool.exe (part of Windows SDK) in order to be able to sign the binaries (
only if valid certificate is found). However singtool is not a part of the SDK shipped
with Visual Studio Express, so the build fails claiming missing singtools.exe
Fix: Do not use SIGNCODE wiith VC Express.
Also, fix broken nmake build (*.rc files could not be compiled due to ADD_DEFINITIONS
contaning C/C++ compiler specific flags)