← Back to team overview

cairo-dock-team team mailing list archive

[Merge] lp:~cairo-dock-team/cairo-dock-plug-ins/valac into lp:cairo-dock-plug-ins

 

Matthieu Baerts has proposed merging lp:~cairo-dock-team/cairo-dock-plug-ins/valac into lp:cairo-dock-plug-ins.

Requested reviews:
  Fabounet (fabounet03)

For more details, see:
https://code.launchpad.net/~cairo-dock-team/cairo-dock-plug-ins/valac/+merge/50084

=> Dbus/interface/vala: now, Valac is not used if he is available except if we add this flag '-DWITH_VALA=yes' to produce vala files.

@fabounet: if you want to merge it, don't forget --pull option ;) : bzr merge --pull lp:~cairo-dock-team/cairo-dock-plug-ins/valac
-- 
https://code.launchpad.net/~cairo-dock-team/cairo-dock-plug-ins/valac/+merge/50084
Your team Cairo-Dock Team is subscribed to branch lp:cairo-dock-plug-ins.
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt	2011-02-15 14:45:41 +0000
+++ CMakeLists.txt	2011-02-17 01:13:14 +0000
@@ -214,35 +214,35 @@
 	endif()
 endif()
 
+set (with_vala "yes")
+set (with_valac "no")
 find_program (VALA_EXECUTABLE valac)
-if ("${VALA_EXECUTABLE}" STREQUAL "" OR  NOT EXISTS ${VALA_EXECUTABLE})
-	message (STATUS "Could not find Vala compiler, won't build Vala interface.")
+if ("${WITH_VALA}" STREQUAL "no")
 	set (with_vala "no")
-else()
+elseif ("${WITH_VALA}" STREQUAL "yes" AND NOT "${VALA_EXECUTABLE}" STREQUAL "")
 	execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
 		OUTPUT_VARIABLE "VALA_VERSION")
-    string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
-    string(STRIP ${VALA_VERSION} "VALA_VERSION")
-    message (STATUS "VALA_VERSION: ${VALA_VERSION}")
-    
-    STRING (REGEX REPLACE "\\..*" "" VALA_MAJOR "${VALA_VERSION}")
+	string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
+	string(STRIP ${VALA_VERSION} "VALA_VERSION")
+	message (STATUS "VALA_VERSION: ${VALA_VERSION}")
+
+	STRING (REGEX REPLACE "\\..*" "" VALA_MAJOR "${VALA_VERSION}")
 	message (STATUS "VALA_MAJOR : ${VALA_MAJOR}")
 	
 	STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" VALA_MINOR "${VALA_VERSION}")  # 0.1.7 => 1.7
 	STRING (REGEX REPLACE "\\.[0-9]*" "" VALA_MINOR "${VALA_MINOR}")
 	message (STATUS "VALA_MINOR : ${VALA_MINOR}")
-	
+
 	STRING (REGEX REPLACE ".*\\." "" VALA_NANO "${VALA_VERSION}")
 	STRING (REGEX REPLACE "-.*" "" VALA_NANO "${VALA_NANO}")
 	message (STATUS "VALA_NANO  : ${VALA_NANO}")
-	
+
 	if (${VALA_MAJOR} GREATER 0 OR ${VALA_MINOR} GREATER 9)  # vala > 0.10
 		message (STATUS "Vala compiler ok.")
-		set (VALA_FOUND "TRUE")
-		set (with_vala "yes")
+		set (VALAC_FOUND "TRUE")
+		set (with_valac "yes")
 	else()
 		message (STATUS "Vala compiler too old (0.10 required), won't build Vala interface.")
-		set (with_vala "no")
 	endif()
 endif()
 
@@ -869,3 +869,4 @@
 message (STATUS " - with Ruby interface:            ${with_ruby}")
 message (STATUS " - with Mono interface:            ${with_mono}")
 message (STATUS " - with Vala interface:            ${with_vala}")
+message (STATUS " - with Vala Translator (valac) :  ${with_valac}")

=== modified file 'Dbus/interfaces/vala/CMakeLists.txt'
--- Dbus/interfaces/vala/CMakeLists.txt	2011-01-18 19:23:25 +0000
+++ Dbus/interfaces/vala/CMakeLists.txt	2011-02-17 01:13:14 +0000
@@ -1,7 +1,8 @@
 
 ########### install files ###############
 
-if ("${VALA_FOUND}" STREQUAL "TRUE")
+# if we want to produce new .c, .h, .vapi, .deps:
+if ("${VALAC_FOUND}" STREQUAL "TRUE")
 	# first, precompile the Vala code into C code.
 	set (CDAPPLET "CDApplet")
 	execute_process(COMMAND
@@ -12,35 +13,13 @@
 		-o ${CDAPPLET}.c
 		${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.vala)
 	# it seems that valac can only produce the output into the current directory.
-	execute_process(COMMAND mv ${CDAPPLET}.c ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.c)
+	execute_process(COMMAND mv ${CDAPPLET}.c ${CMAKE_CURRENT_SOURCE_DIR}/src/${CDAPPLET}.c)
 	
 	# valac is a bad boy, it messes up the signal names.
 	execute_process(COMMAND
-		sed -i "s/OnClick/on_click/g; s/OnMiddleClick/on_middle_click/g; s/OnScroll/on_scroll/g; s/OnBuildMenu/on_build_menu/g; s/OnMenuSelect/on_menu_select/g; s/OnDropData/on_drop_data/g; s/OnAnswerDialog/on_answer_dialog/g; s/OnAnswer/on_answer/g; s/OnShortkey/on_shortkey/g; s/OnChangeFocus/on_change_focus/g; s/OnReloadModule/on_reload_module/g; s/OnStopModule/on_stop_module/g" ${CMAKE_CURRENT_BINARY_DIR}/CDApplet.c)
-	
-	# now, compile it as any normal C lib.
-	add_library (${CDAPPLET} SHARED ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.c)
-	add_definitions (-fPIC)
-	
-	pkg_check_modules ("CDAPPLET_DEPS" "gobject-2.0" "gio-2.0")
-	
-	include_directories (
-		${CDAPPLET_DEPS_INCLUDE_DIRS})
-	
-	link_directories (
-		${CDAPPLET_DEPS_LIBRARY_DIRS})
-	
-	target_link_libraries (${CDAPPLET}
-		${CDAPPLET_DEPS_LIBRARIES})
-	
-	# .so goes with other libs (to be found on runtime)
-	install (TARGETS ${CDAPPLET} DESTINATION "${libdir}")
-	# .h goes in the dbus data dir
-	install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.h DESTINATION "${dbusdatadir}")
-	# .pc goes with others
-	configure_file (${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.pc)
-	install (FILES  ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.pc DESTINATION ${libdir}/pkgconfig)
-	# and .vapi with other vapi files.
+		sed -i "s/OnClick/on_click/g; s/OnMiddleClick/on_middle_click/g; s/OnScroll/on_scroll/g; s/OnBuildMenu/on_build_menu/g; s/OnMenuSelect/on_menu_select/g; s/OnDropData/on_drop_data/g; s/OnAnswerDialog/on_answer_dialog/g; s/OnAnswer/on_answer/g; s/OnShortkey/on_shortkey/g; s/OnChangeFocus/on_change_focus/g; s/OnReloadModule/on_reload_module/g; s/OnStopModule/on_stop_module/g" ${CMAKE_CURRENT_SOURCE_DIR}/src/CDApplet.c)
+
+	# .vapi install dir:
 	# GET_FILENAME_COMPONENT(VALA_EXECUTABLE_PATH ${VALA_EXECUTABLE} PATH) # -> /usr/bin
 	# GET_FILENAME_COMPONENT(VALA_SHARE_PATH ${VALA_EXECUTABLE_PATH}/../share ABSOLUTE)  # -> /usr/share
 	set (VALA_SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share")
@@ -57,6 +36,13 @@
 	if (NOT EXISTS ${VALA_VAPI_PATH})
 		get_filename_component(VALA_VAPI_PATH ${VALA_SHARE_PATH}/vala/vapi ABSOLUTE)
 	endif()
-	install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.vapi DESTINATION ${VALA_VAPI_PATH})
-	install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.deps DESTINATION ${VALA_VAPI_PATH})
+	configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ValaInstall.cmake.in ${CMAKE_CURRENT_SOURCE_DIR}/src/ValaInstall.cmake)
+endif()
+
+# now we can install vala files.
+if ("${with_vala}" STREQUAL "yes")
+	add_subdirectory(vala)
+	# .pc goes with others
+	configure_file (${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.pc)
+	install (FILES  ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.pc DESTINATION ${libdir}/pkgconfig)
 endif()

=== added file 'Dbus/interfaces/vala/ValaInstall.cmake.in'
--- Dbus/interfaces/vala/ValaInstall.cmake.in	1970-01-01 00:00:00 +0000
+++ Dbus/interfaces/vala/ValaInstall.cmake.in	2011-02-17 01:13:14 +0000
@@ -0,0 +1,2 @@
+install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/@CDAPPLET@.vapi DESTINATION @VALA_VAPI_PATH@)
+install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/@CDAPPLET@.deps DESTINATION @VALA_VAPI_PATH@)

=== added directory 'Dbus/interfaces/vala/src'
=== added file 'Dbus/interfaces/vala/src/CMakeLists.txt'
--- Dbus/interfaces/vala/src/CMakeLists.txt	1970-01-01 00:00:00 +0000
+++ Dbus/interfaces/vala/src/CMakeLists.txt	2011-02-17 01:13:14 +0000
@@ -0,0 +1,24 @@
+# now, compile it as any normal C lib.
+add_library (${CDAPPLET} SHARED ${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.c)
+add_definitions (-fPIC)
+
+pkg_check_modules ("CDAPPLET_DEPS" "gobject-2.0" "gio-2.0")
+
+include_directories (
+	${CDAPPLET_DEPS_INCLUDE_DIRS})
+
+link_directories (
+	${CDAPPLET_DEPS_LIBRARY_DIRS})
+
+target_link_libraries (${CDAPPLET}
+	${CDAPPLET_DEPS_LIBRARIES})
+
+
+# .so goes with other libs (to be found on runtime)
+install (TARGETS ${CDAPPLET} DESTINATION "${libdir}")
+# .h goes in the dbus data dir
+install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.h DESTINATION "${dbusdatadir}")
+
+# custom target to use ValaInstall.cmake (install dirs can change)
+add_custom_target(vapi_install ALL)
+set_target_properties(vapi_install PROPERTIES POST_INSTALL_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/ValaInstall.cmake)


Follow ups