mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
89 lines
2.8 KiB
CMake
89 lines
2.8 KiB
CMake
cmake_minimum_required(VERSION 2.8)
|
|
project(JavaVTK)
|
|
|
|
if (CMAKE_BINARY_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|
message(FATAL_ERROR "VTK Android does not support in-source builds :) .")
|
|
endif ()
|
|
|
|
find_package(VTK COMPONENTS
|
|
vtkInteractionStyle
|
|
vtkRenderingOpenGL2
|
|
vtkRenderingFreeType
|
|
)
|
|
include(${VTK_USE_FILE})
|
|
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libs/${ANDROID_NDK_ABI_NAME})
|
|
message(${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
add_subdirectory(jni)
|
|
|
|
# find android
|
|
find_program(ANDROID_EXECUTABLE
|
|
NAMES android
|
|
DOC "The android command-line tool")
|
|
if(NOT ANDROID_EXECUTABLE)
|
|
message(FATAL_ERROR "Can not find android command line tool: android")
|
|
endif()
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml"
|
|
COPYONLY)
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/ant.properties.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/ant.properties"
|
|
@ONLY)
|
|
|
|
add_custom_target(JavaVTK-ant-configure ALL
|
|
COMMAND "${ANDROID_EXECUTABLE}"
|
|
update project
|
|
--name JavaVTK
|
|
--path "${CMAKE_CURRENT_SOURCE_DIR}"
|
|
--target "android-${ANDROID_NATIVE_API_LEVEL}"
|
|
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/build.xml"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/build.xml"
|
|
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/local.properties"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/local.properties"
|
|
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/project.properties"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/project.properties"
|
|
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/proguard-project.txt"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/proguard-project.txt"
|
|
COMMAND "${CMAKE_COMMAND}" -E remove
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/build.xml"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/local.properties"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/project.properties"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/proguard-project.txt"
|
|
WORKING_DIRECTORY
|
|
"${CMAKE_CURRENT_BINARY_DIR}")
|
|
|
|
add_dependencies(JavaVTK-ant-configure JavaVTK)
|
|
|
|
#find ant
|
|
find_program(ANT_EXECUTABLE
|
|
NAMES ant
|
|
DOC "The ant build tool")
|
|
if(NOT ANT_EXECUTABLE)
|
|
message(FATAL_ERROR "Can not find ant build tool: ant")
|
|
endif()
|
|
|
|
add_custom_target(JavaVTK-apk-release ALL
|
|
COMMAND ${ANT_EXECUTABLE}
|
|
-file "${CMAKE_CURRENT_BINARY_DIR}/build.xml"
|
|
release)
|
|
add_dependencies(JavaVTK-apk-release
|
|
JavaVTK-ant-configure
|
|
JavaVTK)
|
|
|
|
add_custom_target(JavaVTK-apk-debug ALL
|
|
COMMAND ${ANT_EXECUTABLE}
|
|
-file "${CMAKE_CURRENT_BINARY_DIR}/build.xml"
|
|
debug)
|
|
add_dependencies(JavaVTK-apk-debug
|
|
JavaVTK-apk-release
|
|
JavaVTK-ant-configure
|
|
JavaVTK)
|