summaryrefslogtreecommitdiffstats
path: root/pki/cmake
diff options
context:
space:
mode:
authorasn <asn@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2010-12-17 21:15:26 +0000
committerasn <asn@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2010-12-17 21:15:26 +0000
commit2a693424932635ba2c7ea48f29a81395c4d369b3 (patch)
tree0bdfb97a61d2d263a7b665e15351bc2d11a265c9 /pki/cmake
parent5c63c5e29db2aa062ca7dfd8fe00144deb1333f8 (diff)
downloadpki-2a693424932635ba2c7ea48f29a81395c4d369b3.tar.gz
pki-2a693424932635ba2c7ea48f29a81395c4d369b3.tar.xz
pki-2a693424932635ba2c7ea48f29a81395c4d369b3.zip
cmake: Added support to specify multiple CMAKE_JAR_CLASSES_PREFIX.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@1652 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/cmake')
-rw-r--r--pki/cmake/Modules/UseJavaClassFilelist.cmake36
1 files changed, 13 insertions, 23 deletions
diff --git a/pki/cmake/Modules/UseJavaClassFilelist.cmake b/pki/cmake/Modules/UseJavaClassFilelist.cmake
index bceb56ad1..e07dda2f4 100644
--- a/pki/cmake/Modules/UseJavaClassFilelist.cmake
+++ b/pki/cmake/Modules/UseJavaClassFilelist.cmake
@@ -19,35 +19,25 @@
if (CMAKE_JAVA_CLASS_OUTPUT_PATH)
if (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}")
- # if it exists, obtain the length of the selected jar classes prefix
+ set(_JAVA_GLOBBED_FILES)
if (CMAKE_JAR_CLASSES_PREFIX)
- string(LENGTH "${CMAKE_JAR_CLASSES_PREFIX}"
- _JAR_CLASSES_PREFIX_LENGTH)
- endif (CMAKE_JAR_CLASSES_PREFIX)
+ foreach(JAR_CLASS_PREFIX ${CMAKE_JAR_CLASSES_PREFIX})
+ message(STATUS "JAR_CLASS_PREFIX: ${JAR_CLASS_PREFIX}")
- # glob for class files
- file(GLOB_RECURSE _JAVA_GLOBBED_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/*.class")
+ file(GLOB_RECURSE _JAVA_GLOBBED_TMP_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${JAR_CLASS_PREFIX}/*.class")
+ if (_JAVA_GLOBBED_TMP_FILES)
+ list(APPEND _JAVA_GLOBBED_FILES ${_JAVA_GLOBBED_TMP_FILES})
+ endif (_JAVA_GLOBBED_TMP_FILES)
+ endforeach(JAR_CLASS_PREFIX ${CMAKE_JAR_CLASSES_PREFIX})
+ else()
+ file(GLOB_RECURSE _JAVA_GLOBBED_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/*.class")
+ endif (CMAKE_JAR_CLASSES_PREFIX)
- # create relative path
set(_JAVA_CLASS_FILES)
+ # file(GLOB_RECURSE foo RELATIVE) is broken so we need this.
foreach(_JAVA_GLOBBED_FILE ${_JAVA_GLOBBED_FILES})
file(RELATIVE_PATH _JAVA_CLASS_FILE ${CMAKE_JAVA_CLASS_OUTPUT_PATH} ${_JAVA_GLOBBED_FILE})
- if (CMAKE_JAR_CLASSES_PREFIX)
- # extract the prefix from this java class file corresponding
- # to the length of the selected jar classes prefix
- string(SUBSTRING "${_JAVA_CLASS_FILE}"
- 0 ${_JAR_CLASSES_PREFIX_LENGTH} _JAVA_CLASS_PREFIX)
- # save this java class file ONLY if its prefix is the
- # same as the selected java classes prefix
- if (_JAVA_CLASS_PREFIX STREQUAL CMAKE_JAR_CLASSES_PREFIX)
- set(_JAVA_CLASS_FILES
- "${_JAVA_CLASS_FILES}${_JAVA_CLASS_FILE}\n")
- endif (_JAVA_CLASS_PREFIX STREQUAL CMAKE_JAR_CLASSES_PREFIX)
- else ()
- # save ALL java class files
- set(_JAVA_CLASS_FILES
- "${_JAVA_CLASS_FILES}${_JAVA_CLASS_FILE}\n")
- endif (CMAKE_JAR_CLASSES_PREFIX)
+ set(_JAVA_CLASS_FILES ${_JAVA_CLASS_FILES}${_JAVA_CLASS_FILE}\n)
endforeach(_JAVA_GLOBBED_FILE ${_JAVA_GLOBBED_FILES})
# write to file