summaryrefslogtreecommitdiff
path: root/CMake/android.cmake
diff options
context:
space:
mode:
authorMatthias Melcher <git@matthiasm.com>2019-01-17 00:49:44 +0100
committerMatthias Melcher <git@matthiasm.com>2019-01-17 00:49:44 +0100
commit111985665d8ae08437d3c9d61c7975ad69c6d099 (patch)
treefa4e90f68b371d3a00b6330b50fd86fd8c33a064 /CMake/android.cmake
parent563baced13e4961500dccd35b19e9b063c93dc9c (diff)
Andoird CMake: trying to autocreate Fluid files
Diffstat (limited to 'CMake/android.cmake')
-rw-r--r--CMake/android.cmake32
1 files changed, 31 insertions, 1 deletions
diff --git a/CMake/android.cmake b/CMake/android.cmake
index 267210553..7a8064a05 100644
--- a/CMake/android.cmake
+++ b/CMake/android.cmake
@@ -100,8 +100,39 @@ configure_file(
macro(CREATE_ANDROID_IDE_FOR_TEST NAME SOURCES LIBRARIES)
message(STATUS "Creating Android IDE for ${NAME}")
+
set (ANDROID_APP_NAME ${NAME})
+ set (srcs)
+ set (ANDROID_APP_SOURCES)
+ set (ANDROID_APP_COPY_SOURCES)
+ set (ANDROID_FLUID_COMMANDS)
+ set (flsrcs) # fluid source files
+ foreach(src ${SOURCES})
+ if ("${src}" MATCHES "\\.fl$")
+ list(APPEND flsrcs ${src})
+ string(REGEX REPLACE "(.*).fl" \\1 basename ${src})
+ string(APPEND ANDROID_FLUID_COMMANDS
+ "add_custom_command( OUTPUT \"${basename}.cxx\" \"${basename}.h\"\n"
+ " OUTPUT \"${basename}.cxx\" \"${basename}.h\"\n"
+ " COMMAND fluid -c \"\${CMAKE_CURRENT_SOURCE_DIR}/${src}\"\n"
+ " DEPENDS ${src}\n"
+ " MAIN_DEPENDENCY ${src}\n"
+ ")\n\n"
+ )
+ set(src_cxx ${basename}.cxx)
+ else ()
+ list(APPEND srcs ${src})
+ set(src_cxx ${src})
+ endif ("${src}" MATCHES "\\.fl$")
+ file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/AndroidStudio/${ANDROID_APP_NAME}/src/main/cpp/")
+ # FIXME: Unix only for older version of CMake
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
+ "${CMAKE_CURRENT_SOURCE_DIR}/${src}"
+ "${CMAKE_BINARY_DIR}/AndroidStudio/${ANDROID_APP_NAME}/src/main/cpp/${src}")
+ string(APPEND ANDROID_APP_SOURCES " ${src_cxx}\n")
+ endforeach(src)
+
configure_file(
"${CMAKE_SOURCE_DIR}/CMake/Android/app.build.gradle.in"
"${CMAKE_BINARY_DIR}/AndroidStudio/${ANDROID_APP_NAME}/build.gradle"
@@ -114,7 +145,6 @@ macro(CREATE_ANDROID_IDE_FOR_TEST NAME SOURCES LIBRARIES)
@ONLY
)
-
configure_file(
"${CMAKE_SOURCE_DIR}/CMake/Android/Roboto-Regular.ttf"
"${CMAKE_BINARY_DIR}/AndroidStudio/${ANDROID_APP_NAME}/src/main/assets/fonts/Roboto-Regular.ttf"