Changed: #1251 NeL can't find selected drivers in CMake
This commit is contained in:
parent
6fb06810a5
commit
c503b1859c
5 changed files with 61 additions and 39 deletions
|
@ -86,9 +86,7 @@ NL_SETUP_SNOWBALLS_DEFAULT_OPTIONS()
|
||||||
NL_SETUP_PREFIX_PATHS()
|
NL_SETUP_PREFIX_PATHS()
|
||||||
RYZOM_SETUP_PREFIX_PATHS()
|
RYZOM_SETUP_PREFIX_PATHS()
|
||||||
|
|
||||||
IF(NOT WIN32)
|
NL_CONFIGURE_CHECKS()
|
||||||
NL_CONFIGURE_CHECKS()
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
#Platform specifics
|
#Platform specifics
|
||||||
|
|
|
@ -42,7 +42,33 @@ MACRO(NL_CONFIGURE_CHECKS)
|
||||||
CHECK_FUNCTION_EXISTS("strtoull" HAVE_STRTOULL)
|
CHECK_FUNCTION_EXISTS("strtoull" HAVE_STRTOULL)
|
||||||
CHECK_FUNCTION_EXISTS("statvfs" HAVE_STATVFS)
|
CHECK_FUNCTION_EXISTS("statvfs" HAVE_STATVFS)
|
||||||
CHECK_FUNCTION_EXISTS("stat64" HAVE_STAT64)
|
CHECK_FUNCTION_EXISTS("stat64" HAVE_STAT64)
|
||||||
|
|
||||||
|
# 3D drivers
|
||||||
|
IF(WITH_DRIVER_OPENGL)
|
||||||
|
SET(NL_OPENGL_AVAILABLE 1)
|
||||||
|
ENDIF(WITH_DRIVER_OPENGL)
|
||||||
|
|
||||||
|
IF(WITH_DRIVER_DIRECT3D)
|
||||||
|
SET(NL_DIRECT3D_AVAILABLE 1)
|
||||||
|
ENDIF(WITH_DRIVER_DIRECT3D)
|
||||||
|
|
||||||
|
# sound drivers
|
||||||
|
IF(WITH_DRIVER_FMOD)
|
||||||
|
SET(NL_FMOD_AVAILABLE 1)
|
||||||
|
ENDIF(WITH_DRIVER_FMOD)
|
||||||
|
|
||||||
|
IF(WITH_DRIVER_OPENAL)
|
||||||
|
SET(NL_OPENAL_AVAILABLE 1)
|
||||||
|
ENDIF(WITH_DRIVER_OPENAL)
|
||||||
|
|
||||||
|
IF(WITH_DRIVER_DSOUND)
|
||||||
|
SET(NL_DSOUND_AVAILABLE 1)
|
||||||
|
ENDIF(WITH_DRIVER_DSOUND)
|
||||||
|
|
||||||
|
IF(WITH_DRIVER_XAUDIO2)
|
||||||
|
SET(NL_XAUDIO2_AVAILABLE 1)
|
||||||
|
ENDIF(WITH_DRIVER_XAUDIO2)
|
||||||
|
|
||||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
|
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
|
||||||
|
|
|
@ -34,6 +34,14 @@
|
||||||
#cmakedefine HAVE_STATVFS 1
|
#cmakedefine HAVE_STATVFS 1
|
||||||
#cmakedefine HAVE_STAT64 1
|
#cmakedefine HAVE_STAT64 1
|
||||||
|
|
||||||
|
#cmakedefine NL_OPENGL_AVAILABLE ${NL_OPENGL_AVAILABLE}
|
||||||
|
#cmakedefine NL_DIRECT3D_AVAILABLE ${NL_DIRECT3D_AVAILABLE}
|
||||||
|
|
||||||
|
#cmakedefine NL_FMOD_AVAILABLE ${NL_FMOD_AVAILABLE}
|
||||||
|
#cmakedefine NL_OPENAL_AVAILABLE ${NL_OPENAL_AVAILABLE}
|
||||||
|
#cmakedefine NL_DSOUND_AVAILABLE ${NL_DSOUND_AVAILABLE}
|
||||||
|
#cmakedefine NL_XAUDIO2_AVAILABLE ${NL_XAUDIO2_AVAILABLE}
|
||||||
|
|
||||||
#cmakedefine NL_BIN_PREFIX "${NL_BIN_PREFIX}"
|
#cmakedefine NL_BIN_PREFIX "${NL_BIN_PREFIX}"
|
||||||
#cmakedefine NL_ETC_PREFIX "${NL_ETC_PREFIX}"
|
#cmakedefine NL_ETC_PREFIX "${NL_ETC_PREFIX}"
|
||||||
#cmakedefine NL_SHARE_PREFIX "${NL_SHARE_PREFIX}"
|
#cmakedefine NL_SHARE_PREFIX "${NL_SHARE_PREFIX}"
|
||||||
|
|
|
@ -66,7 +66,8 @@ void alExtInitDevice(ALCdevice *device)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(NL_STATIC) || defined(NL_OS_MAC)
|
// Windows and Mac OS always link to shared OpenAL library
|
||||||
|
#if defined(NL_OS_WINDOWS) || defined(NL_OS_MAC) || !defined(NL_STATIC)
|
||||||
// EFX
|
// EFX
|
||||||
if ((AlExtEfx = (alcIsExtensionPresent(device, "ALC_EXT_EFX") == ALC_TRUE)) == true)
|
if ((AlExtEfx = (alcIsExtensionPresent(device, "ALC_EXT_EFX") == ALC_TRUE)) == true)
|
||||||
{
|
{
|
||||||
|
@ -136,7 +137,7 @@ EAXGetBufferMode eaxGetBufferMode = NULL;
|
||||||
// ALC_EXT_EFX
|
// ALC_EXT_EFX
|
||||||
bool AlExtEfx = false;
|
bool AlExtEfx = false;
|
||||||
// effect objects
|
// effect objects
|
||||||
#if !defined(NL_STATIC) || defined(NL_OS_MAC)
|
#if defined(NL_OS_WINDOWS) || defined(NL_OS_MAC) || !defined(NL_STATIC)
|
||||||
LPALGENEFXOBJECTS alGenEffects = NULL;
|
LPALGENEFXOBJECTS alGenEffects = NULL;
|
||||||
LPALDELETEEFXOBJECTS alDeleteEffects = NULL;
|
LPALDELETEEFXOBJECTS alDeleteEffects = NULL;
|
||||||
LPALISEFXOBJECT alIsEffect = NULL;
|
LPALISEFXOBJECT alIsEffect = NULL;
|
||||||
|
|
|
@ -20,6 +20,17 @@
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
#elif defined(NL_STATIC)
|
||||||
|
// Driver availability for NL_STATIC compilation.
|
||||||
|
# undef NL_FMOD_AVAILABLE
|
||||||
|
# undef NL_OPENAL_AVAILABLE
|
||||||
|
# undef NL_DSOUND_AVAILABLE
|
||||||
|
# undef NL_XAUDIO2_AVAILABLE
|
||||||
|
# if defined( NL_OS_WINDOWS )
|
||||||
|
# define NL_FMOD_AVAILABLE
|
||||||
|
# else
|
||||||
|
# define NL_OPENAL_AVAILABLE
|
||||||
|
# endif
|
||||||
#endif // HAVE_CONFIG_H
|
#endif // HAVE_CONFIG_H
|
||||||
|
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
|
@ -34,28 +45,6 @@
|
||||||
|
|
||||||
using namespace NLMISC;
|
using namespace NLMISC;
|
||||||
|
|
||||||
// Driver availability for NL_STATIC compilation.
|
|
||||||
#if defined( NL_OS_WINDOWS )
|
|
||||||
# define NL_FMOD_AVAILABLE 1
|
|
||||||
# define NL_OPENAL_AVAILABLE 0
|
|
||||||
# define NL_DSOUND_AVAILABLE 0
|
|
||||||
# define NL_XAUDIO2_AVAILABLE 0
|
|
||||||
#elif defined( NL_OS_UNIX )
|
|
||||||
#ifdef NL_STATIC
|
|
||||||
# define NL_FMOD_AVAILABLE 0
|
|
||||||
#else
|
|
||||||
# define NL_FMOD_AVAILABLE 1
|
|
||||||
#endif
|
|
||||||
# define NL_OPENAL_AVAILABLE 1
|
|
||||||
# define NL_DSOUND_AVAILABLE 0
|
|
||||||
# define NL_XAUDIO2_AVAILABLE 0
|
|
||||||
#else
|
|
||||||
# define NL_FMOD_AVAILABLE 0
|
|
||||||
# define NL_OPENAL_AVAILABLE 0
|
|
||||||
# define NL_DSOUND_AVAILABLE 0
|
|
||||||
# define NL_XAUDIO2_AVAILABLE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace NLSOUND
|
namespace NLSOUND
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -72,16 +61,16 @@ const uint32 ISoundDriver::InterfaceVersion = 0x16; // Kaetemi
|
||||||
extern void outputProfile##__soundDriver(std::string &out); \
|
extern void outputProfile##__soundDriver(std::string &out); \
|
||||||
extern ISoundDriver::TDriver getDriverType##__soundDriver();
|
extern ISoundDriver::TDriver getDriverType##__soundDriver();
|
||||||
|
|
||||||
#if NL_FMOD_AVAILABLE
|
#ifdef NL_FMOD_AVAILABLE
|
||||||
NLSOUND_DECLARE_DRIVER(FMod)
|
NLSOUND_DECLARE_DRIVER(FMod)
|
||||||
#endif
|
#endif
|
||||||
#if NL_OPENAL_AVAILABLE
|
#ifdef NL_OPENAL_AVAILABLE
|
||||||
NLSOUND_DECLARE_DRIVER(OpenAl)
|
NLSOUND_DECLARE_DRIVER(OpenAl)
|
||||||
#endif
|
#endif
|
||||||
#if NL_DSOUND_AVAILABLE
|
#ifdef NL_DSOUND_AVAILABLE
|
||||||
NLSOUND_DECLARE_DRIVER(DSound)
|
NLSOUND_DECLARE_DRIVER(DSound)
|
||||||
#endif
|
#endif
|
||||||
#if NL_XAUDIO2_AVAILABLE
|
#ifdef NL_XAUDIO2_AVAILABLE
|
||||||
NLSOUND_DECLARE_DRIVER(XAudio2)
|
NLSOUND_DECLARE_DRIVER(XAudio2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -122,26 +111,26 @@ ISoundDriver *ISoundDriver::createDriver(IStringMapperProvider *stringMapper, TD
|
||||||
switch (driverType)
|
switch (driverType)
|
||||||
{
|
{
|
||||||
// switch between available drivers
|
// switch between available drivers
|
||||||
# if NL_FMOD_AVAILABLE
|
# ifdef NL_FMOD_AVAILABLE
|
||||||
case DriverFMod: result = createISoundDriverInstanceFMod(stringMapper); break;
|
case DriverFMod: result = createISoundDriverInstanceFMod(stringMapper); break;
|
||||||
# endif
|
# endif
|
||||||
# if NL_OPENAL_AVAILABLE
|
# ifdef NL_OPENAL_AVAILABLE
|
||||||
case DriverOpenAl: result = createISoundDriverInstanceOpenAl(stringMapper); break;
|
case DriverOpenAl: result = createISoundDriverInstanceOpenAl(stringMapper); break;
|
||||||
# endif
|
# endif
|
||||||
# if NL_DSOUND_AVAILABLE
|
# ifdef NL_DSOUND_AVAILABLE
|
||||||
case DriverDSound: result = createISoundDriverInstanceDSound(stringMapper); break;
|
case DriverDSound: result = createISoundDriverInstanceDSound(stringMapper); break;
|
||||||
# endif
|
# endif
|
||||||
# if NL_XAUDIO2_AVAILABLE
|
# ifdef NL_XAUDIO2_AVAILABLE
|
||||||
case DriverXAudio2: result = createISoundDriverInstanceXAudio2(stringMapper); break;
|
case DriverXAudio2: result = createISoundDriverInstanceXAudio2(stringMapper); break;
|
||||||
# endif
|
# endif
|
||||||
// auto driver = first available in this order: FMod, OpenAl, XAudio2, DSound
|
// auto driver = first available in this order: FMod, OpenAl, XAudio2, DSound
|
||||||
# if NL_FMOD_AVAILABLE
|
# if defined(NL_FMOD_AVAILABLE)
|
||||||
case DriverAuto: result = createISoundDriverInstanceFMod(stringMapper); break;
|
case DriverAuto: result = createISoundDriverInstanceFMod(stringMapper); break;
|
||||||
# elif NL_OPENAL_AVAILABLE
|
# elif defined(NL_OPENAL_AVAILABLE)
|
||||||
case DriverAuto: result = createISoundDriverInstanceOpenAl(stringMapper); break;
|
case DriverAuto: result = createISoundDriverInstanceOpenAl(stringMapper); break;
|
||||||
# elif NL_XAUDIO2_AVAILABLE
|
# elif defined(NL_XAUDIO2_AVAILABLE)
|
||||||
case DriverAuto: result = createISoundDriverInstanceXAudio2(stringMapper); break;
|
case DriverAuto: result = createISoundDriverInstanceXAudio2(stringMapper); break;
|
||||||
# elif NL_DSOUND_AVAILABLE
|
# elif defined(NL_DSOUND_AVAILABLE)
|
||||||
case DriverAuto: result = createISoundDriverInstanceDSound(stringMapper); break;
|
case DriverAuto: result = createISoundDriverInstanceDSound(stringMapper); break;
|
||||||
# endif
|
# endif
|
||||||
// unavailable driver = FAIL
|
// unavailable driver = FAIL
|
||||||
|
|
Loading…
Reference in a new issue