summaryrefslogtreecommitdiffstats
path: root/pki/cmake/Modules/UseJavaClassFilelist.cmake
diff options
context:
space:
mode:
authorasn <asn@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2010-10-19 17:45:31 +0000
committerasn <asn@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2010-10-19 17:45:31 +0000
commit075db97230449534db8c524dea365222ecfaaca8 (patch)
treecd996d6aa4a882a500e881177e42fa739a7ce481 /pki/cmake/Modules/UseJavaClassFilelist.cmake
parenteb7a02af920b324be6511b753ce6ecc27b61733c (diff)
downloadpki-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.cmake39
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)