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 )