openalbridge/CMakeLists.txt
author unc0rr
Thu, 13 Aug 2009 12:45:24 +0000
changeset 2311 977ee15c3c1f
parent 2239 d7b5c65f7544
child 2326 0ddf641fddee
permissions -rw-r--r--
Show player's room status (plays/spectates)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2191
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
     1
find_package(OpenAL REQUIRED)
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
     2
find_package(OggVorbis REQUIRED)
2191
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
     3
include_directories(${OPENAL_INCLUDE_DIR})
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
     4
include_directories(${OGGVORBIS_INCLUDE_DIRS})
2191
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
     5
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
     6
#set destination directory for library
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
     7
set(LIBRARY_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH})
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
     8
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
     9
#list of source files for libraries
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    10
set(openal_src
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    11
	openalwrap.c loaders.c endianness.c wrappers.c
2191
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
    12
)
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
    13
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    14
#build a static library for human systems
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    15
set (build_type STATIC)
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    16
2230
d6963f72d21a once again, trying to restore windows compatibility from nemo's experiments
koda
parents: 2216
diff changeset
    17
#visualstudio and windows in general doesn't like static linking, so we're building the library in shared mode
d6963f72d21a once again, trying to restore windows compatibility from nemo's experiments
koda
parents: 2216
diff changeset
    18
if(WIN32)
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
    19
#workaround for visualstudio (wants headers in the source list)
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    20
	set(openal_src
2216
82e7da49c26a -Smaxx' patch: checks for initialized openal + disables sound options if openal init fails
koda
parents: 2213
diff changeset
    21
		openalwrap.h loaders.h endianness.h wrappers.h globals.h oggvorbis.h ${openal_src}
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    22
	)
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    23
#deps for the shared library
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    24
	link_libraries(${OPENAL_LIBRARY})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    25
	link_libraries(${OGG_LIBRARY})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    26
	link_libraries(${VORBIS_LIBRARY})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    27
	link_libraries(${VORBISFILE_LIBRARY})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    28
#build a shared library
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    29
	set (build_type SHARED)
2230
d6963f72d21a once again, trying to restore windows compatibility from nemo's experiments
koda
parents: 2216
diff changeset
    30
endif()
2191
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
    31
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
    32
#compiles and links actual library
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    33
add_library (openalbridge ${build_type} ${openal_src})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    34
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    35
if(WIN32)
2231
bf6009da227d forgot one line from previous commit
koda
parents: 2230
diff changeset
    36
if(MSVC)
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    37
	SET_TARGET_PROPERTIES(openalbridge PROPERTIES LINK_FLAGS /DEF:openalbridge.def)
2231
bf6009da227d forgot one line from previous commit
koda
parents: 2230
diff changeset
    38
endif(MSVC)
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    39
#install it in the executable directory
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    40
	install(TARGETS openalbridge DESTINATION bin)
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    41
endif(WIN32)