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
|
if (ENABLE_JAVA_MODULES AND NOT ENABLE_JAVA)
message(FATAL_ERROR "Java based modules enabled, but the required syslog-ng Java plugin is disabled.")
endif ()
find_package (Gradle 3.4)
if (ENABLE_JAVA_MODULES AND NOT GRADLE_FOUND)
message(FATAL_ERROR "Java based modules enabled, but the required gardle dependency is not found.")
endif ()
set (CAN_ENABLE_JAVA_MODULES OFF)
if ((GRADLE_FOUND AND ENABLE_JAVA))
set (CAN_ENABLE_JAVA_MODULES ON)
endif ()
module_switch (ENABLE_JAVA_MODULES "Enable Java modules" CAN_ENABLE_JAVA_MODULES)
if (NOT ENABLE_JAVA_MODULES)
return ()
endif ()
set(GRADLE_WORKDIR ${CMAKE_CURRENT_BINARY_DIR}/.gradle)
set(SYSLOG_DEPS_DIR ${PROJECT_BINARY_DIR}/modules/java)
set(JAVA_MOD_DST_DIR "${CMAKE_INSTALL_PREFIX}/lib/syslog-ng/java-modules")
add_custom_target(BuildJavaModules ALL
COMMAND ${GRADLE_EXECUTABLE} --project-cache-dir ${GRADLE_WORKDIR} -g ${GRADLE_WORKDIR} -p ${CMAKE_CURRENT_SOURCE_DIR} -PsyslogBuildDir=${CMAKE_CURRENT_BINARY_DIR} -PsyslogDepsDir=${SYSLOG_DEPS_DIR} build copyJars
)
add_dependencies(BuildJavaModules mod-java)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/built-jars/ DESTINATION lib/syslog-ng/java-modules)
install(CODE "execute_process(COMMAND ${GRADLE_EXECUTABLE} --project-cache-dir ${GRADLE_WORKDIR} -g ${GRADLE_WORKDIR} -p ${CMAKE_CURRENT_SOURCE_DIR} -PsyslogBuildDir=${CMAKE_CURRENT_BINARY_DIR} -PsyslogDepsDir=${SYSLOG_DEPS_DIR} -PjarDestDir=${JAVA_MOD_DST_DIR} copyLog4j)")
install(CODE "execute_process(COMMAND ${GRADLE_EXECUTABLE} --project-cache-dir ${GRADLE_WORKDIR} -g ${GRADLE_WORKDIR} -p ${CMAKE_CURRENT_SOURCE_DIR} -PsyslogBuildDir=${CMAKE_CURRENT_BINARY_DIR} -PsyslogDepsDir=${SYSLOG_DEPS_DIR} -PjarDestDir=${JAVA_MOD_DST_DIR} copyJestRuntimeDeps)")
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ".gradle")
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "built-jars")
|