diff options
| author | asn <asn@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2010-10-19 17:45:31 +0000 |
|---|---|---|
| committer | asn <asn@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2010-10-19 17:45:31 +0000 |
| commit | 075db97230449534db8c524dea365222ecfaaca8 (patch) | |
| tree | cd996d6aa4a882a500e881177e42fa739a7ce481 /pki/cmake/Modules/UseJavaClassFilelist.cmake | |
| parent | eb7a02af920b324be6511b753ce6ecc27b61733c (diff) | |
| download | pki-075db97230449534db8c524dea365222ecfaaca8.tar.gz pki-075db97230449534db8c524dea365222ecfaaca8.tar.xz pki-075db97230449534db8c524dea365222ecfaaca8.zip | |
cmake: Added check for the UseJavaClassFilelist location.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@1409 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/cmake/Modules/UseJavaClassFilelist.cmake')
| -rw-r--r-- | pki/cmake/Modules/UseJavaClassFilelist.cmake | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/pki/cmake/Modules/UseJavaClassFilelist.cmake b/pki/cmake/Modules/UseJavaClassFilelist.cmake new file mode 100644 index 00000000..bee84a26 --- /dev/null +++ b/pki/cmake/Modules/UseJavaClassFilelist.cmake @@ -0,0 +1,39 @@ +# +# This script create a list of compiled Java class files to be added to a +# jar file. This avoids including cmake files which get created in the +# binary directory. +# +#============================================================================= +# Copyright 2010 Andreas schneider <asn@redhat.com> +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distributed this file outside of CMake, substitute the full +# License text for the above reference.) + +if (CMAKE_JAVA_CLASS_OUTPUT_PATH) + if (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}") + # glob for class files + file(GLOB_RECURSE _JAVA_GLOBBED_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/*.class") + + # create relative path + set(_JAVA_CLASS_FILES) + foreach(_JAVA_GLOBBED_FILE ${_JAVA_GLOBBED_FILES}) + file(RELATIVE_PATH _JAVA_CLASS_FILE ${CMAKE_JAVA_CLASS_OUTPUT_PATH} ${_JAVA_GLOBBED_FILE}) + set(_JAVA_CLASS_FILES "${_JAVA_CLASS_FILES}${_JAVA_CLASS_FILE}\n") + endforeach(_JAVA_GLOBBED_FILE ${_JAVA_GLOBBED_FILES}) + + # write to file + file(WRITE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist ${_JAVA_CLASS_FILES}) + + else (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}") + message(SEND_ERROR "FATAL: Java class output path doesn't exist") + endif (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}") +else (CMAKE_JAVA_CLASS_OUTPUT_PATH) + message(SEND_ERROR "FATAL: Can't find CMAKE_JAVA_CLASS_OUTPUT_PATH") +endif (CMAKE_JAVA_CLASS_OUTPUT_PATH) |
