diff options
author | asn <asn@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2010-12-17 21:15:26 +0000 |
---|---|---|
committer | asn <asn@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2010-12-17 21:15:26 +0000 |
commit | 2a693424932635ba2c7ea48f29a81395c4d369b3 (patch) | |
tree | 0bdfb97a61d2d263a7b665e15351bc2d11a265c9 /pki/cmake | |
parent | 5c63c5e29db2aa062ca7dfd8fe00144deb1333f8 (diff) | |
download | pki-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.cmake | 36 |
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 |