1 find_package(OpenAL REQUIRED) |
1 find_package(OpenAL REQUIRED) |
|
2 find_package(OggVorbis REQUIRED) |
2 include_directories(${OPENAL_INCLUDE_DIR}) |
3 include_directories(${OPENAL_INCLUDE_DIR}) |
|
4 include_directories(${OGGVORBIS_INCLUDE_DIRS}) |
3 |
5 |
4 #add_library (openalbridge openalwrap.c loaders.c endianness.c wrappers.c) |
6 |
5 exec_program(${CMAKE_C_COMPILER} |
7 set(LIBRARY_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH}) |
6 ARGS ${arch_to_build} -o ${EXECUTABLE_OUTPUT_PATH}/loaders.o -c ${hedgewars_SOURCE_DIR}/openalbridge/loaders.c -I ${OPENAL_INCLUDE_DIR} -O2 -w |
8 set(openal_src |
7 OUTPUT_VARIABLE noout |
9 openalwrap.c loaders.c endianness.c wrappers.c |
8 ) |
|
9 exec_program(${CMAKE_C_COMPILER} |
|
10 ARGS ${arch_to_build} -o ${EXECUTABLE_OUTPUT_PATH}/endianness.o -c ${hedgewars_SOURCE_DIR}/openalbridge/endianness.c -I ${OPENAL_INCLUDE_DIR} -O2 -w |
|
11 OUTPUT_VARIABLE noout |
|
12 ) |
10 ) |
13 |
11 |
14 exec_program(${CMAKE_C_COMPILER} |
12 #build a static library for human systems |
15 ARGS ${arch_to_build} -o ${EXECUTABLE_OUTPUT_PATH}/openalwrap.o -c ${hedgewars_SOURCE_DIR}/openalbridge/openalwrap.c -I ${OPENAL_INCLUDE_DIR} -O2 -w |
13 set (build_type STATIC) |
16 OUTPUT_VARIABLE noout |
|
17 ) |
|
18 |
14 |
19 exec_program(${CMAKE_C_COMPILER} |
|
20 ARGS ${arch_to_build} -o ${EXECUTABLE_OUTPUT_PATH}/wrappers.o -c ${hedgewars_SOURCE_DIR}/openalbridge/wrappers.c -I ${OPENAL_INCLUDE_DIR} -O2 -w |
|
21 OUTPUT_VARIABLE noout |
|
22 ) |
|
23 exec_program(${CMAKE_AR} |
|
24 ARGS -rvu ${EXECUTABLE_OUTPUT_PATH}/libopenalbridge.a ${EXECUTABLE_OUTPUT_PATH}/loaders.o ${EXECUTABLE_OUTPUT_PATH}/endianness.o ${EXECUTABLE_OUTPUT_PATH}/openalwrap.o ${EXECUTABLE_OUTPUT_PATH}/wrappers.o |
|
25 OUTPUT_VARIABLE noout |
|
26 ) |
|
27 exec_program(${CMAKE_RANLIB} |
|
28 ARGS ${EXECUTABLE_OUTPUT_PATH}/libopenalbridge.a |
|
29 OUTPUT_VARIABLE noout |
|
30 ) |
|
31 |
15 |
|
16 if(WIN32) |
|
17 #workaround for visualstudio |
|
18 set(openal_src |
|
19 openalwrap.h loaders.h endianness.h wrappers.h winstdint.h ${openal_src} |
|
20 ) |
|
21 #deps for the shared library |
|
22 link_libraries(${OPENAL_LIBRARY}) |
|
23 link_libraries(${OGG_LIBRARY}) |
|
24 link_libraries(${VORBIS_LIBRARY}) |
|
25 link_libraries(${VORBISFILE_LIBRARY}) |
|
26 #build a shared library |
|
27 set (build_type SHARED) |
|
28 endif(WIN32) |
|
29 |
|
30 add_library (openalbridge ${build_type} ${openal_src}) |
|
31 |
|
32 if(WIN32) |
|
33 SET_TARGET_PROPERTIES(openalbridge PROPERTIES LINK_FLAGS /DEF:openalbridge.def) |
|
34 #install it in the executable directory |
|
35 install(TARGETS openalbridge DESTINATION bin) |
|
36 endif(WIN32) |