CMakeLists.txt 3.24 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 77 78 79 80
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
81
	xml.c
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
	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
	-DLINPHONE_PACKAGE_NAME="linphone"
	-DLINPHONE_VERSION="Devel"
	-DLIBLINPHONE_EXPORTS
	-DLINPHONE_PLUGINS_DIR=""
)

106 107 108 109
if(LINPHONE_ENABLE_VIDEO)
	add_definitions(-DVIDEO_ENABLED)
endif(LINPHONE_ENABLE_VIDEO)

110 111 112
if(WIN32)
add_definitions(
	-DWINDOW_NATIVE
113
	/FIliblinphone_gitversion.h
114 115 116 117
)

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

Ghislain MARY's avatar
Ghislain MARY committed
120
add_library(linphone SHARED ${SOURCE_FILES})
Ghislain MARY's avatar
Ghislain MARY committed
121
set_target_properties(linphone PROPERTIES VERSION 3.7.0 SOVERSION 5)
122

Ghislain MARY's avatar
Ghislain MARY committed
123
target_link_libraries(linphone ${LIBS})
124

Ghislain MARY's avatar
Ghislain MARY committed
125
install(TARGETS linphone
Ghislain MARY's avatar
Ghislain MARY committed
126 127 128 129
    RUNTIME DESTINATION bin
	LIBRARY DESTINATION lib
	ARCHIVE DESTINATION lib
    PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
130 131 132 133 134


file(GLOB HEADER_FILES "*.h")

install(FILES ${HEADER_FILES}
135 136 137 138 139
	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
140
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/linphone.pdb
Ghislain MARY's avatar
Ghislain MARY committed
141
	DESTINATION bin
142 143 144 145
	PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
endif()
endif(WIN32)