Andoird CMake: trying to autocreate Fluid files
This commit is contained in:
parent
563baced13
commit
111985665d
@ -26,17 +26,23 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
# instead of the fltk symlink, which is bad for SVN
|
||||
add_subdirectory(${FLTK_DIR}/ "${CMAKE_CURRENT_BINARY_DIR}/lib" EXCLUDE_FROM_ALL)
|
||||
|
||||
# run FLuid commands if any
|
||||
@ANDROID_FLUID_COMMANDS@
|
||||
|
||||
# copy source files
|
||||
@ANDROID_APP_COPY_SOURCES@
|
||||
|
||||
# now build app's shared lib
|
||||
add_library(
|
||||
test_@ANDROID_APP_NAME@ SHARED
|
||||
HelloAndroid.cxx)
|
||||
@ANDROID_APP_SOURCES@)
|
||||
|
||||
target_include_directories(
|
||||
test_@ANDROID_APP_NAME@ PRIVATE
|
||||
${FLTK_DIR}/
|
||||
${FLTK_IDE_DIR}/ )
|
||||
|
||||
# Export ANativeActivity_onCreate(),
|
||||
# Export ANativeActivity_onCreate()
|
||||
# Refer to: https://github.com/android-ndk/ndk/issues/381.
|
||||
set(CMAKE_SHARED_LINKER_FLAGS
|
||||
"${CMAKE_SHARED_LINKER_FLAGS} -u ANativeActivity_onCreate")
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -44,6 +44,9 @@ if (OPTION_CREATE_ANDROID_STUDIO_IDE)
|
||||
CREATE_ANDROID_IDE_FOR_TEST(arc arc.cxx fltk)
|
||||
CREATE_ANDROID_IDE_FOR_TEST(hello hello.cxx fltk)
|
||||
CREATE_ANDROID_IDE_FOR_TEST(input input.cxx fltk)
|
||||
CREATE_ANDROID_IDE_FOR_TEST(inactive inactive.fl fltk)
|
||||
# FIXME: fails because in the current schmeme, we can't find the .h files
|
||||
#CREATE_ANDROID_IDE_FOR_TEST(keyboard "keyboard.cxx;keyboard_ui.fl" fltk)
|
||||
endif (OPTION_CREATE_ANDROID_STUDIO_IDE)
|
||||
|
||||
#######################################################################
|
||||
|
||||
Loading…
Reference in New Issue
Block a user