CMakeLists.txt 3.31 KB
Newer Older
Ghislain MARY's avatar
Ghislain MARY committed
1 2 3 4 5 6
find_library(LIBORTP NAMES ortp)
find_library(LIBMEDIASTREAMER_BASE NAMES mediastreamer_base)
find_library(LIBMEDIASTREAMER_VOIP NAMES mediastreamer_voip)
find_library(LIBBELLESIP NAMES bellesip)
find_library(LIBXML2 NAMES xml2)

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 36 37 38 39 40 41
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
)

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 75 76
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
77
	quality_reporting.c
Ghislain MARY's avatar
Ghislain MARY committed
78
	remote_provisioning.c
79 80 81 82
	sal.c
	siplogin.c
	sipsetup.c
	#TunnelManager.cc
Ghislain MARY's avatar
Ghislain MARY committed
83
	xml.c
Ghislain MARY's avatar
Ghislain MARY committed
84
	xml2lpc.c
85 86 87 88 89 90 91 92 93 94 95
	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
Ghislain MARY's avatar
Ghislain MARY committed
96
	xml2lpc.h
97 98 99 100 101 102 103 104 105 106 107 108 109
)

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

110 111 112 113
if(LINPHONE_ENABLE_VIDEO)
	add_definitions(-DVIDEO_ENABLED)
endif(LINPHONE_ENABLE_VIDEO)

114 115 116
if(WIN32)
add_definitions(
	-DWINDOW_NATIVE
117
	/FIliblinphone_gitversion.h
118 119 120 121
)

set(LIBS ws2_32)
endif(WIN32)
Ghislain MARY's avatar
Ghislain MARY committed
122
set(LIBS ${LIBS} ${LIBORTP} ${LIBMEDIASTREAMER_BASE} ${LIBMEDIASTREAMER_VOIP} ${LIBBELLESIP} ${LIBXML2})
123

Ghislain MARY's avatar
Ghislain MARY committed
124
add_library(linphone SHARED ${SOURCE_FILES})
Ghislain MARY's avatar
Ghislain MARY committed
125
set_target_properties(linphone PROPERTIES VERSION 3.7.0 SOVERSION 5)
126

Ghislain MARY's avatar
Ghislain MARY committed
127
target_link_libraries(linphone ${LIBS})
128

Ghislain MARY's avatar
Ghislain MARY committed
129
install(TARGETS linphone
Ghislain MARY's avatar
Ghislain MARY committed
130 131 132 133
    RUNTIME DESTINATION bin
	LIBRARY DESTINATION lib
	ARCHIVE DESTINATION lib
    PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
134 135 136 137 138


file(GLOB HEADER_FILES "*.h")

install(FILES ${HEADER_FILES}
139 140 141 142 143
	DESTINATION include/linphone
	PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
if(WIN32)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
Ghislain MARY's avatar
Ghislain MARY committed
144
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/linphone.pdb
Ghislain MARY's avatar
Ghislain MARY committed
145
	DESTINATION bin
146 147 148 149
	PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
endif()
endif(WIN32)