Merge lp:~gabipetrovay/zorba/proxy into lp:zorba

Proposed by Gabriel Petrovay
Status: Merged
Approved by: Gabriel Petrovay
Approved revision: no longer in the source branch.
Merged at revision: 10490
Proposed branch: lp:~gabipetrovay/zorba/proxy
Merge into: lp:zorba
Diff against target: 136 lines (+34/-40)
2 files modified
WIN32.cpack (+0/-2)
cmake_modules/Windows/ProxyFindModule.cmake (+34/-38)
To merge this branch: bzr merge lp:~gabipetrovay/zorba/proxy
Reviewer Review Type Date Requested Status
Juan Zacarias Approve
Gabriel Petrovay (community) Needs Resubmitting
Review via email: mp+78227@code.launchpad.net

Commit message

Fixing availability of external module DLL's in the PATH when running CTest.

Description of the change

Fixing availability of external module DLL's in the PATH when running CTest.

ZORBA_REQUIRED_DLL is only used now to generate the scripts and not to INSTALL the DLL's themselves. For this the proxy module is used when each DLL is found.

To post a comment you must log in.
Revision history for this message
Juan Zacarias (juan457) wrote :

Hi Gabriel,

I tested the windows installer and it's broken, the problem lies in what I told you before removing the install from WIN32.cpack won't solve the things but break them, since now it is missing all the dlls neede by the core, icuuc, cur,l xerces, etc. That's why I suggested taking them apart as ZORBA_REQUIRED_DLLS and ZORBA_EXTERNAL_REQUIRED_DLLS

Revision history for this message
Juan Zacarias (juan457) wrote :

Hi Gabriel,

I tested the windows installer and it's broken, the problem lies in what I told you before removing the install from WIN32.cpack won't solve the things but break them, since now it is missing all the dlls neede by the core, icuuc, cur,l xerces, etc. That's why I suggested taking them apart as ZORBA_REQUIRED_DLLS and ZORBA_EXTERNAL_REQUIRED_DLLS

review: Needs Fixing
Revision history for this message
Gabriel Petrovay (gabipetrovay) wrote :

What about now?

I have added the needed INSTALL command to install the core DLL's from the proxy.

review: Needs Resubmitting
Revision history for this message
Juan Zacarias (juan457) wrote :

Some dlls are still missing at least for now I just get the error of icuuc46.dll not sure if there are others missing

review: Needs Fixing
Revision history for this message
Gabriel Petrovay (gabipetrovay) wrote :

And again :)

I have added two more INSTALL directives in the other macros that search DLL's.

But there the COMPONENT part is missing so this will also have to be corrected sometime. I have opened a bug #868654 for this.

review: Needs Resubmitting
Revision history for this message
Gabriel Petrovay (gabipetrovay) wrote :

I hope this goes through! ;)

review: Needs Resubmitting
Revision history for this message
Juan Zacarias (juan457) wrote :

Installers working correctly

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job proxy-2011-10-05T22-25-01.362Z is finished. The final status was:

All tests succeeded!

lp:~gabipetrovay/zorba/proxy updated
10490. By Gabriel Petrovay

Fixing availability of external module DLL's in the PATH when running CTest. Approved: Juan Zacarias

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'WIN32.cpack'
2--- WIN32.cpack 2011-07-29 23:50:20 +0000
3+++ WIN32.cpack 2011-10-05 20:25:25 +0000
4@@ -14,5 +14,3 @@
5 #
6
7 INCLUDE(InstallRequiredSystemLibraries)
8-
9-INSTALL(PROGRAMS ${ZORBA_REQUIRED_DLLS} DESTINATION bin)
10
11=== modified file 'cmake_modules/Windows/ProxyFindModule.cmake'
12--- cmake_modules/Windows/ProxyFindModule.cmake 2011-09-26 12:50:56 +0000
13+++ cmake_modules/Windows/ProxyFindModule.cmake 2011-10-05 20:25:25 +0000
14@@ -29,7 +29,19 @@
15 ELSE (${LOCATION_VAR})
16 MESSAGE (STATUS "*********** DONE (not found) ***********")
17 ENDIF (${LOCATION_VAR})
18-ENDMACRO (PRINT_FIND_END_TITLE MODULE_NAME)
19+ENDMACRO (PRINT_FIND_END_TITLE)
20+
21+
22+MACRO (INSTALL_DLL DLL_PATH)
23+ IF (${PROJECT_NAME} STREQUAL "zorba")
24+ # for zorba core requirements, install this DLL
25+ INSTALL (PROGRAMS ${DLL_PATH} DESTINATION bin)
26+ ELSE (${PROJECT_NAME} STREQUAL "zorba")
27+ # for zorba non-core requirements, install this DLL only if the component is spcified
28+ STRING (REPLACE "-" "_" component_name ${PROJECT_NAME})
29+ INSTALL (PROGRAMS ${DLL_PATH} DESTINATION bin COMPONENT ${component_name})
30+ ENDIF (${PROJECT_NAME} STREQUAL "zorba")
31+ENDMACRO (INSTALL_DLL)
32
33
34 MACRO (PRINT_FIND_TITLE MODULE_NAME)
35@@ -242,11 +254,7 @@
36 FILE (TO_NATIVE_PATH ${PATH} NATIVE_PATH)
37 LIST (APPEND paths "${NATIVE_PATH}")
38 MESSAGE (STATUS "Added dll to ZORBA_REQUIRED_DLLS cache variable: ${TMP_DLL_VAR}")
39-
40- IF (NOT ${PROJECT_NAME} STREQUAL "zorba")
41- STRING (REPLACE "-" "_" component_name ${PROJECT_NAME})
42- INSTALL (PROGRAMS ${TMP_DLL_VAR} DESTINATION bin COMPONENT ${component_name})
43- ENDIF (NOT ${PROJECT_NAME} STREQUAL "zorba")
44+ INSTALL_DLL (${TMP_DLL_VAR})
45
46 # we break the loop if we found one DLL
47 BREAK ()
48@@ -269,18 +277,13 @@
49 LIST (REMOVE_DUPLICATES paths)
50 ENDIF (${LEN} GREATER 0)
51
52- # make sure we don't leave garbage in the cache and don't influence other logic with this
53- SET (TMP_DLL_VAR TMP_DLL_VAR-NOTFOUND CACHE FILEPATH "Path to a file." FORCE)
54-
55- IF (${PROJECT_NAME} STREQUAL "zorba")
56- # set the current DLLs and their paths in a variable
57- SET (ZORBA_REQUIRED_DLLS "${dlls}"
58- CACHE STRING "List of DLLs that must be installed" FORCE
59- )
60- SET (ZORBA_REQUIRED_DLL_PATHS "${paths}"
61- CACHE STRING "List of paths executable require in order to find the required DLLs" FORCE
62- )
63- ENDIF (${PROJECT_NAME} STREQUAL "zorba")
64+ # set the current DLLs and their paths in a variable
65+ SET (ZORBA_REQUIRED_DLLS "${dlls}"
66+ CACHE STRING "List of DLLs that must be installed" FORCE
67+ )
68+ SET (ZORBA_REQUIRED_DLL_PATHS "${paths}"
69+ CACHE STRING "List of paths executable require in order to find the required DLLs" FORCE
70+ )
71
72 ENDMACRO (FIND_PACKAGE_DLL_WIN32)
73
74@@ -315,12 +318,7 @@
75 FILE (TO_NATIVE_PATH ${PATH} NATIVE_PATH)
76 LIST (APPEND paths "${NATIVE_PATH}")
77 MESSAGE (STATUS "Added dll to ZORBA_REQUIRED_DLLS cache variable: ${TMP_DLL_VAR}")
78-
79- IF (NOT ${PROJECT_NAME} STREQUAL "zorba")
80- STRING (REPLACE "-" "_" component_name ${PROJECT_NAME})
81- INSTALL (PROGRAMS ${TMP_DLL_VAR} DESTINATION bin COMPONENT ${component_name})
82- ENDIF (NOT ${PROJECT_NAME} STREQUAL "zorba")
83-
84+ INSTALL_DLL (${TMP_DLL_VAR})
85 ELSE (TMP_DLL_VAR)
86 MESSAGE (WARNING "${NAME} was not found in: ${LIBRARY_LOCATION}. Zorba will not run properly unless you have it in the path.")
87 ENDIF (TMP_DLL_VAR)
88@@ -336,18 +334,13 @@
89 LIST (REMOVE_DUPLICATES paths)
90 ENDIF (${LEN} GREATER 0)
91
92- # make sure we don't leave garbage in the cache and don't influence other logic with this
93- SET (TMP_DLL_VAR TMP_DLL_VAR-NOTFOUND CACHE FILEPATH "Path to a file." FORCE)
94-
95- IF (${PROJECT_NAME} STREQUAL "zorba")
96- # set the current DLLs and their paths in a variable
97- SET (ZORBA_REQUIRED_DLLS "${dlls}"
98- CACHE STRING "List of DLLs that must be installed" FORCE
99- )
100- SET (ZORBA_REQUIRED_DLL_PATHS "${paths}"
101- CACHE STRING "List of paths executable require in order to find the required DLLs" FORCE
102- )
103- ENDIF (${PROJECT_NAME} STREQUAL "zorba")
104+ # set the current DLLs and their paths in a variable
105+ SET (ZORBA_REQUIRED_DLLS "${dlls}"
106+ CACHE STRING "List of DLLs that must be installed" FORCE
107+ )
108+ SET (ZORBA_REQUIRED_DLL_PATHS "${paths}"
109+ CACHE STRING "List of paths executable require in order to find the required DLLs" FORCE
110+ )
111
112 ENDMACRO (FIND_PACKAGE_DLLS_WIN32)
113
114@@ -386,6 +379,7 @@
115 FILE(TO_NATIVE_PATH ${PATH} NATIVE_PATH)
116 LIST (APPEND paths "${NATIVE_PATH}")
117 MESSAGE (STATUS "Added dll to ZORBA_REQUIRED_DLLS cache variable: ${TMP_DLL_VAR}")
118+ INSTALL_DLL (${TMP_DLL_VAR})
119 ELSE (TMP_DLL_VAR)
120 MESSAGE (STATUS "Did not find ${DLL_NAME}")
121 MESSAGE (WARNING "You will not be able to run zorba unless you have ${DLL_NAME} in your path.")
122@@ -421,10 +415,12 @@
123 SET (dlls "${ZORBA_REQUIRED_DLLS}")
124 SET (paths "${ZORBA_REQUIRED_DLL_PATHS}")
125
126- LIST (APPEND dlls "${DLL_PATH}/${DLL_NAME}")
127+ SET (DLL_FULL_PATH ${DLL_PATH}/${DLL_NAME})
128+ LIST (APPEND dlls "${DLL_FULL_PATH}")
129 FILE(TO_NATIVE_PATH ${DLL_PATH} NATIVE_PATH)
130 LIST (APPEND paths "${NATIVE_PATH}")
131- MESSAGE (STATUS "Added dll to ZORBA_REQUIRED_DLLS cache variable: ${DLL_PATH}/${DLL_NAME}")
132+ MESSAGE (STATUS "Added dll to ZORBA_REQUIRED_DLLS cache variable: ${DLL_FULL_PATH}")
133+ INSTALL_DLL (${DLL_FULL_PATH})
134
135 # set the current DLLs and their paths in a variable
136 SET (ZORBA_REQUIRED_DLLS "${dlls}"

Subscribers

People subscribed via source and target branches