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

Proposed by Matthieu Baerts
Status: Merged
Merge reported by: Matthieu Baerts
Merged at revision: not available
Proposed branch: lp:~cairo-dock-team/cairo-dock-plug-ins/valac
Merge into: lp:~cairo-dock-team/cairo-dock-plug-ins/plug-ins
Diff against target: 164 lines (+55/-42)
4 files modified
CMakeLists.txt (+14/-13)
Dbus/interfaces/vala/CMakeLists.txt (+15/-29)
Dbus/interfaces/vala/ValaInstall.cmake.in (+2/-0)
Dbus/interfaces/vala/src/CMakeLists.txt (+24/-0)
To merge this branch: bzr merge lp:~cairo-dock-team/cairo-dock-plug-ins/valac
Reviewer Review Type Date Requested Status
Fabounet Pending
Review via email: mp+50084@code.launchpad.net

Description of the change

=> 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

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2011-02-15 14:45:41 +0000
3+++ CMakeLists.txt 2011-02-17 01:13:14 +0000
4@@ -214,35 +214,35 @@
5 endif()
6 endif()
7
8+set (with_vala "yes")
9+set (with_valac "no")
10 find_program (VALA_EXECUTABLE valac)
11-if ("${VALA_EXECUTABLE}" STREQUAL "" OR NOT EXISTS ${VALA_EXECUTABLE})
12- message (STATUS "Could not find Vala compiler, won't build Vala interface.")
13+if ("${WITH_VALA}" STREQUAL "no")
14 set (with_vala "no")
15-else()
16+elseif ("${WITH_VALA}" STREQUAL "yes" AND NOT "${VALA_EXECUTABLE}" STREQUAL "")
17 execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
18 OUTPUT_VARIABLE "VALA_VERSION")
19- string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
20- string(STRIP ${VALA_VERSION} "VALA_VERSION")
21- message (STATUS "VALA_VERSION: ${VALA_VERSION}")
22-
23- STRING (REGEX REPLACE "\\..*" "" VALA_MAJOR "${VALA_VERSION}")
24+ string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
25+ string(STRIP ${VALA_VERSION} "VALA_VERSION")
26+ message (STATUS "VALA_VERSION: ${VALA_VERSION}")
27+
28+ STRING (REGEX REPLACE "\\..*" "" VALA_MAJOR "${VALA_VERSION}")
29 message (STATUS "VALA_MAJOR : ${VALA_MAJOR}")
30
31 STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" VALA_MINOR "${VALA_VERSION}") # 0.1.7 => 1.7
32 STRING (REGEX REPLACE "\\.[0-9]*" "" VALA_MINOR "${VALA_MINOR}")
33 message (STATUS "VALA_MINOR : ${VALA_MINOR}")
34-
35+
36 STRING (REGEX REPLACE ".*\\." "" VALA_NANO "${VALA_VERSION}")
37 STRING (REGEX REPLACE "-.*" "" VALA_NANO "${VALA_NANO}")
38 message (STATUS "VALA_NANO : ${VALA_NANO}")
39-
40+
41 if (${VALA_MAJOR} GREATER 0 OR ${VALA_MINOR} GREATER 9) # vala > 0.10
42 message (STATUS "Vala compiler ok.")
43- set (VALA_FOUND "TRUE")
44- set (with_vala "yes")
45+ set (VALAC_FOUND "TRUE")
46+ set (with_valac "yes")
47 else()
48 message (STATUS "Vala compiler too old (0.10 required), won't build Vala interface.")
49- set (with_vala "no")
50 endif()
51 endif()
52
53@@ -869,3 +869,4 @@
54 message (STATUS " - with Ruby interface: ${with_ruby}")
55 message (STATUS " - with Mono interface: ${with_mono}")
56 message (STATUS " - with Vala interface: ${with_vala}")
57+message (STATUS " - with Vala Translator (valac) : ${with_valac}")
58
59=== modified file 'Dbus/interfaces/vala/CMakeLists.txt'
60--- Dbus/interfaces/vala/CMakeLists.txt 2011-01-18 19:23:25 +0000
61+++ Dbus/interfaces/vala/CMakeLists.txt 2011-02-17 01:13:14 +0000
62@@ -1,7 +1,8 @@
63
64 ########### install files ###############
65
66-if ("${VALA_FOUND}" STREQUAL "TRUE")
67+# if we want to produce new .c, .h, .vapi, .deps:
68+if ("${VALAC_FOUND}" STREQUAL "TRUE")
69 # first, precompile the Vala code into C code.
70 set (CDAPPLET "CDApplet")
71 execute_process(COMMAND
72@@ -12,35 +13,13 @@
73 -o ${CDAPPLET}.c
74 ${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.vala)
75 # it seems that valac can only produce the output into the current directory.
76- execute_process(COMMAND mv ${CDAPPLET}.c ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.c)
77+ execute_process(COMMAND mv ${CDAPPLET}.c ${CMAKE_CURRENT_SOURCE_DIR}/src/${CDAPPLET}.c)
78
79 # valac is a bad boy, it messes up the signal names.
80 execute_process(COMMAND
81- 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)
82-
83- # now, compile it as any normal C lib.
84- add_library (${CDAPPLET} SHARED ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.c)
85- add_definitions (-fPIC)
86-
87- pkg_check_modules ("CDAPPLET_DEPS" "gobject-2.0" "gio-2.0")
88-
89- include_directories (
90- ${CDAPPLET_DEPS_INCLUDE_DIRS})
91-
92- link_directories (
93- ${CDAPPLET_DEPS_LIBRARY_DIRS})
94-
95- target_link_libraries (${CDAPPLET}
96- ${CDAPPLET_DEPS_LIBRARIES})
97-
98- # .so goes with other libs (to be found on runtime)
99- install (TARGETS ${CDAPPLET} DESTINATION "${libdir}")
100- # .h goes in the dbus data dir
101- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.h DESTINATION "${dbusdatadir}")
102- # .pc goes with others
103- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.pc)
104- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.pc DESTINATION ${libdir}/pkgconfig)
105- # and .vapi with other vapi files.
106+ 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)
107+
108+ # .vapi install dir:
109 # GET_FILENAME_COMPONENT(VALA_EXECUTABLE_PATH ${VALA_EXECUTABLE} PATH) # -> /usr/bin
110 # GET_FILENAME_COMPONENT(VALA_SHARE_PATH ${VALA_EXECUTABLE_PATH}/../share ABSOLUTE) # -> /usr/share
111 set (VALA_SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share")
112@@ -57,6 +36,13 @@
113 if (NOT EXISTS ${VALA_VAPI_PATH})
114 get_filename_component(VALA_VAPI_PATH ${VALA_SHARE_PATH}/vala/vapi ABSOLUTE)
115 endif()
116- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.vapi DESTINATION ${VALA_VAPI_PATH})
117- install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.deps DESTINATION ${VALA_VAPI_PATH})
118+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ValaInstall.cmake.in ${CMAKE_CURRENT_SOURCE_DIR}/src/ValaInstall.cmake)
119+endif()
120+
121+# now we can install vala files.
122+if ("${with_vala}" STREQUAL "yes")
123+ add_subdirectory(vala)
124+ # .pc goes with others
125+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.pc)
126+ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${CDAPPLET}.pc DESTINATION ${libdir}/pkgconfig)
127 endif()
128
129=== added file 'Dbus/interfaces/vala/ValaInstall.cmake.in'
130--- Dbus/interfaces/vala/ValaInstall.cmake.in 1970-01-01 00:00:00 +0000
131+++ Dbus/interfaces/vala/ValaInstall.cmake.in 2011-02-17 01:13:14 +0000
132@@ -0,0 +1,2 @@
133+install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/@CDAPPLET@.vapi DESTINATION @VALA_VAPI_PATH@)
134+install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/@CDAPPLET@.deps DESTINATION @VALA_VAPI_PATH@)
135
136=== added directory 'Dbus/interfaces/vala/src'
137=== added file 'Dbus/interfaces/vala/src/CMakeLists.txt'
138--- Dbus/interfaces/vala/src/CMakeLists.txt 1970-01-01 00:00:00 +0000
139+++ Dbus/interfaces/vala/src/CMakeLists.txt 2011-02-17 01:13:14 +0000
140@@ -0,0 +1,24 @@
141+# now, compile it as any normal C lib.
142+add_library (${CDAPPLET} SHARED ${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.c)
143+add_definitions (-fPIC)
144+
145+pkg_check_modules ("CDAPPLET_DEPS" "gobject-2.0" "gio-2.0")
146+
147+include_directories (
148+ ${CDAPPLET_DEPS_INCLUDE_DIRS})
149+
150+link_directories (
151+ ${CDAPPLET_DEPS_LIBRARY_DIRS})
152+
153+target_link_libraries (${CDAPPLET}
154+ ${CDAPPLET_DEPS_LIBRARIES})
155+
156+
157+# .so goes with other libs (to be found on runtime)
158+install (TARGETS ${CDAPPLET} DESTINATION "${libdir}")
159+# .h goes in the dbus data dir
160+install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${CDAPPLET}.h DESTINATION "${dbusdatadir}")
161+
162+# custom target to use ValaInstall.cmake (install dirs can change)
163+add_custom_target(vapi_install ALL)
164+set_target_properties(vapi_install PROPERTIES POST_INSTALL_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/ValaInstall.cmake)

Subscribers

People subscribed via source and target branches