cmake_modules/FindOggVorbis.cmake
author nemo
Tue, 26 Jun 2012 23:02:25 -0400
changeset 7307 f830a65d6a6d
parent 5169 e353ca78d28b
child 8660 6370e545fd5f
permissions -rw-r--r--
This is necessary because commands can contain 0s, and StrPas used by LuaPas halts at the first 0. It might be necessary to change the base string handling.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2214
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
     1
### SuperTux - Removed unused vorbisenc library
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
     2
2214
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
     3
# - Try to find the OggVorbis libraries
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
     4
# Once done this will define
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
     5
#
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
     6
#  OGGVORBIS_FOUND - system has OggVorbis
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
     7
#  OGGVORBIS_VERSION - set either to 1 or 2
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
     8
#  OGGVORBIS_INCLUDE_DIR - the OggVorbis include directory
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
     9
#  OGGVORBIS_LIBRARIES - The libraries needed to use OggVorbis
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    10
#  OGG_LIBRARY         - The Ogg library
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    11
#  VORBIS_LIBRARY      - The Vorbis library
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    12
#  VORBISFILE_LIBRARY  - The VorbisFile library
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    13
# Copyright (c) 2006, Richard Laerkaeng, <richard@goteborg.utfors.se>
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    14
#
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    15
# Redistribution and use is allowed according to the terms of the BSD license.
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    16
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
2194
1597710c6118 koda adds threading for fadein/out. Untested under windows, but works beautifully under Linux (and presumably OSX, right koda?)
nemo
parents:
diff changeset
    17
2395
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2336
diff changeset
    18
2214
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    19
include (CheckLibraryExists)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    20
find_path(VORBIS_INCLUDE_DIR vorbis/vorbisfile.h)
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2437
diff changeset
    21
2609
b67624c7d61e add a x86_64 mac target
koda
parents: 2606
diff changeset
    22
find_library(OGG_LIBRARY NAMES ogg)
b67624c7d61e add a x86_64 mac target
koda
parents: 2606
diff changeset
    23
find_library(VORBIS_LIBRARY NAMES vorbis)
b67624c7d61e add a x86_64 mac target
koda
parents: 2606
diff changeset
    24
find_library(VORBISFILE_LIBRARY NAMES vorbisfile)
5169
e353ca78d28b some comments and simplifications for cmake files
koda
parents: 2609
diff changeset
    25
if(APPLE AND NOT VORBISFILE_LIBRARY)
e353ca78d28b some comments and simplifications for cmake files
koda
parents: 2609
diff changeset
    26
#  [koda] (for Hedgewars) frameworks don't come with libvorbisfile
e353ca78d28b some comments and simplifications for cmake files
koda
parents: 2609
diff changeset
    27
   set(VORBISFILE_LIBRARY "${VORBIS_LIBRARY}")
e353ca78d28b some comments and simplifications for cmake files
koda
parents: 2609
diff changeset
    28
endif()
2437
10e4b5fc0d93 fix sound by smaxx and other stuff by me
koda
parents: 2400
diff changeset
    29
2336
66c751f7a28e fix windows compilation with dll (frontend and engine)
koda
parents: 2214
diff changeset
    30
if (OGG_LIBRARY AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY)
2214
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    31
   set(OGGVORBIS_FOUND TRUE)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    32
#  [sommer] (for SuperTux) reversed order of libraries, so that cmake 2.4.5 for Windows generates an MSYS Makefile that will link correctly
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    33
#  set(OGGVORBIS_LIBRARIES ${OGG_LIBRARY} ${VORBIS_LIBRARY} ${VORBISFILE_LIBRARY})
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    34
   set(OGGVORBIS_LIBRARIES ${VORBISFILE_LIBRARY} ${VORBIS_LIBRARY} ${OGG_LIBRARY})
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    35
   set(_CMAKE_REQUIRED_LIBRARIES_TMP ${CMAKE_REQUIRED_LIBRARIES})
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    36
   set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${OGGVORBIS_LIBRARIES})
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    37
   check_library_exists(vorbis vorbis_bitrate_addblock "" HAVE_LIBVORBISENC2)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    38
   set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_TMP})
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    39
   if (HAVE_LIBVORBISENC2)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    40
      set (OGGVORBIS_VERSION 2)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    41
   else (HAVE_LIBVORBISENC2)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    42
      set (OGGVORBIS_VERSION 1)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    43
   endif (HAVE_LIBVORBISENC2)
2336
66c751f7a28e fix windows compilation with dll (frontend and engine)
koda
parents: 2214
diff changeset
    44
else ()
2437
10e4b5fc0d93 fix sound by smaxx and other stuff by me
koda
parents: 2400
diff changeset
    45
   set(OGGVORBIS_VERSION)
2214
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    46
   set(OGGVORBIS_FOUND FALSE)
2336
66c751f7a28e fix windows compilation with dll (frontend and engine)
koda
parents: 2214
diff changeset
    47
endif ()
2214
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    48
if (OGGVORBIS_FOUND)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    49
   if (NOT OggVorbis_FIND_QUIETLY)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    50
      message(STATUS "Found OggVorbis: ${OGGVORBIS_LIBRARIES}")
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    51
   endif (NOT OggVorbis_FIND_QUIETLY)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    52
else (OGGVORBIS_FOUND)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    53
   if (OggVorbis_FIND_REQUIRED)
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    54
      message(FATAL_ERROR "Could NOT find OggVorbis libraries")
2395
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2336
diff changeset
    55
   else (OggVorbis_FIND_REQUIRED)
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2336
diff changeset
    56
      if (NOT OggVorbis_FIND_QUIETLY)
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2336
diff changeset
    57
         message(STATUS "Could NOT find OggVorbis libraries")
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2336
diff changeset
    58
      endif (NOT OggVorbis_FIND_QUIETLY)
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2336
diff changeset
    59
   endif(OggVorbis_FIND_REQUIRED)
2214
eacb5b19d587 -new FindOggVorbis, should work everywhere now
koda
parents: 2211
diff changeset
    60
endif (OGGVORBIS_FOUND)
2194
1597710c6118 koda adds threading for fadein/out. Untested under windows, but works beautifully under Linux (and presumably OSX, right koda?)
nemo
parents:
diff changeset
    61