openalbridge/CMakeLists.txt
author koda
Mon, 29 Jun 2009 23:03:25 +0000
changeset 2212 6b5da1a2765a
parent 2203 6bd39d75e0dd
child 2213 bd51bbf06033
permissions -rw-r--r--
-openalbridge headers cleaned -static building of lib for non MSVC compilers
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
2212
6b5da1a2765a -openalbridge headers cleaned
koda
parents: 2203
diff changeset
    22
#visualstudio doesn't like static linking, so we're building a shared library just for it
6b5da1a2765a -openalbridge headers cleaned
koda
parents: 2203
diff changeset
    23
if(MSVC)
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
2212
6b5da1a2765a -openalbridge headers cleaned
koda
parents: 2203
diff changeset
    26
		openalwrap.h loaders.h endianness.h wrappers.h winstdint.h globals.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)
2212
6b5da1a2765a -openalbridge headers cleaned
koda
parents: 2203
diff changeset
    35
endif(MSVC)
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)