openalbridge/CMakeLists.txt
changeset 2200 8192be6e3aef
parent 2194 1597710c6118
child 2203 6bd39d75e0dd
equal deleted inserted replaced
2199:be265856322f 2200:8192be6e3aef
     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)