File: CMakeLists.txt

package info (click to toggle)
syslog-ng 4.8.1-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 20,456 kB
  • sloc: ansic: 177,631; python: 13,035; cpp: 11,611; makefile: 7,012; sh: 5,147; java: 3,651; xml: 3,344; yacc: 1,377; lex: 599; perl: 193; awk: 190; objc: 162
file content (76 lines) | stat: -rw-r--r-- 2,521 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
set (SYSLOG_NG_CORE_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/main/java/org/syslog_ng)

set (NATIVE_SOURCES
    native/java_machine.c
    native/java_machine.h
    native/java-class-loader.c
    native/java-class-loader.h
    native/java-destination.c
    native/java-destination.h
    native/java-parser.c
    native/java-parser.h
    native/java-plugin.c
    native/java-config.c
    native/java-config.h
    ${CMAKE_CURRENT_BINARY_DIR}/java-grammar.c
    ${CMAKE_CURRENT_BINARY_DIR}/java-grammar.h
)

set (PROXIES_SOURCES
    proxies/internal-message-sender-proxy.c
    proxies/java-destination-proxy.c
    proxies/java-destination-proxy.h
    proxies/java-logmsg-proxy.c
    proxies/java-logmsg-proxy.h
    proxies/java-template-proxy.c
    proxies/java-template-proxy.h
)

set (JAVA_SOURCES
  ${SYSLOG_NG_CORE_SRC_DIR}/InternalMessageSender.java
  ${SYSLOG_NG_CORE_SRC_DIR}/SyslogNgClassLoader.java
  ${SYSLOG_NG_CORE_SRC_DIR}/LogMessage.java
  ${SYSLOG_NG_CORE_SRC_DIR}/LogTemplate.java
  ${SYSLOG_NG_CORE_SRC_DIR}/LogPipe.java
  ${SYSLOG_NG_CORE_SRC_DIR}/LogDestination.java
  ${SYSLOG_NG_CORE_SRC_DIR}/TextLogDestination.java
  ${SYSLOG_NG_CORE_SRC_DIR}/StructuredLogDestination.java
  ${SYSLOG_NG_CORE_SRC_DIR}/DummyTextDestination.java
  ${SYSLOG_NG_CORE_SRC_DIR}/DummyStructuredDestination.java
)

generate_y_from_ym(modules/java/native/java-grammar modules/java/java-grammar)

bison_target(ModJavaGrammar
    ${CMAKE_CURRENT_BINARY_DIR}/java-grammar.y
    ${CMAKE_CURRENT_BINARY_DIR}/java-grammar.c
    COMPILE_FLAGS ${BISON_FLAGS})
set_source_files_properties(
    ${CMAKE_CURRENT_BINARY_DIR}/java-grammar.c
    PROPERTIES
    COMPILE_FLAGS ${BISON_BUILT_SOURCE_CFLAGS}
)

find_package(Java 1.8)

module_switch(ENABLE_JAVA "Enable java module" JAVA_FOUND)
if (ENABLE_JAVA)

  find_package(JNI)
  include(UseJava)

  include(syslog_ng_core_java_native)
  create_syslog_ng_core_java_native()

  add_library(mod-java SHARED ${NATIVE_SOURCES} ${PROXIES_SOURCES})
  target_include_directories (mod-java
      PRIVATE
      ${CMAKE_CURRENT_BINARY_DIR}
      ${CMAKE_CURRENT_SOURCE_DIR}
      ${CMAKE_CURRENT_SOURCE_DIR}/native
  )
  target_include_directories (mod-java SYSTEM PRIVATE ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
  target_link_libraries(mod-java PRIVATE syslog-ng ${JAVA_JVM_LIBRARY} syslog-ng-core-java-native)
  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/syslog-ng-core.jar DESTINATION lib/syslog-ng/java-modules)
  install(TARGETS mod-java LIBRARY DESTINATION lib/syslog-ng COMPONENT java)
endif()