Demos (cmake): cmake: MSVC portability fixes.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Tue Nov 9 13:03:50 UTC 2010
Module: Demos
Branch: cmake
Commit: c5cd31b175e39e1ed1eb03bdc99f27601ba79068
URL: http://cgit.freedesktop.org/mesa/demos/commit/?id=c5cd31b175e39e1ed1eb03bdc99f27601ba79068
Author: José Fonseca <jfonseca at vmware.com>
Date: Tue Nov 9 12:59:21 2010 +0000
cmake: MSVC portability fixes.
---
CMakeLists.txt | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 852a887..1426ce1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,7 +15,30 @@ find_path (GLEW_INCLUDE_DIR GL/glew.h
)
if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ # Nobody likes to include windows.h:
+ # - Microsoft's GL/gl.h header depends on windows.h but doesn't include it;
+ # - GLEW temporarily defines the necessary defines but undefines them later
+ # - certain GLUT distributions don't include it;
+ # - most of our programs are meant to be portable so don't include it.
+ #
+ # We could try to replicate the windows.h definitions required by
+ # GL/gl.h, but the build time savings don't compensate the constant
+ # headaches that brings, so instead we force windows.h to be included
+ # on every file.
+ if (MSVC)
+ add_definitions (-FIwindows.h)
+ else (MSVC)
+ add_definitions (--include windows.h)
+ endif (MSVC)
+
link_libraries (winmm)
endif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+if (MSVC)
+ # Silence several MSVC pedantic warnings
+ add_definitions (-D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -DCRT_NONSTDC_NO_WARNINGS)
+ add_definitions (-D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS)
+ add_definitions (-wd4244) # conversion' conversion from 'type1' to 'type2', possible loss of data
+endif (MSVC)
+
add_subdirectory (src)
More information about the mesa-commit
mailing list