1 cmake_minimum_required(VERSION 2.6)
4 set(CMAKE_MODULE_PATH "${alure_SOURCE_DIR}/cmake")
6 include(CheckCXXCompilerFlag)
8 find_package(OpenAL REQUIRED)
10 include_directories(${alure_SOURCE_DIR}/include/AL ${alure_BINARY_DIR} ${OPENAL_INCLUDE_DIR})
12 check_cxx_compiler_flag(-std=c++11 HAVE_STD_CXX11)
14 set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
17 check_cxx_compiler_flag(-Wall HAVE_WALL_SWITCH)
19 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
21 check_cxx_compiler_flag(-Wextra HAVE_WEXTRA_SWITCH)
22 if(HAVE_WEXTRA_SWITCH)
23 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra")
26 set(alure_srcs src/devicemanager.cpp
32 set(alure_libs ${OPENAL_LIBRARY})
36 include_directories(${SNDFILE_INCLUDE_DIRS})
37 set(alure_libs ${alure_libs} ${SNDFILE_LIBRARIES})
38 set(alure_srcs ${alure_srcs} src/decoders/sndfile1.cpp)
39 set(HAVE_LIBSNDFILE 1)
44 "${alure_SOURCE_DIR}/config.h.in"
45 "${alure_BINARY_DIR}/config.h")
48 add_library(alure2 SHARED ${alure_srcs})
49 target_link_libraries(alure2 ${alure_libs})
51 add_library(alure2_s STATIC ${alure_srcs})
52 set_property(TARGET alure2_s APPEND PROPERTY COMPILE_DEFINITIONS ALURE_STATIC_LIB)
55 add_executable(alure-enum examples/alure-enum.cpp)
56 target_link_libraries(alure-enum alure2)
58 add_executable(alure-play examples/alure-play.cpp)
59 target_link_libraries(alure-play alure2)
61 add_executable(alure-stream examples/alure-stream.cpp)
62 target_link_libraries(alure-stream alure2)
65 if(NOT DEFINED LIB_SUFFIX)
69 install(TARGETS alure2 alure2_s
70 RUNTIME DESTINATION bin
71 LIBRARY DESTINATION "lib${LIB_SUFFIX}"
72 ARCHIVE DESTINATION "lib${LIB_SUFFIX}"