cairo-dock-team team mailing list archive
-
cairo-dock-team team
-
Mailing list archive
-
Message #02818
[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