openalbridge/CMakeLists.txt
author koda
Mon, 06 Jul 2009 22:46:33 +0000
changeset 2230 d6963f72d21a
parent 2216 82e7da49c26a
child 2231 bf6009da227d
permissions -rw-r--r--
once again, trying to restore windows compatibility from nemo's experiments
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 flag configuration for build type
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
     7
set(CMAKE_C_FLAGS "-Wall -pipe")
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
     8
set(CMAKE_C_FLAGS_RELEASE "-w -O2 -fomit-frame-pointer")
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
     9
set(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    10
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
    11
#set destination directory for library
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    12
set(LIBRARY_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH})
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
    13
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
    14
#list of source files for libraries
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    15
set(openal_src
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    16
	openalwrap.c loaders.c endianness.c wrappers.c
2191
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
    17
)
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
    18
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    19
#build a static library for human systems
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    20
set (build_type STATIC)
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    21
2230
d6963f72d21a once again, trying to restore windows compatibility from nemo's experiments
koda
parents: 2216
diff changeset
    22
#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
    23
if(WIN32)
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
    24
#workaround for visualstudio (wants headers in the source list)
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    25
	set(openal_src
2216
82e7da49c26a -Smaxx' patch: checks for initialized openal + disables sound options if openal init fails
koda
parents: 2213
diff changeset
    26
		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
    27
	)
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    28
#deps for the shared library
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    29
	link_libraries(${OPENAL_LIBRARY})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    30
	link_libraries(${OGG_LIBRARY})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    31
	link_libraries(${VORBIS_LIBRARY})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    32
	link_libraries(${VORBISFILE_LIBRARY})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    33
#build a shared library
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    34
	set (build_type SHARED)
2230
d6963f72d21a once again, trying to restore windows compatibility from nemo's experiments
koda
parents: 2216
diff changeset
    35
endif()
2191
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents:
diff changeset
    36
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
    37
#compiles and links actual library
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    38
add_library (openalbridge ${build_type} ${openal_src})
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    39
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    40
if(WIN32)
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    41
	SET_TARGET_PROPERTIES(openalbridge PROPERTIES LINK_FLAGS /DEF:openalbridge.def)
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    42
#install it in the executable directory
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    43
	install(TARGETS openalbridge DESTINATION bin)
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2194
diff changeset
    44
endif(WIN32)