|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- # ---------------------------------
- # Finds OpenAL, ALUT, OGGVORBIS
- # Adds library to target
- # Adds include path
- # ---------------------------------
-
- GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyOpenAL)
-
- IF(WIN32)
- FIND_PATH(PATH_OPENAL include/al.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES openal . NO_DEFAULT_PATH)
- FIND_PATH(PATH_ALUT include/AL/alut.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES freealut .)
- FIND_PATH(PATH_OGG include/ogg/ogg.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES libogg .)
- FIND_PATH(PATH_VORBIS include/vorbis/vorbisfile.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES libvorbis .)
-
- SET(BUILDTYPE_PATH_DEBUG "debug")
- SET(BUILDTYPE_PATH_RELEASE "release")
-
- IF(PATH_OPENAL)
- OV_PRINT(OV_PRINTED " Found OpenAL...")
- IF("${PLATFORM_TARGET}" STREQUAL "x64")
- SET(OPENAL_SUBDIR "Win64")
- ELSE()
- SET(OPENAL_SUBDIR "Win32")
- ENDIF()
- FIND_LIBRARY(LIB_OPENAL OpenAL32 PATHS ${PATH_OPENAL}/libs/${OPENAL_SUBDIR}/ NO_DEFAULT_PATH)
- IF(LIB_OPENAL)
- OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_OPENAL}")
- INSTALL(DIRECTORY "${PATH_OPENAL}/libs/${OPENAL_SUBDIR}/" DESTINATION "${DIST_BINDIR}/" FILES_MATCHING PATTERN "*.dll" PATTERN "EFX*" EXCLUDE)
- ELSE(LIB_OPENAL)
- OV_PRINT(OV_PRINTED " [FAILED] lib OpenAL32")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(LIB_OPENAL)
- ELSE(PATH_OPENAL)
- OV_PRINT(OV_PRINTED " FAILED to find OpenAL32")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(PATH_OPENAL)
-
- IF(PATH_ALUT)
- FIND_LIBRARY(LIB_ALUT alut PATHS ${PATH_ALUT}/lib NO_DEFAULT_PATH)
- IF(LIB_ALUT)
- OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_ALUT}")
- INSTALL(DIRECTORY "${PATH_ALUT}/lib/" DESTINATION "${DIST_BINDIR}/" FILES_MATCHING PATTERN "*.dll")
- ELSE(LIB_ALUT)
- OV_PRINT(OV_PRINTED " [FAILED] lib alut")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(LIB_ALUT)
- ELSE(PATH_ALUT)
- OV_PRINT(OV_PRINTED " -- FAILED to find ALUT")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(PATH_ALUT)
-
- IF(PATH_OGG)
- FIND_LIBRARY(LIB_OGG_RELEASE libogg PATHS ${PATH_OGG}/win32/lib/${BUILDTYPE_PATH_RELEASE} NO_DEFAULT_PATH)
- IF(LIB_OGG_RELEASE)
- OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_OGG_RELEASE} (release)")
- # We only have release OpenAL, so we have to include release version for libogg, and libvorbis
- INSTALL(DIRECTORY "${PATH_OGG}/win32/bin/${BUILDTYPE_PATH_RELEASE}/" DESTINATION "${DIST_BINDIR}/") # CONFIGURATIONS Release)
- ELSE(LIB_OGG_RELEASE)
- OV_PRINT(OV_PRINTED " [FAILED] lib ogg (release)")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(LIB_OGG_RELEASE)
-
- FIND_LIBRARY(LIB_OGG_DEBUG libogg PATHS ${PATH_OGG}/win32/lib/${BUILDTYPE_PATH_DEBUG} NO_DEFAULT_PATH)
- IF(LIB_OGG_DEBUG)
- OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_OGG_DEBUG} (debug)")
- # INSTALL(DIRECTORY "${PATH_OGG}/win32/bin/${BUILDTYPE_PATH_DEBUG}/" DESTINATION "${DIST_BINDIR}/" CONFIGURATIONS Debug)
- ELSE(LIB_OGG_DEBUG)
- OV_PRINT(OV_PRINTED " [FAILED] lib ogg (debug)")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(LIB_OGG_DEBUG)
- ELSE(PATH_OGG)
- OV_PRINT(OV_PRINTED " -- FAILED to find OGG")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(PATH_OGG)
-
- IF(PATH_VORBIS)
- FIND_LIBRARY(LIB_VORBIS_RELEASE libvorbis PATHS ${PATH_VORBIS}/win32/lib/${BUILDTYPE_PATH_RELEASE} NO_DEFAULT_PATH)
- IF(LIB_VORBIS_RELEASE)
- OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VORBIS_RELEASE} (release)")
- INSTALL(FILES "${PATH_VORBIS}/win32/bin/${BUILDTYPE_PATH_RELEASE}/libvorbis.dll" DESTINATION "${DIST_BINDIR}") # CONFIGURATIONS Release)
- ELSE(LIB_VORBIS_RELEASE)
- OV_PRINT(OV_PRINTED " [FAILED] lib vorbis (release)")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(LIB_VORBIS_RELEASE)
-
- FIND_LIBRARY(LIB_VORBIS_DEBUG libvorbis PATHS ${PATH_VORBIS}/win32/lib/${BUILDTYPE_PATH_DEBUG} NO_DEFAULT_PATH)
- IF(LIB_VORBIS_DEBUG)
- OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VORBIS_DEBUG} (debug)")
- # INSTALL(FILES "${PATH_VORBIS}/win32/bin/${BUILDTYPE_PATH_DEBUG}/libvorbis.dll" DESTINATION "${DIST_BINDIR}" CONFIGURATIONS Debug)
- ELSE(LIB_VORBIS_DEBUG)
- OV_PRINT(OV_PRINTED " [FAILED] lib vorbis (debug)")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(LIB_VORBIS_DEBUG)
-
- FIND_LIBRARY(LIB_VORBISFILE_RELEASE libvorbisfile PATHS ${PATH_VORBIS}/win32/lib/${BUILDTYPE_PATH_RELEASE} NO_DEFAULT_PATH)
- IF(LIB_VORBISFILE_RELEASE)
- OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VORBISFILE_RELEASE} (release)")
- INSTALL(FILES "${PATH_VORBIS}/win32/bin/${BUILDTYPE_PATH_RELEASE}/libvorbisfile.dll" DESTINATION "${DIST_BINDIR}")# CONFIGURATIONS Release)
- ELSE(LIB_VORBISFILE_RELEASE)
- OV_PRINT(OV_PRINTED " [FAILED] lib vorbisfile (release)")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(LIB_VORBISFILE_RELEASE)
-
- FIND_LIBRARY(LIB_VORBISFILE_DEBUG libvorbisfile PATHS ${PATH_VORBIS}/win32/lib/${BUILDTYPE_PATH_DEBUG} NO_DEFAULT_PATH)
- IF(LIB_VORBISFILE_DEBUG)
- OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VORBISFILE_DEBUG} (debug)")
- # INSTALL(FILES "${PATH_VORBIS}/win32/bin/${BUILDTYPE_PATH_DEBUG}/libvorbisfile.dll" DESTINATION "${DIST_BINDIR}" CONFIGURATIONS Debug)
- ELSE(LIB_VORBISFILE_DEBUG)
- OV_PRINT(OV_PRINTED " [FAILED] lib vorbisfile (debug)")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(LIB_VORBISFILE_DEBUG)
- ELSE(PATH_VORBIS)
- OV_PRINT(OV_PRINTED " -- FAILED to find VORBIS")
- SET(OPENAL_MISSED_SOMETHING YES)
- ENDIF(PATH_VORBIS)
-
- IF(OPENAL_MISSED_SOMETHING)
- OV_PRINT(OV_PRINTED " FAILED to find everything required by OpenAL")
- ELSE(OPENAL_MISSED_SOMETHING)
- OV_PRINT(OV_PRINTED " Found OpenAL and all its library dependencies...")
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_OPENAL})
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_ALUT})
-
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_OGG_DEBUG} optimized ${LIB_OGG_RELEASE} )
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_VORBIS_DEBUG} optimized ${LIB_VORBIS_RELEASE} )
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_VORBISFILE_DEBUG} optimized ${LIB_VORBISFILE_RELEASE})
-
- INCLUDE_DIRECTORIES(${PATH_OPENAL}/include ${PATH_ALUT}/include ${PATH_OGG}/include ${PATH_VORBIS}/include)
- ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyOpenAL)
- ENDIF(OPENAL_MISSED_SOMETHING)
-
- ENDIF(WIN32)
-
- IF(UNIX)
- INCLUDE("FindThirdPartyPkgConfig")
- pkg_check_modules(ALUT freealut)
-
- IF(ALUT_FOUND)
- OV_PRINT(OV_PRINTED " Found ALUT...")
- INCLUDE_DIRECTORIES(${ALUT_INCLUDE_DIRS})
- ADD_DEFINITIONS(${ALUT_CFLAGS})
- ADD_DEFINITIONS(${ALUT_CFLAGS_OTHERS})
- # LINK_DIRECTORIES(${ALUT_LIBRARY_DIRS})
- FOREACH(ALUT_LIB ${ALUT_LIBRARIES})
- SET(ALUT_LIB1 "ALUT_LIB1-NOTFOUND")
- FIND_LIBRARY(ALUT_LIB1 NAMES ${ALUT_LIB} PATHS ${ALUT_LIBRARY_DIRS} ${ALUT_LIBDIR} NO_DEFAULT_PATH)
- FIND_LIBRARY(ALUT_LIB1 NAMES ${ALUT_LIB})
- IF(ALUT_LIB1)
- OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${ALUT_LIB1}")
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ALUT_LIB1})
- ELSE(ALUT_LIB1)
- OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${ALUT_LIB}")
- ENDIF(ALUT_LIB1)
- ENDFOREACH(ALUT_LIB)
- ELSE(ALUT_FOUND)
- OV_PRINT(OV_PRINTED " FAILED to find ALUT...")
- ENDIF(ALUT_FOUND)
-
- pkg_check_modules(VORBIS vorbisfile)
-
- IF(VORBIS_FOUND)
- OV_PRINT(OV_PRINTED " Found VORBIS...")
- INCLUDE_DIRECTORIES(${VORBIS_INCLUDE_DIRS})
- ADD_DEFINITIONS(${VORBIS_CFLAGS})
- ADD_DEFINITIONS(${VORBIS_CFLAGS_OTHERS})
- # LINK_DIRECTORIES(${VORBIS_LIBRARY_DIRS})
- FOREACH(VORBIS_LIB ${VORBIS_LIBRARIES})
- SET(VORBIS_LIB1 "VORBIS_LIB1-NOTFOUND")
- FIND_LIBRARY(VORBIS_LIB1 NAMES ${VORBIS_LIB} PATHS ${VORBIS_LIBRARY_DIRS} ${VORBIS_LIBDIR} NO_DEFAULT_PATH)
- FIND_LIBRARY(VORBIS_LIB1 NAMES ${VORBIS_LIB})
- IF(VORBIS_LIB1)
- OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${VORBIS_LIB1}")
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${VORBIS_LIB1})
- ELSE(VORBIS_LIB1)
- OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${VORBIS_LIB}")
- ENDIF(VORBIS_LIB1)
- ENDFOREACH(VORBIS_LIB)
- ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyOpenAL)
- ELSE(VORBIS_FOUND)
- OV_PRINT(OV_PRINTED " FAILED to find VORBIS...")
- ENDIF(VORBIS_FOUND)
-
- ENDIF(UNIX)
-
-
-
- SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyOpenAL "Yes")
-
|