linphone-iphone/wrappers/cpp/c_make_lists.mustache.in
2017-02-02 11:45:44 +01:00

74 lines
2 KiB
Text

cmake_minimum_required(VERSION 3.0)
project(LinphoneCxx VERSION @LINPHONE_VERSION@)
include(GNUInstallDirs)
find_package(BelleSIP REQUIRED)
set(CMAKE_CXX_STANDARD 11)
set(GENERATED_SOURCES
{{#classes}}
src/{{{source}}}
{{/classes}}
)
set(SOURCES
${GENERATED_SOURCES}
src/object.cc
)
set(GENERATED_HEADERS
{{#classes}}
include/{{{header}}}
{{/classes}}
{{#interfaces}}
include/{{{header}}}
{{/interfaces}}
include/linphone.hh
include/enums.hh
)
set(HEADERS
${GENERATED_HEADERS}
${CMAKE_CURRENT_SOURCE_DIR}/include/object.hh
)
add_definitions("-DLINPHONECXX_EXPORTS")
add_library(linphone++ SHARED ${SOURCES})
if(WIN32)
target_link_libraries(linphone++ PRIVATE @PROJECT_BINARY_DIR@/coreapi/${CMAKE_BUILD_TYPE}/linphone.lib ${BELLESIP_LIBRARIES})
elseif(APPLE)
target_link_libraries(linphone++ PRIVATE @PROJECT_BINARY_DIR@/coreapi/liblinphone.@LINPHONE_SO_VERSION@.dylib ${BELLESIP_LIBRARIES})
else()
target_link_libraries(linphone++ PRIVATE @PROJECT_BINARY_DIR@/coreapi/liblinphone.so.@LINPHONE_SO_VERSION@ ${BELLESIP_LIBRARIES})
endif()
target_include_directories(linphone++
PUBLIC include
PRIVATE @PROJECT_SOURCE_DIR@/include
PRIVATE @BELLESIP_INCLUDE_DIRS@
)
set_target_properties(linphone++
PROPERTIES SOVERSION @LINPHONE_SO_VERSION@
)
install(TARGETS linphone++ EXPORT LinphoneCxxTargets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
install(FILES ${HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/linphone++
)
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/LinphoneCxxVersion.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
export(EXPORT LinphoneCxxTargets
FILE "${CMAKE_CURRENT_BINARY_DIR}/LinphoneCxxTargets.cmake"
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LinphoneCxxVersion.cmake
${CMAKE_CURRENT_BINARY_DIR}/LinphoneCxxTargets.cmake
${CMAKE_CURRENT_SOURCE_DIR}/LinphoneCxxConfig.cmake
DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake
)