1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
# only one of the two targets needs this
REMOVE_DEFINITIONS(-DNO_SOUND)
# Dummy Sound implementaiton
SET(noSoundSources
IAudioChannel
ISound
SoundChannels
NullSound
)
ADD_LIBRARY(no-sound STATIC EXCLUDE_FROM_ALL ${noSoundSources})
set_target_properties(no-sound PROPERTIES COMPILE_FLAGS "-DNO_SOUND")
# Define default sound implementation
if (NO_SOUND)
SetGlobal(sound-impl no-sound)
else (NO_SOUND)
SetGlobal(sound-impl sound)
endif (NO_SOUND)
# Real Sound implementaiton
if (NOT NO_SOUND)
SET(soundSources
${noSoundSources}
ALShared
EFX
EFXfuncs
EFXPresets
AudioChannel
OggStream
Sound
SoundBuffer
SoundItem
SoundSource
VorbisShared
)
FIND_PACKAGE(OpenAL REQUIRED)
INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIR})
FIND_PACKAGE(OggVorbis REQUIRED)
FIND_PACKAGE(SDL REQUIRED)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/AL)
ADD_LIBRARY(sound STATIC EXCLUDE_FROM_ALL ${soundSources})
TARGET_LINK_LIBRARIES(sound ${OPENAL_LIBRARY} ${OGG_LIBRARY} ${VORBISFILE_LIBRARY} ${VORBIS_LIBRARY} ${SDL_LIBRARY})
endif (NOT NO_SOUND)
|