CMakeLists.txt 3.25 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
find_program(GIT git)

set(GIT_VERSION "unknown")
if(GIT)
	execute_process(
		WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
		COMMAND ${GIT} describe --always
		OUTPUT_VARIABLE GIT_DESCRIBE
		OUTPUT_STRIP_TRAILING_WHITESPACE
	)
	execute_process(
		WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
		COMMAND ${GIT} describe --abbrev=0
		OUTPUT_VARIABLE GIT_TAG
		OUTPUT_STRIP_TRAILING_WHITESPACE
	)
	execute_process(
		WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
		COMMAND ${GIT} rev-parse HEAD
		OUTPUT_VARIABLE GIT_REVISION
		OUTPUT_STRIP_TRAILING_WHITESPACE
	)
	if(GIT_DESCRIBE)
		set(GIT_VERSION ${GIT_DESCRIBE})
	else(GIT_DESCRIBE)
		if(GIT_REVISION)
			set(GIT_VERSION ${GIT_REVISION})
		endif(GIT_REVISION)
	endif(GIT_DESCRIBE)
endif(GIT)
execute_process(
	COMMAND ${CMAKE_COMMAND} -E echo "#define LIBLINPHONE_GIT_VERSION \"${GIT_VERSION}\""
	OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/liblinphone_gitversion.h
)

36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
set(SOURCE_FILES
	address.c
	authentication.c
	bellesip_sal/sal_address_impl.c
	bellesip_sal/sal_impl.c
	bellesip_sal/sal_op_call.c
	bellesip_sal/sal_op_call_transfer.c
	bellesip_sal/sal_op_events.c
	bellesip_sal/sal_op_impl.c
	bellesip_sal/sal_op_info.c
	bellesip_sal/sal_op_message.c
	bellesip_sal/sal_op_presence.c
	bellesip_sal/sal_op_publish.c
	bellesip_sal/sal_op_registration.c
	bellesip_sal/sal_sdp.c
	callbacks.c
	chat.c
	conference.c
	ec-calibrator.c
	enum.c
	event.c
	friend.c
	info.c
	linphonecall.c
	linphonecore.c
	#linphone_tunnel.cc
	linphone_tunnel_stubs.c
	linphone_tunnel_config.c
	lpconfig.c
	lsd.c
	message_storage.c
	misc.c
	offeranswer.c
	presence.c
	proxy.c
	sal.c
	siplogin.c
	sipsetup.c
	#TunnelManager.cc
Ghislain MARY's avatar
Ghislain MARY committed
75
	xml.c
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
	bellesip_sal/sal_impl.h
	enum.h
	event.h
	linphonecore.h
	linphonecore_utils.h
	linphonefriend.h
	linphone_tunnel.h
	lpconfig.h
	offeranswer.h
	private.h
	sipsetup.h
)

add_definitions(
	-D_TRUE_TIME
	-DIN_LINPHONE
	-DUSE_BELLESIP
	#-DTUNNEL_ENABLED
	#-DVIDEO_ENABLED
	-DLINPHONE_PACKAGE_NAME="linphone"
	-DLINPHONE_VERSION="Devel"
	-DLIBLINPHONE_EXPORTS
	-DLINPHONE_PLUGINS_DIR=""
)

101 102 103 104
if(LINPHONE_ENABLE_VIDEO)
	add_definitions(-DVIDEO_ENABLED)
endif(LINPHONE_ENABLE_VIDEO)

105 106 107
if(WIN32)
add_definitions(
	-DWINDOW_NATIVE
108
	/FIliblinphone_gitversion.h
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
)

set(LIBS ws2_32)
endif(WIN32)
set(LIBS ${LIBS} libortp libmediastreamer_base libmediastreamer_voip libbellesip libxml2)

add_library(liblinphone SHARED ${SOURCE_FILES})
set_target_properties(liblinphone PROPERTIES VERSION 3.6.99 SOVERSION 5)

target_link_libraries(liblinphone ${LIBS})

install(TARGETS liblinphone
		COMPONENT COMP_liblinphone
        DESTINATION ${LIB_INSTALL_DIR}
        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

if(USE_INSTALLED_COMPONENTS)
	add_dependencies(liblinphone
		INSTALL_libortp
		INSTALL_libmediastreamer2
		INSTALL_libbellesip
		INSTALL_libxml2)
endif()



file(GLOB HEADER_FILES "*.h")

install(FILES ${HEADER_FILES}
138 139 140 141 142 143 144 145 146 147 148 149 150
	COMPONENT COMP_liblinphone
	DESTINATION include/linphone
	PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
if(WIN32)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/liblinphone.pdb
	COMPONENT COMP_liblinphone
	DESTINATION ${LIB_INSTALL_DIR}
	PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
endif()
endif(WIN32)