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
|
project (jRDKFuncs Java)
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
INCLUDE_DIRECTORIES(${JNI_INCLUDE_DIRS})
SET_SOURCE_FILES_PROPERTIES(RDKFuncs.i PROPERTIES CPLUSPLUS ON )
SET(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_SOURCE_DIR}/org/RDKit )
SET(CMAKE_SWIG_FLAGS -package "org.RDKit")
SET(SWIG_MODULE_RDKFuncs_EXTRA_DEPS ../RDKFuncs.i)
SWIG_ADD_MODULE(RDKFuncs "java" RDKFuncs.i ../RDKFuncs.cpp)
SWIG_LINK_LIBRARIES(RDKFuncs ${RDKit_Wrapper_Libs} )
# code adapted from the wrapper code for
# GDCM: http://gdcm.svn.sf.net/viewvc/gdcm/trunk/Wrapping/Java/CMakeLists.txt?view=markup
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/org.RDKit.jar
## 1. run this custom command only after swig has been run.
COMMAND ${JAVA_COMPILE} ARGS "org/RDKit/*.java"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
## 2. now that the *.class have been generated construct the jar file.
COMMAND ${JAVA_ARCHIVE} ARGS cf
${CMAKE_CURRENT_SOURCE_DIR}/org.RDKit.jar
org/RDKit/*.class
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS "${swig_generated_file_fullname}"
COMMENT "javac *.java; jar cf -> .jar"
)
ADD_CUSTOM_TARGET(RDKitJava ALL
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/org.RDKit.jar
COMMENT "building jar"
)
INSTALL(TARGETS RDKFuncs
DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} )
|