[Tux4kids-commits] r603 - in tuxmath/trunk: cmake-modules src

tholy-guest at alioth.debian.org tholy-guest at alioth.debian.org
Sun Aug 10 19:41:19 UTC 2008


Author: tholy-guest
Date: 2008-08-10 19:41:18 +0000 (Sun, 10 Aug 2008)
New Revision: 603

Added:
   tuxmath/trunk/cmake-modules/FindSDL_gfx.cmake
Modified:
   tuxmath/trunk/src/CMakeLists.txt
Log:
Add cmake support for SDL_gfx (needed for merging factroids with CMake build).


Added: tuxmath/trunk/cmake-modules/FindSDL_gfx.cmake
===================================================================
--- tuxmath/trunk/cmake-modules/FindSDL_gfx.cmake	                        (rev 0)
+++ tuxmath/trunk/cmake-modules/FindSDL_gfx.cmake	2008-08-10 19:41:18 UTC (rev 603)
@@ -0,0 +1,81 @@
+# - Locate SDL_gfx library
+# This module defines
+#  SDLGFX_LIBRARY, the library to link against
+#  SDLGFX_FOUND, if false, do not try to link to SDL
+#  SDLGFX_INCLUDE_DIR, where to find SDL/SDL_gfxPrimitives.h
+#
+# $SDLDIR is an environment variable that would
+# correspond to the ./configure --prefix=$SDLDIR
+# used in building SDL.
+#
+# Created by Olivier DOLE. This was copied from the FindSDL_image.cmake 
+# module.
+
+# On OSX, this will prefer the Framework version (if found) over others.
+# People will have to manually change the cache values of 
+# SDLGFX_LIBRARY to override this selection.
+FIND_PATH(SDLGFX_INCLUDE_DIR SDL_gfxPrimitives.h
+  $ENV{SDLGFXDIR}/include
+  $ENV{SDLDIR}/include
+  ~/Library/Frameworks/SDL_gfx.framework/Headers
+  /Library/Frameworks/SDL_gfx.framework/Headers
+  /usr/local/include/SDL
+  /usr/include/SDL
+  /usr/local/include/SDL12
+  /usr/local/include/SDL11 # FreeBSD ports
+  /usr/include/SDL12
+  /usr/include/SDL11
+  /usr/local/include
+  /usr/include
+  /sw/include/SDL # Fink
+  /sw/include
+  /opt/local/include/SDL # DarwinPorts
+  /opt/local/include
+  /opt/csw/include/SDL # Blastwave
+  /opt/csw/include 
+  /opt/include/SDL
+  /opt/include
+  )
+# I'm not sure if I should do a special casing for Apple. It is 
+# unlikely that other Unix systems will find the framework path.
+# But if they do ([Next|Open|GNU]Step?), 
+# do they want the -framework option also?
+IF(${SDLGFX_INCLUDE_DIR} MATCHES ".framework")
+  # Extract the path the framework resides in so we can use it for the -F flag
+  STRING(REGEX REPLACE "(.*)/.*\\.framework/.*" "\\1" SDLGFX_FRAMEWORK_PATH_TEMP ${SDLGFX_INCLUDE_DIR})
+  IF("${SDLGFX_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks"
+      OR "${SDLGFX_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks"
+      )
+    # String is in default search path, don't need to use -F
+    SET(SDLGFX_LIBRARY "-framework SDL_gfx" CACHE STRING "SDL_gfx framework for OSX")
+  ELSE("${SDLGFX_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks"
+      OR "${SDLGFX_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks"
+      )
+    # String is not /Library/Frameworks, need to use -F
+    SET(SDLGFX_LIBRARY "-F${SDLGFX_FRAMEWORK_PATH_TEMP} -framework SDL_gfx" CACHE STRING "SDL_gfx framework for OSX")
+  ENDIF("${SDLGFX_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks"
+    OR "${SDLGFX_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks"
+    )
+  # Clear the temp variable so nobody can see it
+  SET(SDLGFX_FRAMEWORK_PATH_TEMP "" CACHE INTERNAL "")
+
+ELSE(${SDLGFX_INCLUDE_DIR} MATCHES ".framework")
+  FIND_LIBRARY(SDLGFX_LIBRARY 
+    NAMES SDL_gfx
+    PATHS
+    $ENV{SDLGFXDIR}/lib
+    $ENV{SDLDIR}/lib
+    /usr/local/lib
+    /usr/lib
+    /sw/lib
+    /opt/local/lib
+    /opt/csw/lib
+    /opt/lib
+    )
+ENDIF(${SDLGFX_INCLUDE_DIR} MATCHES ".framework")
+
+SET(SDLGFX_FOUND "NO")
+IF(SDLGFX_LIBRARY)
+  SET(SDLGFX_FOUND "YES")
+ENDIF(SDLGFX_LIBRARY)
+

Modified: tuxmath/trunk/src/CMakeLists.txt
===================================================================
--- tuxmath/trunk/src/CMakeLists.txt	2008-08-10 14:02:06 UTC (rev 602)
+++ tuxmath/trunk/src/CMakeLists.txt	2008-08-10 19:41:18 UTC (rev 603)
@@ -37,6 +37,7 @@
 find_package(SDL_image REQUIRED)
 find_package(SDL_ttf REQUIRED)
 find_package(SDL_mixer REQUIRED)
+find_package(SDL_gfx REQUIRED)
 
 if (NOT SDL_FOUND)
   # Workaround for REQUIRED flag not working with cmake < 2.4.7.
@@ -57,7 +58,7 @@
 #endif (NOT ENABLE_NLS)
 #check_include_file(config.h HAVE_CONFIG_H REQUIRED)
 
-include_directories(${CMAKE_CURRENT_BINARY_DIR} ${SDL_INCLUDE_DIR} ${SDLIMAGE_INCLUDE_DIR} ${SDLMIXER_INCLUDE_DIR} ${SDLTTF_INCLUDE_DIR} ${TUXMATH_EXTRA_INCLUDES} ${INTL_BINARY_DIR})
+include_directories(${CMAKE_CURRENT_BINARY_DIR} ${SDL_INCLUDE_DIR} ${SDLIMAGE_INCLUDE_DIR} ${SDLMIXER_INCLUDE_DIR} ${SDLTTF_INCLUDE_DIR} ${SDLGFX_INCLUDE_DIR} ${TUXMATH_EXTRA_INCLUDES} ${INTL_BINARY_DIR})
 
 if (TUXMATH_BUILD_INTL)
   link_directories(${INTL_BINARY_DIR})
@@ -88,6 +89,7 @@
   ${SDLIMAGE_LIBRARY}
   ${SDLTTF_LIBRARY}
   ${SDLMIXER_LIBRARY}
+  ${SDLGFX_LIBRARY}
   )
 
 if (SDLPANGO_FOUND)




More information about the Tux4kids-commits mailing list