Merge lp:~zorba-coders/zorba/bug955040 into lp:zorba/data-formatting-module

Proposed by Rodolfo Ochoa
Status: Merged
Approved by: Matthias Brantner
Approved revision: 31
Merged at revision: 30
Proposed branch: lp:~zorba-coders/zorba/bug955040
Merge into: lp:zorba/data-formatting-module
Diff against target: 205 lines (+79/-81)
2 files modified
CMakeLists.txt (+4/-0)
src/com/zorba-xquery/www/modules/CMakeLists.txt (+75/-81)
To merge this branch: bzr merge lp:~zorba-coders/zorba/bug955040
Reviewer Review Type Date Requested Status
Matthias Brantner Approve
Chris Hillery Approve
Cezar Andrei Approve
Review via email: mp+98891@code.launchpad.net

Commit message

Fixes on CMakeList to avoid submitting a test when module is not active.
Also added functionality to avoid testing for Java if module is not active.

Description of the change

Fixes on CMakeList to avoid submitting a test when module is not active.
Also added functionality to avoid testing for Java if module is not active.

To post a comment you must log in.
Revision history for this message
Cezar Andrei (cezar-andrei) wrote :

1. ZORBA_WITH_FOP means I really want FOP. Ie if there is anything missing it's an error.
So if ZORBA_WITH_FOP and ZORBA_SUPPRESS_JAVA are both true should be an error.

2. Why did you replace 1 IF with AND condition with 8 nested IF's ?

review: Needs Fixing
Revision history for this message
Chris Hillery (ceejatec) wrote :

I don't understand what ZORBA_WITH_FOP means at all. I'm not really a fan of having flags to enable functionality anyway, at least not in non-core module packages - if the user took the time to download the package, presumably they want the contents, so why force them to add another CMake flag to enable it?

But with this change, ZORBA_WITH_FOP is completely meaningless, because it's now SET(ON FORCE). It will always be ON. So the IF(ZORBA_WITH_FOP) is pointless.

I would suggest eliminating the flag entirely. If we really think we need a way to build the data-formatting module without FOP, have a ZORBA_SUPPRESS_FOP flag instead that skips the whole file.

Cezar: Rodolfo had a comment about the nested IF thing - apparently IF(EXISTS a AND EXISTS b...) doesn't work, possibly a CMake bug. I haven't verified that bug myself, but it wouldn't surprise me; I've certainly seen other situations where IF(... AND ...) doesn't do what I'd expect in CMake.

review: Needs Fixing
Revision history for this message
Cezar Andrei (cezar-andrei) wrote :

Sounds fine with me. So remove the ZORBA_WITH_FOP all together and work around cmake bugs.

Revision history for this message
Rodolfo Ochoa (rodolfo-ochoa) wrote :

ZORBA_WITH_FOP flag has been eliminated...

Revision history for this message
Cezar Andrei (cezar-andrei) wrote :

Looks good.

review: Approve
Revision history for this message
Chris Hillery (ceejatec) wrote :

Yay for removing unnecessary CMake flags! Looks good.

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 bug955040-2012-03-28T15-46-14.833Z is finished. The final status was:

All tests succeeded!

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

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 2 Approve, 1 Pending.

Revision history for this message
Matthias Brantner (matthias-brantner) :
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 bug955040-2012-03-28T16-53-23.343Z is finished. The final status was:

All tests succeeded!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2012-03-14 14:23:36 +0000
+++ CMakeLists.txt 2012-03-28 00:43:18 +0000
@@ -12,6 +12,8 @@
12# See the License for the specific language governing permissions and12# See the License for the specific language governing permissions and
13# limitations under the License.13# limitations under the License.
1414
15MESSAGE (STATUS "******** BEGIN Configuring module Data-Formatting ********")
16
15CMAKE_MINIMUM_REQUIRED(VERSION 2.6)17CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
1618
17PROJECT (zorba_data-formatting_module)19PROJECT (zorba_data-formatting_module)
@@ -28,3 +30,5 @@
2830
2931
30DONE_DECLARING_ZORBA_URIS ()32DONE_DECLARING_ZORBA_URIS ()
33
34MESSAGE (STATUS "******** END Configuring module Data-Formatting ********")
3135
=== modified file 'src/com/zorba-xquery/www/modules/CMakeLists.txt'
--- src/com/zorba-xquery/www/modules/CMakeLists.txt 2012-03-14 14:23:36 +0000
+++ src/com/zorba-xquery/www/modules/CMakeLists.txt 2012-03-28 00:43:18 +0000
@@ -12,107 +12,101 @@
12# See the License for the specific language governing permissions and12# See the License for the specific language governing permissions and
13# limitations under the License.13# limitations under the License.
1414
15#15 IF (ZORBA_SUPPRESS_JAVA)
16# JNI JAVA16 MESSAGE (STATUS "ZORBA_SUPPRESS_JNI is true - not searching for Java")
17#17 MESSAGE (STATUS "Building Zorba without XSL-FO support.")
18IF (ZORBA_SUPPRESS_JAVA)18 ELSE (ZORBA_SUPPRESS_JAVA)
19 MESSAGE (STATUS "ZORBA_SUPPRESS_JNI is true - not searching for Java")19
20ELSE (ZORBA_SUPPRESS_JAVA)
21 IF (NOT ZORBA_WITH_FOP)
22 MESSAGE (STATUS "Looking for Java")
23 FIND_PACKAGE(Java)20 FIND_PACKAGE(Java)
24
25 MESSAGE (STATUS "Looking for JNI")
26 FIND_PACKAGE(JNI) 21 FIND_PACKAGE(JNI)
2722
28 IF (JNI_FOUND)23 IF (JNI_FOUND)
29 IF (NOT DEFINED XSL_FOP_HOME)24
30 IF (WIN32) 25 IF (NOT DEFINED XSL_FOP_HOME)
31 MESSAGE (STATUS "Variable XSL_FOP_HOME not defined, trying defaults: " ${Java_LIBRARIES})26 IF (DEFINED ENV{XSL_FOP_HOME})
32 SET (XSL_FOP_HOME ${Java_LIBRARIES})27 SET(XSL_FOP_HOME $ENV{XSL_FOP_HOME})
33 ELSE (WIN32) 28 ENDIF (DEFINED ENV{XSL_FOP_HOME})
34 MESSAGE (STATUS "Variable XSL_FOP_HOME not defined, trying defaults: " ${Java_LIBRARIES} " /usr/share/java/ /usr/share/java/fop/")29 ENDIF (NOT DEFINED XSL_FOP_HOME)
35 SET (XSL_FOP_HOME /usr/share/java/ /usr/share/java/fop/ ${Java_LIBRARIES})30
36 ENDIF (WIN32) 31 IF (NOT DEFINED XSL_FOP_HOME)
37 ENDIF (NOT DEFINED XSL_FOP_HOME)32 IF (WIN32)
3833 MESSAGE (STATUS "Environment variable XSL_FOP_HOME not defined, trying default: C:\\dev\\libraries\\fop-1.0")
39 MESSAGE (STATUS "XSL-FOP HOME :" ${XSL_FOP_HOME} )34 SET (XSL_FOP_HOME "C:\\dev\\libraries\\fop-1.0")
40 35 ELSE (WIN32)
36 MESSAGE (STATUS "Environment variable XSL_FOP_HOME not defined, trying defaults: " ${Java_LIBRARIES} " /usr/share/java/ /usr/share/java/fop/")
37 SET (XSL_FOP_HOME "/usr/share/java/ /usr/share/java/fop/ ${Java_LIBRARIES}")
38 ENDIF (WIN32)
39 ENDIF (NOT DEFINED XSL_FOP_HOME)
40
41 STRING(REGEX REPLACE "\\\\" "/" XSL_FOP_HOME "${XSL_FOP_HOME}")
42
43 MESSAGE (STATUS "XSL-FOP HOME: " ${XSL_FOP_HOME} )
41 FIND_FILE( FOP_JAR NAMES fop.jar 44 FIND_FILE( FOP_JAR NAMES fop.jar
42 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/build )45 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/build )
43
44 FIND_FILE( FOP_D1_JAR NAMES avalon-framework.jar46 FIND_FILE( FOP_D1_JAR NAMES avalon-framework.jar
45 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )47 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )
46
47 FIND_FILE( FOP_D2_JAR NAMES batik-all.jar48 FIND_FILE( FOP_D2_JAR NAMES batik-all.jar
48 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )49 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )
49
50 FIND_FILE( FOP_D3_JAR NAMES commons-io.jar50 FIND_FILE( FOP_D3_JAR NAMES commons-io.jar
51 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )51 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )
52
53 FIND_FILE( FOP_D4_JAR NAMES commons-logging.jar52 FIND_FILE( FOP_D4_JAR NAMES commons-logging.jar
54 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )53 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )
55
56 FIND_FILE( FOP_D5_JAR NAMES serializer.jar54 FIND_FILE( FOP_D5_JAR NAMES serializer.jar
57 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )55 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )
58
59 FIND_FILE( FOP_D6_JAR NAMES xalan.jar xalan2.jar56 FIND_FILE( FOP_D6_JAR NAMES xalan.jar xalan2.jar
60 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )57 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )
61
62 FIND_FILE( FOP_D7_JAR NAMES xmlgraphics-commons.jar58 FIND_FILE( FOP_D7_JAR NAMES xmlgraphics-commons.jar
63 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )59 PATHS ${XSL_FOP_HOME} ${XSL_FOP_HOME}/lib )
6460
65 IF( EXISTS ${FOP_JAR} AND EXISTS ${FOP_D1_JAR} AND EXISTS ${FOP_D2_JAR} AND61 #MULTIPLE EXISTS CAN'T BE USED IN AN *IF* COMMAND, LOOKS LIKE A BUG ON CMAKE
66 EXISTS ${FOP_D3_JAR} AND EXISTS ${FOP_D4_JAR} AND EXISTS ${FOP_D5_JAR} AND62 SET(ALL_FOP FALSE)
67 EXISTS ${FOP_D6_JAR} AND EXISTS ${FOP_D7_JAR})63 IF ( EXISTS ${FOP_JAR} )
6864 IF ( EXISTS ${FOP_D1_JAR} )
69 #SET (ZORBA_WITH_FOP ON CACHE BOOL "Compile Zorba with XSL-FO support" FORCE)65 IF ( EXISTS ${FOP_D2_JAR} )
70 #IF (ZORBA_WITH_FOP)66 IF ( EXISTS ${FOP_D3_JAR} )
71 INCLUDE (CMakeJavaInformation )67 IF ( EXISTS ${FOP_D4_JAR} )
72 MESSAGE(STATUS "Generating Java API")68 IF ( EXISTS ${FOP_D5_JAR} )
73 EXECUTE_PROCESS (69 IF ( EXISTS ${FOP_D6_JAR} )
74 COMMAND ${JAVA_RUNTIME} -version70 IF ( EXISTS ${FOP_D7_JAR} )
75 RESULT_VARIABLE JAVA_VERSION71 SET(ALL_FOP TRUE)
76 OUTPUT_QUIET72 ENDIF ( EXISTS ${FOP_D7_JAR} )
77 ERROR_QUIET73 ENDIF ( EXISTS ${FOP_D6_JAR} )
78 )74 ENDIF ( EXISTS ${FOP_D5_JAR} )
79 #MESSAGE (STATUS "JNI found at :${JAVA_INCLUDE_PATH}")75 ENDIF ( EXISTS ${FOP_D4_JAR} )
80 #MESSAGE (STATUS "Java Library at :${JAVA_JVM_LIBRARY}")76 ENDIF ( EXISTS ${FOP_D3_JAR} )
81 MESSAGE (STATUS "Building Zorba with XSL-FO support.")77 ENDIF ( EXISTS ${FOP_D2_JAR} )
82 78 ENDIF ( EXISTS ${FOP_D1_JAR} )
83 INCLUDE_DIRECTORIES (${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})79 ENDIF ( EXISTS ${FOP_JAR} )
84 INCLUDE_DIRECTORIES (${JAVA_INCLUDE_PATH})80 MESSAGE(STATUS "ALL_FOP:" ${ALL_FOP})
85 DECLARE_ZORBA_MODULE (URI "http://www.zorba-xquery.com/modules/xsl-fo" VERSION 1.0 FILE "xsl-fo.xq" LINK_LIBRARIES "${JAVA_JVM_LIBRARY}")81
8682 IF ( ALL_FOP )
87 DECLARE_ZORBA_JAR(FILE ${FOP_JAR} EXTERNAL)83 MESSAGE(STATUS "FOP Libraries Found.")
88 DECLARE_ZORBA_JAR(FILE ${FOP_D1_JAR} EXTERNAL)84 INCLUDE (CMakeJavaInformation )
89 DECLARE_ZORBA_JAR(FILE ${FOP_D2_JAR} EXTERNAL)85 EXECUTE_PROCESS (
90 DECLARE_ZORBA_JAR(FILE ${FOP_D3_JAR} EXTERNAL)86 COMMAND ${JAVA_RUNTIME} -version
91 DECLARE_ZORBA_JAR(FILE ${FOP_D4_JAR} EXTERNAL)87 RESULT_VARIABLE JAVA_VERSION
92 DECLARE_ZORBA_JAR(FILE ${FOP_D5_JAR} EXTERNAL)88 OUTPUT_QUIET
93 DECLARE_ZORBA_JAR(FILE ${FOP_D6_JAR} EXTERNAL)89 ERROR_QUIET
94 DECLARE_ZORBA_JAR(FILE ${FOP_D7_JAR} EXTERNAL)90 )
9591
96 ADD_TEST_DIRECTORY("${PROJECT_SOURCE_DIR}/test")92 INCLUDE_DIRECTORIES (${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
97 #ENDIF (ZORBA_WITH_FOP)93 INCLUDE_DIRECTORIES (${JAVA_INCLUDE_PATH})
98 ELSE( EXISTS ${FOP_JAR} AND EXISTS ${FOP_D1_JAR} AND EXISTS ${FOP_D2_JAR} AND94 DECLARE_ZORBA_MODULE (URI "http://www.zorba-xquery.com/modules/xsl-fo" VERSION 1.0 FILE "xsl-fo.xq" LINK_LIBRARIES "${JAVA_JVM_LIBRARY}")
99 EXISTS ${FOP_D3_JAR} AND EXISTS ${FOP_D4_JAR} AND EXISTS ${FOP_D5_JAR} AND95
100 EXISTS ${FOP_D6_JAR} AND EXISTS ${FOP_D7_JAR} )96 DECLARE_ZORBA_JAR(FILE ${FOP_JAR} EXTERNAL)
101 MESSAGE (STATUS "fop.jar and all its dependecies not found skiping data-formating module")97 DECLARE_ZORBA_JAR(FILE ${FOP_D1_JAR} EXTERNAL)
102 ENDIF( EXISTS ${FOP_JAR} AND EXISTS ${FOP_D1_JAR} AND EXISTS ${FOP_D2_JAR} AND98 DECLARE_ZORBA_JAR(FILE ${FOP_D2_JAR} EXTERNAL)
103 EXISTS ${FOP_D3_JAR} AND EXISTS ${FOP_D4_JAR} AND EXISTS ${FOP_D5_JAR} AND99 DECLARE_ZORBA_JAR(FILE ${FOP_D3_JAR} EXTERNAL)
104 EXISTS ${FOP_D6_JAR} AND EXISTS ${FOP_D7_JAR} )100 DECLARE_ZORBA_JAR(FILE ${FOP_D4_JAR} EXTERNAL)
105101 DECLARE_ZORBA_JAR(FILE ${FOP_D5_JAR} EXTERNAL)
106 ELSE (JNI_FOUND)102 DECLARE_ZORBA_JAR(FILE ${FOP_D6_JAR} EXTERNAL)
107 IF (ZORBA_WITH_FOP)103 DECLARE_ZORBA_JAR(FILE ${FOP_D7_JAR} EXTERNAL)
108 MESSAGE(FATAL_ERROR "Could not find Java and/or JNI. Please install a JDK or compile Zorba with XSL-FO support by setting ZORBA_WITH_FOP to false.")104 ADD_TEST_DIRECTORY("${PROJECT_SOURCE_DIR}/test")
109 ENDIF (ZORBA_WITH_FOP)105
110 MESSAGE ( STATUS "Not generating XSL-FO support: jni headers not found.")106 ELSE ( ALL_FOP )
107 MESSAGE (STATUS "fop.jar and all its dependecies were not found skiping data-formating module")
108 ENDIF ( ALL_FOP )
109
111 ENDIF(JNI_FOUND)110 ENDIF(JNI_FOUND)
112 ELSE (NOT ZORBA_WITH_FOP)
113 #SET(ZORBA_WITH_FOP OFF CACHE BOOL "Compile Zorba with XSL-FO support." FORCE)
114 MESSAGE(STATUS "Building Zorba without XSL-FO support.")
115 ENDIF (NOT ZORBA_WITH_FOP)
116 111
117ENDIF(ZORBA_SUPPRESS_JAVA)112 ENDIF(ZORBA_SUPPRESS_JAVA)
118MESSAGE(STATUS "")

Subscribers

People subscribed via source and target branches

to all changes: