iandroid
This commit is contained in:
@@ -1,72 +1,73 @@
|
||||
include (UseSWIG)
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
../../../H
|
||||
../../../H/generated
|
||||
../../../OPTYap
|
||||
../../../include
|
||||
../../../CXX
|
||||
.
|
||||
..
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
set_property(GLOBAL
|
||||
APPEND PROPERTY
|
||||
COMPILE_DEFINITIONS
|
||||
-Dmmap=mmap64)
|
||||
|
||||
|
||||
# This is a CMake file for SWIG and Android
|
||||
|
||||
FILE( MAKE_DIRECTORY ${YAP_APP_DIR}/src/generated/java/pt/up/yap/lib )
|
||||
FILE( MAKE_DIRECTORY ${YAP_APP_DIR}/src/generated/assets)
|
||||
set(CMAKE_SWIG_OUTDIR ${YAP_APP_DIR}/src/generated/java/pt/up/yap/lib )
|
||||
set( SWIG_MODULE_NAME pt.up.yap.lib )
|
||||
set ( pllib ${YAP_APP_DIR}/src/generated/assets/Yap )
|
||||
|
||||
set ( SWIG_SOURCES ${CMAKE_SOURCE_DIR}/packages/swig/yap.i )
|
||||
SET_SOURCE_FILES_PROPERTIES(${SWIG_SOURCES} PROPERTIES CPLUSPLUS ON)
|
||||
FILE( MAKE_DIRECTORY ${YAP_APP_DIR}/src/generated/assets)
|
||||
FILE( MAKE_DIRECTORY ${CMAKE_SWIG_OUTDIR})
|
||||
set(SWIG_OUTFILE_DIR ${CMAKE_CURRENT_BINARY_DIR} )
|
||||
set_property(SOURCE ../yap.i PROPERTY CPLUSPLUS ON)
|
||||
SET_SOURCE_FILES_PROPERTIES(../yap.i PROPERTIES SWIG_FLAGS "-O;-package;pt.up.yap.lib;-D__ANDROID__=1")
|
||||
|
||||
include_directories (
|
||||
${CMAKE_SOURCE_DIR}/CXX
|
||||
)
|
||||
set( GMP_ROOT ${CMAKE_SOURCE_DIR}/../gmp/${ANDROID_ABI} )
|
||||
set (GMP_INCLUDE_DIRS ${GMP_ROOT})
|
||||
set (GMP_LIBRARIES ${GMP_ROOT}/libgmp.so)
|
||||
set( SWIG_PACKAGE_NAME pt.up.yap.lib )
|
||||
|
||||
set (SWIG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../yap.i )
|
||||
|
||||
|
||||
add_custom_command (OUTPUT yap_swig.cpp
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${pllib}
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${pllib}/pl
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${pllib}/os
|
||||
add_custom_command( OUTPUT ${SWIG_OUTFILE_DIR}/yapJAVA.cxx
|
||||
COMMAND ${SWIG_EXECUTABLE} -c++ -java -O -package "pt.up.yap.lib" -I${CMAKE_SOURCE_DIR}/H -I${CMAKE_SOURCE_DIR}/H/generated -I${CMAKE_SOURCE_DIR}/include
|
||||
-I${CMAKE_SOURCE_DIR}/OPTYap -I${CMAKE_SOURCE_DIR}/os -I${CMAKE_SOURCE_DIR}/utf8proc -I.././.. -I${CMAKE_SOURCE_DIR}/CXX -I${CMAKE_SOURCE_DIR}/packages/python
|
||||
-outdir ${CMAKE_SWIG_OUTDIR} -I${GMP_INCLUDE_DIRS} -D__ANDROID__=1 -DX_API="" -o ${SWIG_OUTFILE_DIR}/yapJAVA.cxx -oh ${SWIG_OUTFILE_DIR}/yapJAVA.hh ${CMAKE_CURRENT_SOURCE_DIR}/../yap.i
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS ${SWIG_SOURCES}
|
||||
)
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${pl_library} ${pllib}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${pl_boot_library} ${pllib}/pl
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${pl_os_library} ${pllib}/os
|
||||
COMMAND ${SWIG_EXECUTABLE} -c++ -java -package ${SWIG_MODULE_NAME} -outdir ${CMAKE_SWIG_OUTDIR} -outcurrentdir -addextern -I${CMAKE_SOURCE_DIR}/CXX -I${CMAKE_SOURCE_DIR}/include -I${CMAKE_SOURCE_DIR}/H -I${CMAKE_SOURCE_DIR}/os -I${CMAKE_SOURCE_DIR}/OPTYap -I${CMAKE_BINARY_DIR} -I${GMP_INCLUDE_DIRS} -DX_API="" -o yap_swig.cpp ${SWIG_SOURCES}
|
||||
DEPENDS ${SWIG_SOURCES} YAP++
|
||||
)
|
||||
ADD_LIBRARY(YAPJava
|
||||
SHARED
|
||||
${SWIG_OUTFILE_DIR}/yapJAVA.cxx
|
||||
)
|
||||
|
||||
add_custom_command (OUTPUT swig_streamer.cpp
|
||||
COMMAND ${SWIG_EXECUTABLE} -c++ -java -package ${SWIG_MODULE_NAME} -outdir ${CMAKE_SWIG_OUTDIR} -outcurrentdir -addextern -I${CMAKE_CURRENT_SOURCE_DIR} -o swig_streamer.cpp streamer.i
|
||||
DEPENDS streamer.i
|
||||
)
|
||||
target_link_libraries(YAPJava YAP++ libYap android log)
|
||||
|
||||
set_property(SOURCE streamer.i PROPERTY CPLUSPLUS ON)
|
||||
SET_SOURCE_FILES_PROPERTIES(streamer.i PROPERTIES SWIG_FLAGS "-O;-package;pt.up.yap.lib;-D__ANDROID__=1")
|
||||
|
||||
|
||||
# GMP_FOUND - true if GMP/MPIR was found
|
||||
# GMP_INCLUDE_DIRS - include search path
|
||||
# GMP_LIBRARIES - libraries to link with
|
||||
#config.h needs this (TODO: change in code latter)
|
||||
include_directories( .;${GMP_INCLUDE_DIRS};${CMAKE_SOURCE_DIR}/include;${CMAKE_SOURCE_DIR}/H;${CMAKE_SOURCE_DIR}/H/generated;${CMAKE_SOURCE_DIR}/os;${CMAKE_SOURCE_DIR}/OPTYap;${CMAKE_BINARY_DIR};${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
set (SWIG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/streamer.i)
|
||||
|
||||
|
||||
|
||||
add_custom_command( OUTPUT ${SWIG_OUTFILE_DIR}/streamerJAVA.cxx
|
||||
COMMAND ${SWIG_EXECUTABLE} -c++ -java -O -package "pt.up.yap.lib" -O -I${CMAKE_SOURCE_DIR}/H -I${CMAKE_SOURCE_DIR}/H/generated -I${CMAKE_SOURCE_DIR}/include
|
||||
-I${CMAKE_SOURCE_DIR}/OPTYap -I${CMAKE_SOURCE_DIR}/os -I${CMAKE_SOURCE_DIR}/utf8proc -I.././.. -I${CMAKE_SOURCE_DIR}/CXX -I${CMAKE_SOURCE_DIR}/packages/python
|
||||
-outdir ${CMAKE_SWIG_OUTDIR} -I${GMP_INCLUDE_DIRS} -D__ANDROID__=1 -DX_API="" -o ${SWIG_OUTFILE_DIR}/streamerJAVA.cxx -oh ${SWIG_OUTFILE_DIR}/streamerJAVA.hh ${CMAKE_CURRENT_SOURCE_DIR}/streamer.i
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS ${SWIG_SOURCES}
|
||||
)
|
||||
|
||||
add_lib(YAPJava
|
||||
yap_swig.cpp swig_streamer.cpp streamer.cpp streamer.h
|
||||
)
|
||||
target_link_libraries(YAPJava ${GMP_LIBRARIES} )
|
||||
ADD_LIBRARY(YAPStreamer
|
||||
SHARED # [TYPE <SHARED|MODULE|STATIC|USE_BUILD_SHARED_LIBS>]
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/streamer.cpp ${SWIG_OUTFILE_DIR}/streamerJAVA.cxx
|
||||
)
|
||||
|
||||
target_link_libraries(YAPStreamer YAP++ libYap android log)
|
||||
|
||||
target_link_libraries( YAPJava YAP++ libYap android log)
|
||||
|
||||
if (FALSE)
|
||||
|
||||
set (SWIG_ADD_MODULE YAPJava SHARED CPLUPLUS ${SWIG_SOURCES} )
|
||||
# Define swig module with given name and specified language
|
||||
|
||||
|
||||
set (SWIG_LINK_LIBRARIES YAPJava YAP++ libYAP )
|
||||
#- Link libraries to swig module
|
||||
|
||||
|
||||
add_library (YAPJavaTop SHARED
|
||||
main.cpp main.h
|
||||
)
|
||||
|
||||
target_link_libraries( YAPJavaTop ${SWIG_MODULE_${YAPJava}_REAL_NAME} YAP++ libYap android)
|
||||
|
||||
endif()
|
||||
|
Reference in New Issue
Block a user