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()
|