|
From: John S. <jst...@us...> - 2009-12-27 22:25:13
|
Module: performous
Branch: master
Commit: 4b5c19081eb7d1ec5f9a0ff94de4089adb77e8d0
Author: John Stumpo <st...@js...>
Date: Sun Dec 27 17:11:23 2009 -0500
Prefer Magick++ over SDL_image, and even then only try SDL_image under Windows.
---
game/CMakeLists.txt | 19 ++++++++++++-------
game/surface.cc | 4 ++--
game/video_driver.cc | 4 ++--
3 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt
index 52d50a6..2f60f1f 100644
--- a/game/CMakeLists.txt
+++ b/game/CMakeLists.txt
@@ -106,15 +106,20 @@ else()
message(STATUS "MIDI I/O: Disabled (libportmidi not found)")
endif()
-find_package(SDL_image)
-if(SDL_image_FOUND)
- include_directories(${SDL_image_INCLUDE_DIRS})
- add_definitions(-DLESS_MAGIC) # ;)
- list(APPEND LIBS ${SDL_image_LIBRARIES})
- message(STATUS "SDL_image: found, enabling replacements for Magick++ code")
+if(WIN32)
+ find_package(Magick++)
+ if(NOT Magick++_FOUND)
+ message(STATUS "Magick++ not found; trying to use SDL_image instead")
+ find_package(SDL_image REQUIRED)
+ include_directories(${SDL_image_INCLUDE_DIRS})
+ add_definitions(-DUSE_SDL_IMAGE)
+ list(APPEND LIBS ${SDL_image_LIBRARIES})
+ endif()
else()
- message(STATUS "SDL_image: not found, falling back to Magick++")
find_package(Magick++ REQUIRED)
+endif()
+
+if(Magick++_FOUND)
include_directories(${Magick++_INCLUDE_DIRS})
list(APPEND LIBS ${Magick++_LIBRARIES})
add_definitions(${Magick++_DEFINITIONS})
diff --git a/game/surface.cc b/game/surface.cc
index 54ff5f2..f6f5a55 100644
--- a/game/surface.cc
+++ b/game/surface.cc
@@ -6,7 +6,7 @@
#include <librsvg/rsvg.h>
#include <librsvg/rsvg-cairo.h>
-#ifdef LESS_MAGIC
+#ifdef USE_SDL_IMAGE
#include <SDL_image.h>
#else
#include <Magick++.h>
@@ -90,7 +90,7 @@ template <typename T> void loader(T& target, std::string filename, bool autocrop
gdk_pixbuf_unref(pb);
rsvg_term();
} else {
- #ifdef LESS_MAGIC
+ #ifdef USE_SDL_IMAGE
SDL_Surface* imgsurf = IMG_Load(filename.c_str());
if (imgsurf == NULL) {
throw std::runtime_error("Unable to load " + filename + ": " + IMG_GetError());
diff --git a/game/video_driver.cc b/game/video_driver.cc
index d4f7b43..d03c307 100644
--- a/game/video_driver.cc
+++ b/game/video_driver.cc
@@ -7,7 +7,7 @@
#include "joystick.hh"
#include <SDL.h>
-#ifdef LESS_MAGIC
+#ifdef USE_SDL_IMAGE
#include <sstream>
#include <fstream>
#else
@@ -82,7 +82,7 @@ void Window::screenshot() {
fnstr << "/tmp/";
#endif
fnstr << "performous_screenshot_" << count;
-#ifdef LESS_MAGIC
+#ifdef USE_SDL_IMAGE
/* Write the image out as an uncompressed tga. */
fnstr << ".tga";
std::ofstream tgaout(fnstr.str().c_str(), std::ios::binary);
|