summaryrefslogtreecommitdiffstats
path: root/Modules/FindOpenAL.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/FindOpenAL.cmake')
-rw-r--r--Modules/FindOpenAL.cmake49
1 files changed, 39 insertions, 10 deletions
diff --git a/Modules/FindOpenAL.cmake b/Modules/FindOpenAL.cmake
index 24f3641..5c6d957 100644
--- a/Modules/FindOpenAL.cmake
+++ b/Modules/FindOpenAL.cmake
@@ -8,8 +8,7 @@
# correspond to the ./configure --prefix=$OPENALDIR
# used in building OpenAL.
#
-# Created by Eric Wing. This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks.
+# Created by Eric Wing. This was influenced by the FindSDL.cmake module.
# On OSX, this will prefer the Framework version (if found) over others.
# People will have to manually change the cache values of
@@ -18,33 +17,63 @@
# But for now, we have to look around.
# Other (Unix) systems should be able to utilize the non-framework paths.
FIND_PATH(OPENAL_INCLUDE_DIR al.h
+ $ENV{OPENALDIR}/include
~/Library/Frameworks/OpenAL.framework/Headers
/Library/Frameworks/OpenAL.framework/Headers
- /System/Library/Frameworks/OpenAL.framework/Headers
- $ENV{OPENALDIR}/include
- /usr/include
- /usr/include/AL
- /usr/include/OpenAL
+ /System/Library/Frameworks/OpenAL.framework/Headers # Tiger
/usr/local/include/AL
/usr/local/include/OpenAL
+ /usr/local/include
+ /usr/include/AL
+ /usr/include/OpenAL
+ /usr/include
+ /sw/include/AL # Fink
+ /sw/include/OpenAL
/sw/include
- /sw/include/AL
+ /opt/local/include/AL # DarwinPorts
+ /opt/local/include/OpenAL
+ /opt/local/include
+ /opt/csw/include/AL # Blastwave
+ /opt/csw/include/OpenAL
+ /opt/csw/include
+ /opt/include/AL
+ /opt/include/OpenAL
+ /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(${OPENAL_INCLUDE_DIR} MATCHES ".framework")
- SET (OPENAL_LIBRARY "-framework OpenAL" CACHE STRING "OpenAL framework for OSX")
+ STRING(REGEX REPLACE "(.*)/.*\\.framework/.*" "\\1" OPENAL_FRAMEWORK_PATH_TMP ${OPENAL_INCLUDE_DIR})
+ IF("${OPENAL_FRAMEWORK_PATH_TMP}" STREQUAL "/Library/Frameworks"
+ OR "${OPENAL_FRAMEWORK_PATH_TMP}" STREQUAL "/System/Library/Frameworks"
+ )
+ # String is in default search path, don't need to use -F
+ SET (OPENAL_LIBRARY "-framework OpenAL" CACHE STRING "OpenAL framework for OSX")
+ ELSE("${OPENAL_FRAMEWORK_PATH_TMP}" STREQUAL "/Library/Frameworks"
+ OR "${OPENAL_FRAMEWORK_PATH_TMP}" STREQUAL "/System/Library/Frameworks"
+ )
+ # String is not /Library/Frameworks, need to use -F
+ SET(OPENAL_LIBRARY "-F${OPENAL_FRAMEWORK_PATH_TMP} -framework OpenAL" CACHE STRING "OpenAL framework for OSX")
+ ENDIF("${OPENAL_FRAMEWORK_PATH_TMP}" STREQUAL "/Library/Frameworks"
+ OR "${OPENAL_FRAMEWORK_PATH_TMP}" STREQUAL "/System/Library/Frameworks"
+ )
+ # Clear the temp variable so nobody can see it
+ SET(OPENAL_FRAMEWORK_PATH_TMP "" CACHE INTERNAL "")
+
ELSE(${OPENAL_INCLUDE_DIR} MATCHES ".framework")
FIND_LIBRARY(OPENAL_LIBRARY
NAMES openal al OpenAL32
PATHS
$ENV{OPENALDIR}/lib
$ENV{OPENALDIR}/libs
- /usr/lib
/usr/local/lib
+ /usr/lib
/sw/lib
+ /opt/local/lib
+ /opt/csw/lib
+ /opt/lib
)
ENDIF(${OPENAL_INCLUDE_DIR} MATCHES ".framework")