123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- cmake_minimum_required(VERSION 2.8.0)
- project(mumlib)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- if (NOT APPLE)
- add_definitions(-DOPT_TLS_GNUTLS -D_POSIX_C_SOURCE=200112L)
- else()
- LINK_DIRECTORIES(/opt/local/lib) # Include the default MacPorts library directory
- endif()
- INCLUDE(FindPkgConfig)
- find_package(PkgConfig REQUIRED)
- find_package(Boost COMPONENTS system REQUIRED)
- find_package(OpenSSL REQUIRED)
- find_package(Protobuf REQUIRED)
- pkg_check_modules(LOG4CPP "log4cpp")
- pkg_check_modules(OPUS "opus")
- INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
- include_directories(${OPENSSL_INCLUDE_DIR})
- include_directories(${PROTOBUF_INCLUDE_DIRS})
- include_directories(${OPUS_INCLUDE_DIRS})
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
- include_directories(${LOG4CPP_INCLUDE_DIRS})
- include_directories(include)
- set(MUMLIB_PUBLIC_HEADERS include/mumlib.hpp include/mumlib/VarInt.hpp)
- set(MUMLIB_PRIVATE_HEADERS
- include/mumlib/Callback.hpp
- include/mumlib/CryptState.hpp
- include/mumlib/Transport.hpp
- include/mumlib/Audio.hpp
- include/mumlib/enums.hpp
- )
- set(MUMLIB_SRC
- src/mumlib.cpp
- src/Callback.cpp
- src/CryptState.cpp
- src/VarInt.cpp
- src/Transport.cpp
- src/Audio.cpp
- )
- set(SPEEX_LIBRARIES
- speex
- speexdsp
- )
- PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS Mumble.proto)
- add_library(mumlib SHARED ${MUMLIB_SRC} ${MUMLIB_PUBLIC_HEADERS} ${MUMLIB_PRIVATE_HEADERS} ${PROTO_SRCS} ${PROTO_HDRS})
- target_link_libraries(mumlib
- ${SPEEX_LIBRARIES}
- ${PROTOBUF_LIBRARIES}
- ${Boost_LIBRARIES}
- ${OPENSSL_LIBRARIES}
- ${LOG4CPP_LIBRARIES}
- ${OPUS_LIBRARIES})
- add_executable(mumlib_example mumlib_example.cpp)
- target_link_libraries(mumlib_example mumlib)
- install(TARGETS mumlib LIBRARY DESTINATION lib)
|