Revision: 7824
http://playerstage.svn.sourceforge.net/playerstage/?rev=7824&view=rev
Author: thjc
Date: 2009-06-09 11:51:41 +0000 (Tue, 09 Jun 2009)
Log Message:
-----------
Detect OS and dont set -Wall on solaris or win32
Modified Paths:
--------------
code/stage/trunk/CMakeLists.txt
Added Paths:
-----------
code/stage/trunk/cmake/
code/stage/trunk/cmake/internal/
code/stage/trunk/cmake/internal/FindOS.cmake
Modified: code/stage/trunk/CMakeLists.txt
===================================================================
--- code/stage/trunk/CMakeLists.txt 2009-06-09 08:50:16 UTC (rev 7823)
+++ code/stage/trunk/CMakeLists.txt 2009-06-09 11:51:41 UTC (rev 7824)
@@ -26,6 +26,19 @@
MESSAGE (STATUS "${PROJECT_NAME} version ${VERSION}")
+# Set where to find our internal CMake scripts
+SET (PROJECT_CMAKE_DIR ${PROJECT_SOURCE_DIR}/cmake CACHE PATH "Location of
CMake scripts")
+# Determine the operating system in detail
+INCLUDE (${PROJECT_CMAKE_DIR}/internal/FindOS.cmake)
+
+# Enable -Wall by default
+IF (NOT PROJECT_OS_WIN AND NOT PROJECT_OS_SOLARIS)
+ # Using -Wall on Windows causes MSVC to produce thousands of warnings in
its
+ # own standard headers, dramatically slowing down the build.
+ SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+ENDIF (NOT PROJECT_OS_WIN AND NOT PROJECT_OS_SOLARIS)
+
ENABLE_TESTING()
# Create the pkgconfig file
Added: code/stage/trunk/cmake/internal/FindOS.cmake
===================================================================
--- code/stage/trunk/cmake/internal/FindOS.cmake
(rev 0)
+++ code/stage/trunk/cmake/internal/FindOS.cmake 2009-06-09 11:51:41 UTC
(rev 7824)
@@ -0,0 +1,45 @@
+# Check the OS type.
+
+# CMake does not distinguish Linux from other Unices.
+STRING (REGEX MATCH "Linux" PROJECT_OS_LINUX ${CMAKE_SYSTEM_NAME})
+# Nor *BSD
+STRING (REGEX MATCH "BSD" PROJECT_OS_BSD ${CMAKE_SYSTEM_NAME})
+# Or Solaris. I'm seeing a trend, here
+STRING (REGEX MATCH "SunOS" PROJECT_OS_SOLARIS ${CMAKE_SYSTEM_NAME})
+
+# Windows is easy (for once)
+IF (WIN32)
+ SET (PROJECT_OS_WIN TRUE BOOL INTERNAL)
+ENDIF (WIN32)
+
+# Check if it's an Apple OS
+IF (APPLE)
+ # Check if it's OS X or another MacOS (that's got to be pretty unlikely)
+ STRING (REGEX MATCH "Darwin" PROJECT_OS_OSX ${CMAKE_SYSTEM_NAME})
+ IF (NOT PROJECT_OS_OSX)
+ SET (PROJECT_OS_MACOS TRUE BOOL INTERNAL)
+ ENDIF (NOT PROJECT_OS_OSX)
+ENDIF (APPLE)
+
+# QNX
+IF (QNXNTO)
+ SET (PROJECT_OS_QNX TRUE BOOL INTERNAL)
+ENDIF (QNXNTO)
+
+IF (PROJECT_OS_LINUX)
+ MESSAGE (STATUS "Operating system is Linux")
+ELSEIF (PROJECT_OS_BSD)
+ MESSAGE (STATUS "Operating system is BSD")
+ELSEIF (PROJECT_OS_WIN)
+ MESSAGE (STATUS "Operating system is Windows")
+ELSEIF (PROJECT_OS_OSX)
+ MESSAGE (STATUS "Operating system is Apple MacOS X")
+ELSEIF (PROJECT_OS_MACOS)
+ MESSAGE (STATUS "Operating system is Apple MacOS (not OS X)")
+ELSEIF (PROJECT_OS_QNX)
+ MESSAGE (STATUS "Operating system is QNX")
+ELSEIF (PROJECT_OS_SOLARIS)
+ MESSAGE (STATUS "Operating system is Solaris")
+ELSE (PROJECT_OS_LINUX)
+ MESSAGE (STATUS "Operating system is generic Unix")
+ENDIF (PROJECT_OS_LINUX)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit