Select Git revision
CMakeLists.txt
CMakeLists.txt 2.61 KiB
if(PYTHONLIBS_FOUND)
set(SOURCES maca_export_parser.i)
set(PYTHON_PARSER_NAME MacaonParser)
include_directories(${PYTHON_INCLUDE_PATH})
include_directories(../../maca_trans_parser/src)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
#message(eeeeeeeeeeee ${CMAKE_CURRENT_SOURCE_DIR})
add_custom_command(
DEPENDS ${SOURCES}
OUTPUT maca_export_parser_py.cc
COMMAND swig -python -c++ -o maca_export_parser_py.cc ../../../maca_export/parser/maca_export_parser.i
)
# Specify the lib
add_library(${PYTHON_PARSER_NAME} SHARED
maca_export_parser_py.cc
maca_trans_parser_export.cc
)
set_target_properties(${PYTHON_PARSER_NAME} PROPERTIES PREFIX _)
target_link_libraries(${PYTHON_PARSER_NAME} transparse maca_common perceptron)
else()
message("pythonlibs not installed on your system")
endif()
if (JNI_FOUND AND (Java_FOUND OR JAVA_FOUND))
set(JAVA_MODULE_NAME MacaonParser)
set(JAVA_LIBRARY MacaonTransParserJava)
set(JAVA_CLASS MacaonTransParser)
set(JAVA_PACKAGE lif)
set(JAR_FILENAME macaonparser)
# Add include directories
include_directories(${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
# Run swig executable to generate java code
add_custom_command(
DEPENDS ${SOURCES}
OUTPUT maca_export_parser_java.cc
COMMAND swig -java -package ${JAVA_PACKAGE} -c++ -o maca_export_parser_java.cc ../../../maca_export/parser/maca_export_parser.i
)
add_library(${JAVA_LIBRARY} SHARED
maca_export_parser_java.cc
maca_trans_parser_export.cc
)
target_link_libraries(${JAVA_LIBRARY} transparse maca_common perceptron)
string(REGEX REPLACE "[.]" "/" JAVA_PACKAGE_DIR ${JAVA_PACKAGE})
add_custom_command(
TARGET ${JAVA_LIBRARY} POST_BUILD
COMMAND mkdir -p ${JAVA_PACKAGE_DIR}
COMMAND ${Java_JAVAC_EXECUTABLE} -encoding utf8 -d ${CMAKE_CURRENT_BINARY_DIR} #${JAVA_PACKAGE_DIR}
${JAVA_MODULE_NAME}JNI.java
${JAVA_CLASS}.java
${JAVA_MODULE_NAME}.java
${ADDITIONNAL_JAVA_FILES}
DEPENDS ${JAVA_MODULE_NAME}JNI.java ${JAVA_CLASS}.java ${JAVA_MODULE_NAME}.java ${ADDITIONNAL_JAVA_FILES}
)
add_custom_command(
TARGET ${JAVA_LIBRARY} POST_BUILD
COMMAND ${Java_JAR_EXECUTABLE} -cvf ${JAR_FILENAME}.jar -C ${CMAKE_CURRENT_BINARY_DIR} ${JAVA_PACKAGE_DIR}
DEPENDS ${JAVA_MODULE_NAME}JNI.java ${JAVA_CLASS}.java ${JAVA_MODULE_NAME}.java ${ADDITIONNAL_JAVA_FILES}
#WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Building ${JAR_FILENAME}" VERBATIM
)
else()
message("Java JNI support not installed")
endif()