summaryrefslogtreecommitdiffstats
path: root/cmake/Modules/Java.cmake
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2012-07-18 13:13:34 -0500
committerEndi Sukma Dewata <edewata@redhat.com>2012-07-19 22:41:13 -0500
commit4f7af51285d9b8991929d7e01b3ae6a980e53eb5 (patch)
tree3dfaf346751928c6066ffaf2c9ad4c4c73627818 /cmake/Modules/Java.cmake
parentaa8a82d5d09ec621f2b100ccdd27ffdc6df541d0 (diff)
downloadpki-4f7af51285d9b8991929d7e01b3ae6a980e53eb5.tar.gz
pki-4f7af51285d9b8991929d7e01b3ae6a980e53eb5.tar.xz
pki-4f7af51285d9b8991929d7e01b3ae6a980e53eb5.zip
Added support for exclusion in Java CMake script.
The Java CMake scripts has been modified to support excluding some files from compilation or JAR packaging. Ticket #62
Diffstat (limited to 'cmake/Modules/Java.cmake')
-rw-r--r--cmake/Modules/Java.cmake28
1 files changed, 18 insertions, 10 deletions
diff --git a/cmake/Modules/Java.cmake b/cmake/Modules/Java.cmake
index bab17f541..62f26f9fc 100644
--- a/cmake/Modules/Java.cmake
+++ b/cmake/Modules/Java.cmake
@@ -24,10 +24,10 @@ function(javac target)
foreach (arg ${ARGN})
- if (arg MATCHES "(SOURCE_DIR|SOURCES|CLASSPATH|OUTPUT_DIR|DEPENDS)")
+ if (arg MATCHES "(SOURCE_DIR|SOURCES|EXCLUDE|CLASSPATH|OUTPUT_DIR|DEPENDS)")
set(param ${arg})
- else (arg MATCHES "(SOURCE_DIR|SOURCES|CLASSPATH|OUTPUT_DIR|DEPENDS)")
+ else (arg MATCHES "(SOURCE_DIR|SOURCES|EXCLUDE|CLASSPATH|OUTPUT_DIR|DEPENDS)")
if (param MATCHES "SOURCE_DIR")
set(source_dir ${arg})
@@ -35,6 +35,9 @@ function(javac target)
elseif (param MATCHES "SOURCES")
list(APPEND sources ${arg})
+ elseif (param MATCHES "EXCLUDE")
+ list(APPEND exclude ${arg})
+
elseif (param MATCHES "CLASSPATH")
list(APPEND classpath ${arg})
@@ -46,7 +49,7 @@ function(javac target)
endif(param MATCHES "SOURCE_DIR")
- endif(arg MATCHES "(SOURCE_DIR|SOURCES|CLASSPATH|OUTPUT_DIR|DEPENDS)")
+ endif(arg MATCHES "(SOURCE_DIR|SOURCES|EXCLUDE|CLASSPATH|OUTPUT_DIR|DEPENDS)")
endforeach(arg)
@@ -60,22 +63,23 @@ function(javac target)
set(native_classpath "${native_classpath}${separator}${path}")
endforeach(path)
- set(filelist "${CMAKE_CURRENT_BINARY_DIR}/${target}.files")
+ set(file_list "${CMAKE_CURRENT_BINARY_DIR}/${target}.files")
add_custom_target(${target} ALL DEPENDS ${depends})
add_custom_command(
TARGET ${target}
COMMAND ${CMAKE_COMMAND}
- -Doutput=${filelist}
+ -Doutput=${file_list}
-Dinput_dir=${source_dir}
-Dfiles="${sources}"
+ -Dexclude="${exclude}"
-P ${CMAKE_MODULE_PATH}/JavaFileList.cmake
COMMAND ${CMAKE_Java_COMPILER}
${CMAKE_JAVA_COMPILE_FLAGS}
-cp ${native_classpath}
-d ${output_dir}
- @${filelist}
+ @${file_list}
WORKING_DIRECTORY
${source_dir}
)
@@ -96,7 +100,7 @@ function(jar target)
set(param ${arg})
set(operation "u")
- elseif (arg MATCHES "(INPUT_DIR|FILES|DEPENDS)")
+ elseif (arg MATCHES "(INPUT_DIR|FILES|EXCLUDE|DEPENDS)")
set(param ${arg})
else ()
@@ -110,6 +114,9 @@ function(jar target)
elseif (param MATCHES "FILES")
list(APPEND files ${arg})
+ elseif (param MATCHES "EXCLUDE")
+ list(APPEND exclude ${arg})
+
elseif (param MATCHES "DEPENDS")
list(APPEND depends ${arg})
@@ -119,20 +126,21 @@ function(jar target)
endforeach(arg)
- set(filelist "${CMAKE_CURRENT_BINARY_DIR}/${target}.files")
+ set(file_list "${CMAKE_CURRENT_BINARY_DIR}/${target}.files")
add_custom_target(${target} ALL DEPENDS ${depends})
add_custom_command(
TARGET ${target}
COMMAND ${CMAKE_COMMAND}
- -Doutput=${filelist}
+ -Doutput=${file_list}
-Dinput_dir=${input_dir}
-Dfiles="${files}"
+ -Dexclude="${exclude}"
-P ${CMAKE_MODULE_PATH}/JavaFileList.cmake
COMMAND ${CMAKE_Java_ARCHIVE}
-${operation}f ${output}
- @${filelist}
+ -C ${input_dir} @${file_list}
WORKING_DIRECTORY ${input_dir}
)