]> git.jsancho.org Git - lugaru.git/commitdiff
Added in support for the CMake module for searching for and configuring to use libvor...
authorNeal Gompa <ngompa13@gmail.com>
Wed, 12 May 2010 00:42:14 +0000 (19:42 -0500)
committerNeal Gompa <ngompa13@gmail.com>
Wed, 12 May 2010 00:42:14 +0000 (19:42 -0500)
CMakeLists.txt
cmake/Modules/FindOggVorbis.cmake [new file with mode: 0644]

index c87964ef0a872e49d3fc06283a931242169a807e..ca13013ff324551c2cd349a648d866a933cff25b 100644 (file)
@@ -2,6 +2,7 @@ project(lugaru)
 
 cmake_minimum_required(VERSION 2.6)
 
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
 find_package(OpenAL REQUIRED)
 find_package(BZip2 REQUIRED)
 find_package(PNG REQUIRED)
@@ -10,6 +11,7 @@ find_package(ZLIB REQUIRED)
 find_package(OpenGL REQUIRED)
 find_package(GLU REQUIRED)
 find_package(SDL REQUIRED)
+find_package(OggVorbis REQUIRED)
 
 include_directories(
        ${OPENAL_INCLUDES}
@@ -20,8 +22,10 @@ include_directories(
        ${OPENGL_INCLUDE_DIR}
        ${GLU_INCLUDE_DIR}
        ${SDL_INCLUDE_DIR}
+       ${VORBISFILE_INCLUDE_DIR}
+       ${OGG_INCLUDE_DIR}
        ${CMAKE_SOURCE_DIR}/Source)
 
-set(LUGARU_LIBS ${OPENAL_LIBRARY} ${PNG_LIBRARY} ${JPEG_LIBRARY} ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES} ${SDL_LIBRARY} ${GLU_LIBRARY} ${OPENGL_LIBRARY} -lvorbisfile -logg)
+set(LUGARU_LIBS ${OPENAL_LIBRARY} ${PNG_LIBRARY} ${JPEG_LIBRARY} ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES} ${SDL_LIBRARY} ${GLU_LIBRARY} ${OPENGL_LIBRARY} ${VORBISFILE_LIBS} ${OGG_LIBS})
 
 add_subdirectory(Source)
diff --git a/cmake/Modules/FindOggVorbis.cmake b/cmake/Modules/FindOggVorbis.cmake
new file mode 100644 (file)
index 0000000..0ca1867
--- /dev/null
@@ -0,0 +1,91 @@
+# - Try to find the OggVorbis libraries
+# Once done this will define
+#
+#  OGGVORBIS_FOUND - system has OggVorbis
+#  OGGVORBIS_VERSION - set either to 1 or 2
+#  OGGVORBIS_INCLUDE_DIR - the OggVorbis include directory
+#  OGGVORBIS_LIBRARIES - The libraries needed to use OggVorbis
+#  OGG_LIBRARY         - The Ogg library
+#  VORBIS_LIBRARY      - The Vorbis library
+#  VORBISFILE_LIBRARY  - The VorbisFile library
+#  VORBISENC_LIBRARY   - The VorbisEnc library
+
+# Copyright (c) 2006, Richard Laerkaeng, <richard@goteborg.utfors.se>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+include (CheckLibraryExists)
+
+find_path(VORBIS_INCLUDE_DIR vorbis/vorbisfile.h)
+find_path(OGG_INCLUDE_DIR ogg/ogg.h)
+
+find_library(OGG_LIBRARY NAMES ogg)
+find_library(VORBIS_LIBRARY NAMES vorbis)
+find_library(VORBISFILE_LIBRARY NAMES vorbisfile)
+find_library(VORBISENC_LIBRARY NAMES vorbisenc)
+
+mark_as_advanced(VORBIS_INCLUDE_DIR OGG_INCLUDE_DIR
+                 OGG_LIBRARY VORBIS_LIBRARY VORBISFILE_LIBRARY VORBISENC_LIBRARY)
+
+
+if (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
+   set(OGGVORBIS_FOUND TRUE)
+
+   set(OGGVORBIS_LIBRARIES ${OGG_LIBRARY} ${VORBIS_LIBRARY} ${VORBISFILE_LIBRARY} ${VORBISENC_LIBRARY})
+
+   set(_CMAKE_REQUIRED_LIBRARIES_TMP ${CMAKE_REQUIRED_LIBRARIES})
+   set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${OGGVORBIS_LIBRARIES})
+   check_library_exists(vorbis vorbis_bitrate_addblock "" HAVE_LIBVORBISENC2)
+   set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_TMP})
+
+   if (HAVE_LIBVORBISENC2)
+      set (OGGVORBIS_VERSION 2)
+   else (HAVE_LIBVORBISENC2)
+      set (OGGVORBIS_VERSION 1)
+   endif (HAVE_LIBVORBISENC2)
+
+else (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
+   set (OGGVORBIS_VERSION)
+   set(OGGVORBIS_FOUND FALSE)
+endif (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
+
+
+if (OGGVORBIS_FOUND)
+   if (NOT OggVorbis_FIND_QUIETLY)
+      message(STATUS "Found OggVorbis: ${OGGVORBIS_LIBRARIES}")
+   endif (NOT OggVorbis_FIND_QUIETLY)
+else (OGGVORBIS_FOUND)
+   if (OggVorbis_FIND_REQUIRED)
+      message(FATAL_ERROR "Could NOT find OggVorbis libraries")
+   endif (OggVorbis_FIND_REQUIRED)
+   if (NOT OggVorbis_FIND_QUITELY)
+      message(STATUS "Could NOT find OggVorbis libraries")
+   endif (NOT OggVorbis_FIND_QUITELY)
+endif (OGGVORBIS_FOUND)
+
+check_include_files(vorbis/vorbisfile.h HAVE_VORBISFILE_H)
+check_library_exists(ogg ogg_page_version "" HAVE_LIBOGG)
+check_library_exists(vorbis vorbis_info_init "" HAVE_LIBVORBIS)
+check_library_exists(vorbisfile ov_open "" HAVE_LIBVORBISFILE)
+check_library_exists(vorbisenc vorbis_info_clear "" HAVE_LIBVORBISENC)
+check_library_exists(vorbis vorbis_bitrate_addblock "" HAVE_LIBVORBISENC2)
+
+if (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)
+    message(STATUS "Ogg/Vorbis found")
+    set (VORBIS_LIBS "-lvorbis -logg")
+    set (OGG_LIBS "-logg")
+    set (VORBISFILE_LIBS "-lvorbisfile")
+    set (VORBISENC_LIBS "-lvorbisenc")
+    set (OGGVORBIS_FOUND TRUE)
+    if (HAVE_LIBVORBISENC2)
+        set (HAVE_VORBIS 2)
+    else (HAVE_LIBVORBISENC2)
+        set (HAVE_VORBIS 1)
+    endif (HAVE_LIBVORBISENC2)
+else (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)
+    message(STATUS "Ogg/Vorbis not found")
+endif (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)
+
+