diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4311101fdf8c73737d36d6784fe47d50dbf12312..65446420a7935cb190add13f976a41969e24419b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,8 @@ set(LINPHONE_MICRO_VERSION "0")
 set(LINPHONE_VERSION "${LINPHONE_MAJOR_VERSION}.${LINPHONE_MINOR_VERSION}.${LINPHONE_MICRO_VERSION}")
 set(LINPHONE_SO_VERSION "6")
 
+set(LINPHONE_ALL_LANGS "cs de es fr he hu it ja nb_NO nl pl pt_BR ru sr sv zh_CN zh_TW")
+
 
 include(CMakeDependentOption)
 
@@ -88,6 +90,7 @@ if(MSVC)
 endif()
 
 
+set(GETTEXT_PACKAGE "linphone")
 if(ENABLE_RELATIVE_PREFIX)
 	set(LINPHONE_DATA_DIR ".")
 else()
@@ -104,6 +107,10 @@ add_definitions(-DHAVE_CONFIG_H)
 
 add_subdirectory(coreapi)
 add_subdirectory(share)
+if(ENABLE_GTK_UI)
+	add_subdirectory(gtk)
+	add_subdirectory(pixmaps)
+endif()
 if(ENABLE_TOOLS)
 	add_subdirectory(tools)
 endif()
diff --git a/config.h.cmake b/config.h.cmake
index f348cf3f9a0bf7fb88bfac0c3e149bc1e1ecd0e0..9756ebbd7485ea6b86ac364369ebda80dbe9f1f0 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -26,7 +26,12 @@
 #define LINPHONE_VERSION "${LINPHONE_VERSION}"
 #define LIBLINPHONE_VERSION "${LINPHONE_VERSION}"
 
+#define LINPHONE_ALL_LANGS "${LINPHONE_ALL_LANGS}"
+
 #define LINPHONE_PLUGINS_DIR "${LINPHONE_PLUGINS_DIR}"
+
+#define GETTEXT_PACKAGE "${GETTEXT_PACKAGE}"
+
 #define PACKAGE_LOCALE_DIR "${PACKAGE_LOCALE_DIR}"
 #define PACKAGE_DATA_DIR "${PACKAGE_DATA_DIR}"
 #define PACKAGE_SOUND_DIR "${PACKAGE_SOUND_DIR}"
diff --git a/coreapi/CMakeLists.txt b/coreapi/CMakeLists.txt
index 2369501c7d0dadfbf75fa887e06e5fcd6eaf16d4..6efc80e6026159d27f7b81ca3be838abe0c0d338 100644
--- a/coreapi/CMakeLists.txt
+++ b/coreapi/CMakeLists.txt
@@ -31,6 +31,7 @@ set(SOURCE_FILES
 	authentication.c
 	bellesip_sal/sal_address_impl.c
 	bellesip_sal/sal_impl.c
+	bellesip_sal/sal_impl.h
 	bellesip_sal/sal_op_call.c
 	bellesip_sal/sal_op_call_transfer.c
 	bellesip_sal/sal_op_events.c
@@ -46,43 +47,44 @@ set(SOURCE_FILES
 	call_params.c
 	chat.c
 	conference.c
+	contactprovider.c
 	content.c
+	dict.c
 	ec-calibrator.c
 	enum.c
+	enum.h
 	event.c
+	event.h
 	friend.c
 	info.c
+	ldap/ldapprovider.c
 	linphonecall.c
 	linphonecore.c
+	linphonecore.h
+	linphonecore_utils.h
+	linphonefriend.h
 	linphone_tunnel_config.c
+	linphone_tunnel.h
 	lpconfig.c
+	lpconfig.h
 	lsd.c
 	message_storage.c
 	misc.c
 	offeranswer.c
+	offeranswer.h
 	player.c
 	presence.c
+	private.h
 	proxy.c
 	quality_reporting.c
 	remote_provisioning.c
 	sal.c
 	siplogin.c
 	sipsetup.c
-	xml.c
-	xml2lpc.c
-	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
+	xml2lpc.c
 	xml2lpc.h
-)
+	xml.c)
 if(ENABLE_TUNNEL)
 	list(APPEND SOURCE_FILES
 		linphone_tunnel.cc
diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0092be84a99be43b01d855933d19a33763abd514
--- /dev/null
+++ b/gtk/CMakeLists.txt
@@ -0,0 +1,82 @@
+############################################################################
+# CMakeLists.txt
+# Copyright (C) 2014  Belledonne Communications, Grenoble France
+#
+############################################################################
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+############################################################################
+
+find_package(GTK2 2.10 REQUIRED gtk)
+
+set(UI_FILES
+	about.ui
+	audio_assistant.ui
+	buddylookup.ui
+	call_logs.ui
+	call_statistics.ui
+	config-uri.ui
+	contact.ui
+	dscp_settings.ui
+	keypad.ui
+	ldap.ui
+	log.ui
+	main.ui
+	parameters.ui
+	password.ui
+	provisioning-fetch.ui
+	sip_account.ui
+	tunnel_config.ui
+	waiting.ui
+)
+
+set(PIXMAPS stock_people.png)
+
+set(SOURCE_FILES
+	audio_assistant.c
+	buddylookup.c
+	calllogs.c
+	chat.c
+	conference.c
+	config-fetching.c
+	friendlist.c
+	incall_view.c
+	logging.c
+	loginframe.c
+	main.c
+	propertybox.c
+	singleinstance.c
+	support.c
+	update.c
+	utils.c
+	videowindow.c
+)
+
+add_executable(linphone-gtk ${SOURCE_FILES})
+target_include_directories(linphone-gtk PUBLIC ${GTK2_INCLUDE_DIRS})
+target_link_libraries(linphone-gtk linphone ${GTK2_LIBRARIES})
+
+install(TARGETS linphone-gtk
+	RUNTIME DESTINATION bin
+	LIBRARY DESTINATION lib
+	ARCHIVE DESTINATION lib
+	PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+)
+
+install(FILES ${UI_FILES} ${PIXMAPS}
+	DESTINATION ${PACKAGE_DATA_DIR}/linphone
+	PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+)
diff --git a/pixmaps/CMakeLists.txt b/pixmaps/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..61dacfe4643df34feb3ebb5e747753099a3b144a
--- /dev/null
+++ b/pixmaps/CMakeLists.txt
@@ -0,0 +1,64 @@
+############################################################################
+# CMakeLists.txt
+# Copyright (C) 2014  Belledonne Communications, Grenoble France
+#
+############################################################################
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+############################################################################
+
+set(PIXMAPS
+	active_chat.png
+	addcall-green.png
+	call.png
+	call_status_incoming.png
+	call_status_outgoing.png
+	chat_message_delivered.png
+	chat_message_inprogress.png
+	chat_message_not_delivered.png
+	chat.png
+	composing_active_chat.png
+	composing_chat.png
+	contact-orange.png
+	contact_starred.png
+	contact_unstarred.png
+	dialer-orange.png
+	dialer.png
+	history-orange.png
+	hold_off.png
+	hold_on.png
+	linphone-banner.png
+	linphone.icns
+	linphone.png
+	mic_active.png
+	mic_muted.png
+	notok.png
+	ok.png
+	speaker.png
+	startcall-green.png
+	startcall-small.png
+	status-green.png
+	status-offline.png
+	status-orange.png
+	status-red.png
+	stopcall-red.png
+	stopcall-small.png
+)
+
+install(FILES ${PIXMAPS}
+	DESTINATION ${PACKAGE_DATA_DIR}/pixmaps/linphone
+	PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+)