From e1f3068ad726e914c179d6e69ff33d1d666dc1ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hauke=20Kr=C3=BCger?= Date: Wed, 29 May 2024 21:35:09 +0200 Subject: [PATCH] 1) Added another file in SDK to allow automatic discovery of build mode. 2) Extended flutter code to track build mode of SDK --- CMakeLists.txt | 8 ++++++++ .../ayfstarter/post_install/CMakeLists.txt | 16 ++++++++++++++-- .../post_install/install_flutter_app.sh | 19 +++++++++++++------ 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cacd97ea..e838e9cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1255,6 +1255,14 @@ else(JVX_COMPILE_BUILDTOOLS) endif() else(NOT JVX_RELEASE_SDK) + + if(${CMAKE_BUILD_TYPE} MATCHES "^(Debug)$") + FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/.bv "DEBUG") + else() + FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/.bv "RELEASE") + endif() + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/.bv DESTINATION ${INSTALL_PATH_RELEASE_ROOT}) + configure_file(${JVX_BASE_ROOT}/cmake-sdk/standalone-cfg.in ${CMAKE_CURRENT_BINARY_DIR}/cmake/standalone-cfg.cmake @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/standalone-cfg.cmake DESTINATION ${INSTALL_PATH_RELEASE_ROOT}/cmake) install(DIRECTORY ${JVX_BASE_ROOT}/cmake-sdk DESTINATION ${INSTALL_PATH_RELEASE_ROOT}/cmake FILES_MATCHING PATTERN "*.cmake") diff --git a/sources/sub-projects/ayfstarter/post_install/CMakeLists.txt b/sources/sub-projects/ayfstarter/post_install/CMakeLists.txt index 24261f1e..41db56a7 100644 --- a/sources/sub-projects/ayfstarter/post_install/CMakeLists.txt +++ b/sources/sub-projects/ayfstarter/post_install/CMakeLists.txt @@ -1,7 +1,19 @@ project (ayfstarter) set(PROJECT_PREFIX starter_app) -install(CODE "execute_process(COMMAND ${mysh} -c - \"${CMAKE_CURRENT_SOURCE_DIR}/install_flutter_app.sh ${CMAKE_CURRENT_SOURCE_DIR} ${JVX_OS} ${PROJECT_PREFIX} ${CMAKE_INSTALL_PREFIX}/${INSTALL_PATH_BIN} example; exit\")") +set(SDK_FOLDER $ENV{AYF_SDK_PATH}) + +if(EXISTS ${SDK_FOLDER}/.bv) + file(READ ${SDK_FOLDER}/.bv contentFile) + if(${contentFile} MATCHES "DEBUG") + set(tokenBuild "--debug") + else() + set(tokenBuild "--release") + endif() + message("Runing flutter build command with option <${tokenBuild}>") + install(CODE "execute_process(COMMAND ${mysh} -c + \"${CMAKE_CURRENT_SOURCE_DIR}/install_flutter_app.sh ${CMAKE_CURRENT_SOURCE_DIR} ${JVX_OS} ${PROJECT_PREFIX} ${CMAKE_INSTALL_PREFIX}/${INSTALL_PATH_BIN} example ${tokenBuild}; exit\")") +endif() + ## install(CODE "execute_process(COMMAND install_flutter_app.sh)") diff --git a/sources/sub-projects/ayfstarter/post_install/install_flutter_app.sh b/sources/sub-projects/ayfstarter/post_install/install_flutter_app.sh index a8cdedc8..aa9ef7ed 100755 --- a/sources/sub-projects/ayfstarter/post_install/install_flutter_app.sh +++ b/sources/sub-projects/ayfstarter/post_install/install_flutter_app.sh @@ -25,24 +25,31 @@ echo "Making zip release in folder $pwdvar" export PATH=$PATH:$pwdvar/../../../../bin/tools echo "Running zip release with path=$PATH" -echo "flutter build $2" -flutter build $2 +echo "flutter build $2 $6" +flutter build $2 $6 + +if [[ "$6" == "--debug" ]] +then + subfolder=Debug +else + subfolder=Release +fi if [[ "$2" == "web" ]] then # What to do here?? echo "Compiling for target web" else - echo cp $1/.$3.env build/$sysfolder/runner/Release/data/flutter_assets - cp $1/.$3.env build/$sysfolder/runner/Release/data/flutter_assets + echo cp $1/.$3.env build/$sysfolder/runner/$subfolder/data/flutter_assets + cp $1/.$3.env build/$sysfolder/runner/$subfolder/data/flutter_assets if [ -d "$4/$3" ]; then echo "rm -rf $4/$3" rm -rf $4/$3 fi - echo "mv build/$sysfolder/runner/Release $4/$3" - mv build/$sysfolder/runner/Release $4/$3 + echo "mv build/$sysfolder/runner/$subfolder $4/$3" + mv build/$sysfolder/runner/$subfolder $4/$3 fi echo "Flutter app preparation completed!"