zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #09445
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
Chris Hillery has proposed merging lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module.
Requested reviews:
Chris Hillery (ceejatec)
For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR/+merge/105186
--
https://code.launchpad.net/~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR/+merge/105186
Your team Zorba Coders is subscribed to branch lp:zorba/util-jvm-module.
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2012-04-05 11:49:09 +0000
+++ CMakeLists.txt 2012-05-09 10:19:19 +0000
@@ -44,6 +44,10 @@
SET (ZORBA_PROJECT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include")
INCLUDE_DIRECTORIES ("${ZORBA_PROJECT_INCLUDE_DIRS}")
+ # Set up a "use file" for other modules to import
+ SET (ZORBA_PROJECT_USE_FILE
+ "${CMAKE_CURRENT_SOURCE_DIR}/config/UtilJavaUse.cmake")
+
ADD_SUBDIRECTORY ("src")
#ADD_TEST_DIRECTORY("${PROJECT_SOURCE_DIR}/test")
DONE_DECLARING_ZORBA_URIS ()
=== added directory 'config'
=== added file 'config/UtilJavaUse.cmake'
--- config/UtilJavaUse.cmake 1970-01-01 00:00:00 +0000
+++ config/UtilJavaUse.cmake 2012-05-09 10:19:19 +0000
@@ -0,0 +1,111 @@
+# Copyright 2006-2010 The FLWOR Foundation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Macro to find a Jar file whose filename possibly includes a version
+# number. Some Apache distributions, such as FOP, include dependent jars
+# with version numbers, and CMake's FIND_FILE() doesn't support glob
+# patterns for the filename. This macro will find .jar files with optional
+# patterns like "-1.0" in the basename.
+#
+# This macro operates the similarly to FIND_FILE(), except it only supports
+# NAMES, PATHS, PATH_SUFFIXES, DOC, and NO_CMAKE_PATH. Other differences:
+# 1. NAMES is required, and it should be passed the basename of the
+# jarfiles without the version number or ".jar" extension.
+# 2. The only search directories will be those on CMAKE_PREFIX_PATH and
+# those specified by PATHS.
+#
+# For example:
+# ZORBA_FIND_JAR (FOP_JAR NAMES fop PATHS ${XSL_FOP_HOME} PATH_SUFFIXES build)
+#
+# will find fop.jar, fop-1.0.jar, or fop-23453.1234.jar, in any directory
+# on CMAKE_PREFIX_PATH or in XSL_FOP_HOME, or in any subdirectory named
+# "build" of any of those directories.
+#
+# For the moment this macro does not check the version number or enforce
+# a particular/minimum version.
+MACRO (ZORBA_FIND_JAR JARVARNAME)
+ IF (NOT COMMAND PARSE_ARGUMENTS)
+ MESSAGE (FATAL_ERROR
+ "Please INCLUDE(\${Zorba_USE_FILE}) file "
+ "prior to calling ZORBA_FIND_JAR().")
+ ENDIF (NOT COMMAND PARSE_ARGUMENTS)
+
+ PARSE_ARGUMENTS (ZFINDJAR "PATHS;NAMES;PATH_SUFFIXES" "DOC"
+ "NO_CMAKE_PATH" ${ARGN})
+
+ IF (NOT ZFINDJAR_NAMES)
+ MESSAGE (FATAL_ERROR "'NAMES' argument is required for ZORBA_FIND_JAR")
+ ENDIF (NOT ZFINDJAR_NAMES)
+
+ # If the value is already cached, don't do anything
+ IF (NOT ${JARVARNAME})
+
+ # Form up the set of directories to search in.
+ SET (_paths)
+ IF (NOT ZFINDJAR_NO_CMAKE_PATH)
+ SET (_paths ${CMAKE_PREFIX_PATH})
+ ENDIF (NOT ZFINDJAR_NO_CMAKE_PATH)
+ IF (ZFINDJAR_PATHS)
+ LIST (APPEND _paths ${ZFINDJAR_PATHS})
+ ENDIF (ZFINDJAR_PATHS)
+ IF (NOT _paths)
+ MESSAGE (WARNING "No place to search for ${ZFINDJAR_NAMES} jars! "
+ "Set either CMAKE_PREFIX_PATH or pass PATHS")
+ ENDIF (NOT _paths)
+
+ # Iterate through each directory looking for each filename
+ SET (_jarpath "${JARVARNAME}-NOTFOUND")
+ FOREACH (_path ${_paths})
+ IF (_jarpath)
+ BREAK ()
+ ENDIF (_jarpath)
+
+ # Iterate through each potential jarname
+ FOREACH (_name ${ZFINDJAR_NAMES})
+ IF (_jarpath)
+ BREAK ()
+ ENDIF (_jarpath)
+
+ # Iterate through current directory and each suffix
+ FOREACH (_dir "" ${ZFINDJAR_PATH_SUFFIXES})
+ # Form up the final full path
+ IF (_dir)
+ SET (_path2 "${_path}/${_dir}")
+ ELSE (_dir)
+ SET (_path2 "${_path}")
+ ENDIF (_dir)
+
+ # First see if the exact filename exists
+ IF (EXISTS "${_path2}/${_name}.jar")
+ SET (_jarpath "${_path2}/${_name}.jar")
+ BREAK ()
+ ENDIF (EXISTS "${_path2}/${_name}.jar")
+
+ # Finally, glob for version variants
+ FILE (GLOB _jarfiles "${_path2}/${_name}-*.jar")
+ IF (_jarfiles)
+ LIST (GET _jarfiles 0 _jarpath)
+ BREAK ()
+ ENDIF (_jarfiles)
+
+ ENDFOREACH (_dir)
+ ENDFOREACH (_name)
+ ENDFOREACH (_path)
+
+ # Cache the results
+ SET (${JARVARNAME} "${_jarpath}" CACHE PATH "${ZFINDJAR_DOC}" FORCE)
+
+ ENDIF (NOT ${JARVARNAME})
+
+ENDMACRO (ZORBA_FIND_JAR)
Follow ups
-
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: noreply, 2012-05-09
-
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Zorba Build Bot, 2012-05-09
-
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Zorba Build Bot, 2012-05-09
-
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Chris Hillery, 2012-05-09
-
Re: [Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Cezar Andrei, 2012-05-09
-
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Zorba Build Bot, 2012-05-09
-
Re: [Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Zorba Build Bot, 2012-05-09
-
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Zorba Build Bot, 2012-05-09
-
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Zorba Build Bot, 2012-05-09
-
[Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Chris Hillery, 2012-05-09
-
Re: [Merge] lp:~zorba-coders/zorba/util-jvm-ZORBA_FIND_JAR into lp:zorba/util-jvm-module
From: Chris Hillery, 2012-05-09