~ubuntu-branches/ubuntu/jaunty/cmake/jaunty-security

« back to all changes in this revision

Viewing changes to Modules/CMakeJavaCompiler.cmake.in

  • Committer: Bazaar Package Importer
  • Author(s): A. Maitland Bottoms
  • Date: 2005-03-02 09:22:44 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050302092244-y6o9j8wr27vqcqvx
Tags: 2.0.5-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
SET(CMAKE_JAVA_COMPILER "@CMAKE_JAVA_COMPILER@")
 
2
SET(CMAKE_JAVA_RUNTIME  "@CMAKE_JAVA_RUNTIME@")
 
3
SET(CMAKE_JAVA_ARCHIVE  "@CMAKE_JAVA_ARCHIVE@")
 
4
SET(CMAKE_JAVA_COMPILER_LOADED 1)
 
5
SET(CMAKE_JAVA_RUNTIME_LOADED 1)
 
6
SET(CMAKE_JAVA_ARCHIVE_LOADED 1)
 
7
 
 
8
MACRO(ADD_JAVA_LIBRARY LIBRARYNAME SOURCES)
 
9
  IF(CMAKE_JAVA_COMPILER AND CMAKE_JAVA_ARCHIVE)
 
10
    SET(CMAKE_JAVA_INCLUDE_PATH ${CMAKE_JAVA_INCLUDE_PATH}
 
11
                          ${CMAKE_CURRENT_SOURCE_DIR} 
 
12
                          ${CMAKE_CURRENT_BINARY_DIR}
 
13
                          ${LIBRARY_OUTPUT_PATH})
 
14
    SET(CMAKE_JAVA_INCLUDE_PATH_TOTAL "")
 
15
 
 
16
    FOREACH(DIR ${CMAKE_JAVA_INCLUDE_PATH})
 
17
       SET(CMAKE_JAVA_INCLUDE_PATH_TOTAL "${CMAKE_JAVA_INCLUDE_PATH_TOTAL}:${DIR}")
 
18
    ENDFOREACH(DIR)
 
19
    IF(WIN32)
 
20
      STRING(REGEX REPLACE "/" "\\\\" CMAKE_JAVA_INCLUDE_PATH_TOTAL 
 
21
             ${CMAKE_JAVA_INCLUDE_PATH_TOTAL})
 
22
      STRING(REGEX REPLACE "/" "\\\\" CMAKE_JAVA_CLASS_OUTPUT_PATH
 
23
             ${CMAKE_CURRENT_BINARY_DIR})
 
24
      STRING(REGEX REPLACE ":([^\\/])" "\\\\;\\1" CMAKE_JAVA_INCLUDE_PATH_TOTAL
 
25
             ${CMAKE_JAVA_INCLUDE_PATH_TOTAL})
 
26
    ELSE(WIN32)
 
27
      SET(CMAKE_JAVA_CLASS_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
 
28
    ENDIF(WIN32)
 
29
 
 
30
    ADD_CUSTOM_TARGET(${LIBRARYNAME}_target ALL)
 
31
 
 
32
    SET(CMAKE_JAVA_ALL_CLASS_FILES "")
 
33
    FOREACH(SOURCE ${SOURCES})
 
34
      GET_FILENAME_COMPONENT(CLASS_FILE ${SOURCE} NAME_WE)
 
35
      ADD_CUSTOM_COMMAND(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}
 
36
                         COMMAND ${CMAKE_JAVA_COMPILER}
 
37
                         ARGS ${CMAKE_JAVA_COMPILE_FLAGS} 
 
38
                              -classpath ${CMAKE_JAVA_INCLUDE_PATH_TOTAL} 
 
39
                              ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}
 
40
                              -d ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/
 
41
                         TARGET ${LIBRARYNAME}_target
 
42
                         OUTPUTS ${CLASS_FILE}.class
 
43
                         COMMENT "Java File" )
 
44
      SET(CMAKE_JAVA_ALL_CLASS_FILES ${CMAKE_JAVA_ALL_CLASS_FILES} ${CLASS_FILE}.class)
 
45
    ENDFOREACH(SOURCE)
 
46
    IF(LIBRARY_OUTPUT_PATH)
 
47
      SET(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH}) 
 
48
    ELSE(LIBRARY_OUTPUT_PATH)
 
49
      SET(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
 
50
    ENDIF(LIBRARY_OUTPUT_PATH)
 
51
    ADD_CUSTOM_COMMAND(SOURCE ${CMAKE_JAVA_ALL_CLASS_FILES}
 
52
                       COMMAND ${CMAKE_COMMAND}
 
53
                       ARGS -E chdir ${CMAKE_CURRENT_BINARY_DIR}
 
54
                            ${CMAKE_JAVA_ARCHIVE} 
 
55
                            -cvf ${CMAKE_JAVA_LIBRARY_OUTPUT_PATH}/${LIBRARYNAME}.jar *.class
 
56
                       TARGET ${LIBRARYNAME}_target
 
57
                       DEPENDS ${CMAKE_JAVA_ALL_CLASS_FILES}
 
58
                       OUTPUTS ${CMAKE_JAVA_LIBRARY_OUTPUT_PATH}/${LIBRARYNAME}.jar
 
59
                       COMMENT "Java Archive")
 
60
    ADD_CUSTOM_COMMAND(SOURCE ${LIBRARYNAME}_target
 
61
                       TARGET ${LIBRARYNAME}_target
 
62
                       DEPENDS ${CMAKE_JAVA_LIBRARY_OUTPUT_PATH}/${LIBRARYNAME}.jar)
 
63
  ELSE(CMAKE_JAVA_COMPILER AND CMAKE_JAVA_ARCHIVE)
 
64
    MESSAGE(SEND_ERROR "Java compiler and/or Java archiver not found")
 
65
  ENDIF(CMAKE_JAVA_COMPILER AND CMAKE_JAVA_ARCHIVE)
 
66
ENDMACRO(ADD_JAVA_LIBRARY LIBRARYNAME SOURCES)
 
 
b'\\ No newline at end of file'