diff --git a/CMakeLists.txt b/CMakeLists.txt index 4162994..cde7b02 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ # of this license document, but changing it is not allowed. # -cmake_minimum_required(VERSION 3.18) +cmake_minimum_required(VERSION 3.19) project(RENAME_ME LANGUAGES CXX) if(TARGET ${PROJECT_NAME}) message("The ${PROJECT_NAME} arledy included in main Project") @@ -17,17 +17,15 @@ set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) if (ANDROID OR IOS) set(BUILD_SHARED_LIBS ON) endif() -if (NOT QT_VERSION_MAJOR) - find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Test QUIET) -endif() -find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Test QUIET) +find_package(Qt6 COMPONENTS Core REQUIRED) +find_package(Qt6 COMPONENTS Test QUIET) include(submodules/CMake/QuasarApp.cmake) @@ -38,22 +36,18 @@ set(RENAME_ME_PACKAGE_ID "quasarapp.core.RENAME_ME") option(RENAME_ME_TESTS "This option disables or enables tests of the ${PROJECT_NAME} project" ON) option(RENAME_ME_EXAMPLE "This option disables or enables example app of the ${PROJECT_NAME} project" ON) -if (ANDROID OR IOS OR NOT QT_VERSION_MAJOR OR QA_WASM32) +if (ANDROID OR IOS OR QA_WASM32) set(RENAME_ME_TESTS OFF CACHE BOOL "This option force disbled for ANDROID IOS QA_WASM32 and Not Qt projects" FORCE) endif() -if (NOT QT_VERSION_MAJOR) - set(RENAME_ME_EXAMPLE OFF CACHE BOOL "This option force disbled for Not Qt projects" FORCE) -endif() - make_directory(Distro) initAll() -add_subdirectory(src/Library) +add_subdirectory(src/RENAME_ME) if (DEFINED RENAME_ME_EXAMPLE) - add_subdirectory(src/Example) + add_subdirectory(src/example) endif() if (RENAME_ME_TESTS) @@ -64,4 +58,4 @@ endif() configure_file_in(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/doxygen.conf) addDoc(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/doxygen.conf) -addDeployFromCustomFile("RENAME_ME" "${CMAKE_CURRENT_SOURCE_DIR}/Deploy/RENAME_ME.json") +addDeployFromCustomFile("RENAME_ME" "${CMAKE_CURRENT_SOURCE_DIR}/deploy/RENAME_ME.json") diff --git a/init.sh b/init.sh index 4ab4efd..beebd67 100755 --- a/init.sh +++ b/init.sh @@ -7,21 +7,51 @@ then echo "You call this script wtth wrong arguments." echo "Example for start script:" echo "./init.sh MyCmakeProject" + echo "Usage: $0 " + exit 1 fi -REPLACESTRING="s+RENAME_ME+$1+g" -echo $REPLACESTRING +replacement="$1" -find . -not -path '*/\.*' -type f -exec sed -i $REPLACESTRING {} + -find . -not -path '*/\.*' -type f -exec sed -i $REPLACESTRING {} + +rename_files_and_folders() { + local dir="$1" + local old_str="$2" + local new_str="$3" -find src -type d -name '*RENAME_ME*' -exec sh -c 'x="{}"; NEWSTR=$(echo "$x" | sed "s/RENAME_ME/'$1'/"); mv "$x" "$NEWSTR"' \; + for item in "$dir"/*; do + if [ -d "$item" ]; then + new_name=$(echo "$item" | sed "s/$old_str/$new_str/g") + if [ "$item" != "$new_name" ]; then + mv "$item" "$new_name" + echo "Renamed directory: $item -> $new_name" + fi + rename_files_and_folders "$new_name" "$old_str" "$new_str" + elif [ -f "$item" ]; then + sed -i "s/$old_str/$new_str/g" "$item" -find src -type f -name '*RENAME_ME*' -exec sh -c 'x="{}"; NEWSTR=$(echo "$x" | sed "s/RENAME_ME/'$1'/"); mv "$x" "$NEWSTR"' \; -find Deploy -type f -name '*RENAME_ME*' -exec sh -c 'x="{}"; NEWSTR=$(echo "$x" | sed "s/RENAME_ME/'$1'/"); mv "$x" "$NEWSTR"' \; + new_name=$(echo "$item" | sed "s/$old_str/$new_str/g") + if [ "$item" != "$new_name" ]; then + mv "$item" "$new_name" + echo "Renamed file: $item -> $new_name" + fi + fi + done +} + +uppercase_string=$(echo "$replacement" | tr '[:lower:]' '[:upper:]') + +rename_files_and_folders "." "RENAME_ME_EXPORT" "${uppercase_string}_EXPORT" +rename_files_and_folders "." "RENAME_ME_VERSION" "${uppercase_string}_VERSION" +rename_files_and_folders "." "RENAME_ME_LIBRARY" "${uppercase_string}_LIBRARY" +rename_files_and_folders "." "RENAME_ME_EXAMPLE" "${uppercase_string}_EXAMPLE" +rename_files_and_folders "." "RENAME_ME_TESTS" "${uppercase_string}_TESTS" +rename_files_and_folders "." "RENAME_ME_PACKAGE_ID" "${uppercase_string}_PACKAGE_ID" + +rename_files_and_folders "." "RENAME_ME" "$replacement" + +echo "Replacement complete." -set -e git config -f .gitmodules --get-regexp '^submodule\..*\.path$' | while read path_key path @@ -30,6 +60,3 @@ git config -f .gitmodules --get-regexp '^submodule\..*\.path$' | url=$(git config -f .gitmodules --get "$url_key") git submodule add $url $path done - - - diff --git a/src/Library/CMakeLists.txt b/src/RENAME_ME/CMakeLists.txt similarity index 73% rename from src/Library/CMakeLists.txt rename to src/RENAME_ME/CMakeLists.txt index 9c84273..939d103 100644 --- a/src/Library/CMakeLists.txt +++ b/src/RENAME_ME/CMakeLists.txt @@ -5,11 +5,9 @@ # of this license document, but changing it is not allowed. # -cmake_minimum_required(VERSION 3.18) +cmake_minimum_required(VERSION 3.19) -get_filename_component(CURRENT_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR} NAME) - -set(CURRENT_PROJECT "${PROJECT_NAME}${CURRENT_PROJECT_DIR}") +set(CURRENT_PROJECT "${PROJECT_NAME}") add_definitions(-DRENAME_ME_LIBRARY) @@ -18,22 +16,16 @@ file(GLOB_RECURSE SOURCE_CPP "src/*.h" ) -if (${QT_VERSION_MAJOR}) - file(GLOB_RECURSE SOURCE_QRC - "*.qrc" - ) - -endif() +file(GLOB_RECURSE SOURCE_QRC + "*.qrc" +) set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/public") set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/private") - add_library(${CURRENT_PROJECT} ${SOURCE_CPP} ${SOURCE_QRC}) -if (${QT_VERSION_MAJOR}) - target_link_libraries(${CURRENT_PROJECT} PUBLIC Qt${QT_VERSION_MAJOR}::Core ) -endif() +target_link_libraries(${CURRENT_PROJECT} PUBLIC Qt${QT_VERSION_MAJOR}::Core ) target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR}) target_include_directories(${CURRENT_PROJECT} PRIVATE ${PRIVATE_INCUDE_DIR}) diff --git a/src/Library/RENAME_ME.qrc b/src/RENAME_ME/RENAME_ME.qrc similarity index 100% rename from src/Library/RENAME_ME.qrc rename to src/RENAME_ME/RENAME_ME.qrc diff --git a/src/Example/languages/en.ts b/src/RENAME_ME/languages/en.ts similarity index 100% rename from src/Example/languages/en.ts rename to src/RENAME_ME/languages/en.ts diff --git a/src/Library/src/RENAME_MEModule/RENAME_ME.qml b/src/RENAME_ME/src/RENAME_MEModule/RENAME_ME.qml similarity index 100% rename from src/Library/src/RENAME_MEModule/RENAME_ME.qml rename to src/RENAME_ME/src/RENAME_MEModule/RENAME_ME.qml diff --git a/src/Library/src/RENAME_MEModule/qmldir b/src/RENAME_ME/src/RENAME_MEModule/qmldir similarity index 100% rename from src/Library/src/RENAME_MEModule/qmldir rename to src/RENAME_ME/src/RENAME_MEModule/qmldir diff --git a/src/Library/src/public/RENAME_ME.cpp b/src/RENAME_ME/src/public/RENAME_ME.cpp similarity index 100% rename from src/Library/src/public/RENAME_ME.cpp rename to src/RENAME_ME/src/public/RENAME_ME.cpp diff --git a/src/Library/src/public/RENAME_ME.h b/src/RENAME_ME/src/public/RENAME_ME.h similarity index 100% rename from src/Library/src/public/RENAME_ME.h rename to src/RENAME_ME/src/public/RENAME_ME.h diff --git a/src/RENAME_ME/src/public/RENAME_ME/global.h b/src/RENAME_ME/src/public/RENAME_ME/global.h new file mode 100644 index 0000000..cbd3efb --- /dev/null +++ b/src/RENAME_ME/src/public/RENAME_ME/global.h @@ -0,0 +1,22 @@ +//# +//# Copyright (C) 2018-2023 QuasarApp. +//# Distributed under the GPLv3 software license, see the accompanying +//# Everyone is permitted to copy and distribute verbatim copies +//# of this license document, but changing it is not allowed. +//# + +#ifndef RENAME_ME_GLOBAL_H +#define RENAME_ME_GLOBAL_H + +#include + +#define RENAME_ME_VERSION "0.87.648a8dc" + +#if defined(RENAME_ME_LIBRARY) +# define RENAME_ME_EXPORT Q_DECL_EXPORT +#else +# define RENAME_ME_EXPORT Q_DECL_IMPORT +#endif + +#endif //RENAME_ME_GLOBAL_H + diff --git a/src/Library/src/public/RENAME_ME/global.h.in b/src/RENAME_ME/src/public/RENAME_ME/global.h.in similarity index 100% rename from src/Library/src/public/RENAME_ME/global.h.in rename to src/RENAME_ME/src/public/RENAME_ME/global.h.in diff --git a/src/Example/CMakeLists.txt b/src/example/CMakeLists.txt similarity index 76% rename from src/Example/CMakeLists.txt rename to src/example/CMakeLists.txt index 4e0b51e..337f8de 100644 --- a/src/Example/CMakeLists.txt +++ b/src/example/CMakeLists.txt @@ -5,45 +5,32 @@ # of this license document, but changing it is not allowed. # -cmake_minimum_required(VERSION 3.18) +cmake_minimum_required(VERSION 3.19) get_filename_component(CURRENT_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR} NAME) -set(CURRENT_PROJECT "${PROJECT_NAME}${CURRENT_PROJECT_DIR}") +set(CURRENT_PROJECT "${PROJECT_NAME}_${CURRENT_PROJECT_DIR}") option(SIGN_APP "This option enable od disabled sign apk and aab files" ON) file(GLOB_RECURSE SOURCE_CPP "*.cpp" "*.h" ) -if (${QT_VERSION_MAJOR}) - file(GLOB_RECURSE SOURCE_QRC - "*.qrc" - ) -endif() +file(GLOB_RECURSE SOURCE_QRC + "*.qrc" +) set(ALL_SOURCES ${SOURCE_CPP} ${SOURCE_QRC}) set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") -set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Private") +set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/private") updateGitVars() -if (${QT_VERSION_MAJOR} EQUAL 6) +qt_add_executable(${CURRENT_PROJECT} ${ALL_SOURCES}) - qt_add_executable(${CURRENT_PROJECT} MANUAL_FINALIZATION ${ALL_SOURCES}) - -else() - if (ANDROID) - add_library(${CURRENT_PROJECT} ${ALL_SOURCES}) - else () - add_executable(${CURRENT_PROJECT} ${ALL_SOURCES} ) - endif() - -endif() - -target_link_libraries(${CURRENT_PROJECT} PUBLIC ${PROJECT_NAME}Library) +target_link_libraries(${CURRENT_PROJECT} PUBLIC ${PROJECT_NAME}) target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR}) target_include_directories(${CURRENT_PROJECT} PRIVATE ${PRIVATE_INCUDE_DIR}) @@ -63,9 +50,6 @@ if (ANDROID) # libName ) -# find_package(Qt${QT_VERSION_MAJOR} COMPONENTS AndroidExtras REQUIRED) -# target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt${QT_VERSION_MAJOR}::AndroidExtras) - if (SIGN_APP) message("SIGN_APP") addDeploySignedAPK(${CURRENT_PROJECT} @@ -117,20 +101,13 @@ else() message(GIT_COMMIT_COUNT = ${GIT_COMMIT_COUNT}) - set(DeployFile "${CMAKE_CURRENT_SOURCE_DIR}/Deploy/RENAME_ME.json") + set(DeployFile "${CMAKE_CURRENT_SOURCE_DIR}/deploy/RENAME_ME.json") configure_file("${DeployFile}.in" ${DeployFile} @ONLY) addDeployFromCustomFile("RENAME_ME" ${DeployFile}) endif() -if(QT_VERSION_MAJOR EQUAL 6) - # Add This line if your project use the Quick module - # qt_import_qml_plugins(${CURRENT_PROJECT}) - qt_finalize_executable(${CURRENT_PROJECT}) -endif() - - set(LANGS ${CMAKE_CURRENT_SOURCE_DIR}/languages/en.ts ${CMAKE_CURRENT_SOURCE_DIR}/languages/ru.ts ${CMAKE_CURRENT_SOURCE_DIR}/languages/uk.ts diff --git a/src/Example/android/AndroidManifest.xml.in b/src/example/android/AndroidManifest.xml.in similarity index 100% rename from src/Example/android/AndroidManifest.xml.in rename to src/example/android/AndroidManifest.xml.in diff --git a/src/Example/android/build.gradle.in b/src/example/android/build.gradle.in similarity index 100% rename from src/Example/android/build.gradle.in rename to src/example/android/build.gradle.in diff --git a/src/Example/android/gradle.properties b/src/example/android/gradle.properties similarity index 100% rename from src/Example/android/gradle.properties rename to src/example/android/gradle.properties diff --git a/src/Example/android/gradle/wrapper/gradle-wrapper.jar b/src/example/android/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from src/Example/android/gradle/wrapper/gradle-wrapper.jar rename to src/example/android/gradle/wrapper/gradle-wrapper.jar diff --git a/src/Example/android/gradle/wrapper/gradle-wrapper.properties b/src/example/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from src/Example/android/gradle/wrapper/gradle-wrapper.properties rename to src/example/android/gradle/wrapper/gradle-wrapper.properties diff --git a/src/Example/android/gradlew b/src/example/android/gradlew similarity index 100% rename from src/Example/android/gradlew rename to src/example/android/gradlew diff --git a/src/Example/android/gradlew.bat b/src/example/android/gradlew.bat similarity index 100% rename from src/Example/android/gradlew.bat rename to src/example/android/gradlew.bat diff --git a/src/Example/android/res/drawable/splashscreen.xml b/src/example/android/res/drawable/splashscreen.xml similarity index 100% rename from src/Example/android/res/drawable/splashscreen.xml rename to src/example/android/res/drawable/splashscreen.xml diff --git a/src/Example/android/res/drawable/splashscreen_land.xml b/src/example/android/res/drawable/splashscreen_land.xml similarity index 100% rename from src/Example/android/res/drawable/splashscreen_land.xml rename to src/example/android/res/drawable/splashscreen_land.xml diff --git a/src/Example/android/res/drawable/splashscreen_port.xml b/src/example/android/res/drawable/splashscreen_port.xml similarity index 100% rename from src/Example/android/res/drawable/splashscreen_port.xml rename to src/example/android/res/drawable/splashscreen_port.xml diff --git a/src/Example/android/res/values-land/splashscreentheme.xml b/src/example/android/res/values-land/splashscreentheme.xml similarity index 100% rename from src/Example/android/res/values-land/splashscreentheme.xml rename to src/example/android/res/values-land/splashscreentheme.xml diff --git a/src/Example/android/res/values-port/splashscreentheme.xml b/src/example/android/res/values-port/splashscreentheme.xml similarity index 100% rename from src/Example/android/res/values-port/splashscreentheme.xml rename to src/example/android/res/values-port/splashscreentheme.xml diff --git a/src/Example/android/res/values/libs.xml b/src/example/android/res/values/libs.xml similarity index 100% rename from src/Example/android/res/values/libs.xml rename to src/example/android/res/values/libs.xml diff --git a/src/Example/android/res/values/splashscreentheme.xml b/src/example/android/res/values/splashscreentheme.xml similarity index 100% rename from src/Example/android/res/values/splashscreentheme.xml rename to src/example/android/res/values/splashscreentheme.xml diff --git a/src/Example/android/src/com/quasarapp/androidtools/MainActivity.java b/src/example/android/src/com/quasarapp/androidtools/MainActivity.java similarity index 100% rename from src/Example/android/src/com/quasarapp/androidtools/MainActivity.java rename to src/example/android/src/com/quasarapp/androidtools/MainActivity.java diff --git a/src/example/deploy/RENAME_ME.json b/src/example/deploy/RENAME_ME.json new file mode 100644 index 0000000..a0e8bac --- /dev/null +++ b/src/example/deploy/RENAME_ME.json @@ -0,0 +1,27 @@ +{ + "bin": [ + "src/build/Debug/RENAME_MEEaxample", + "src/build/Debug/RENAME_MEEaxample.exe" + ], + "clear": true, + "binPrefix": "/media/D/builds/build-CMakeProject-Desktop_Qt_6_5_2_GCC_64bit-Debug", + "libDir": [ + "/media/D/builds/CMakeProject", + "/home/andrei/Qt/6.5.2/gcc_64", + "/media/D/builds/build-CMakeProject-Desktop_Qt_6_5_2_GCC_64bit-Debug" + ], + "recursiveDepth": "10", + "deploySystem": false, + "qmlDir": "../", + "deb": true, + "qif": true, + "zip": true, + "ignoreEnv": [ + "/media/D/builds/CMakeProject/Distro" + ], + "extraLib": "crypto", + "targetDir": "/media/D/builds/CMakeProject/Distro", + "deployVersion": "0.87.648a8dc", + +} + diff --git a/src/Example/Deploy/RENAME_ME.json.in b/src/example/deploy/RENAME_ME.json.in similarity index 100% rename from src/Example/Deploy/RENAME_ME.json.in rename to src/example/deploy/RENAME_ME.json.in diff --git a/src/Example/languages/de.ts b/src/example/languages/de.ts similarity index 100% rename from src/Example/languages/de.ts rename to src/example/languages/de.ts diff --git a/src/Library/languages/en.ts b/src/example/languages/en.ts similarity index 100% rename from src/Library/languages/en.ts rename to src/example/languages/en.ts diff --git a/src/Example/languages/es.ts b/src/example/languages/es.ts similarity index 100% rename from src/Example/languages/es.ts rename to src/example/languages/es.ts diff --git a/src/Example/languages/fr.ts b/src/example/languages/fr.ts similarity index 100% rename from src/Example/languages/fr.ts rename to src/example/languages/fr.ts diff --git a/src/Example/languages/ja.ts b/src/example/languages/ja.ts similarity index 100% rename from src/Example/languages/ja.ts rename to src/example/languages/ja.ts diff --git a/src/Example/languages/pl.ts b/src/example/languages/pl.ts similarity index 100% rename from src/Example/languages/pl.ts rename to src/example/languages/pl.ts diff --git a/src/Example/languages/ru.ts b/src/example/languages/ru.ts similarity index 100% rename from src/Example/languages/ru.ts rename to src/example/languages/ru.ts diff --git a/src/Example/languages/tr.ts b/src/example/languages/tr.ts similarity index 100% rename from src/Example/languages/tr.ts rename to src/example/languages/tr.ts diff --git a/src/Example/languages/uk.ts b/src/example/languages/uk.ts similarity index 100% rename from src/Example/languages/uk.ts rename to src/example/languages/uk.ts diff --git a/src/Example/languages/zh.ts b/src/example/languages/zh.ts similarity index 100% rename from src/Example/languages/zh.ts rename to src/example/languages/zh.ts diff --git a/src/Example/main.cpp b/src/example/main.cpp similarity index 100% rename from src/Example/main.cpp rename to src/example/main.cpp diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 385933f..69a8b5e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -5,11 +5,11 @@ # of this license document, but changing it is not allowed. # -cmake_minimum_required(VERSION 3.18) +cmake_minimum_required(VERSION 3.19) get_filename_component(CURRENT_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR} NAME) -set(CURRENT_PROJECT "${PROJECT_NAME}${CURRENT_PROJECT_DIR}") +set(CURRENT_PROJECT "${PROJECT_NAME}_${CURRENT_PROJECT_DIR}") file(GLOB_RECURSE SOURCE_CPP "*.cpp" "*.h" "*.qrc" @@ -20,10 +20,9 @@ set(PUBLIC_INCUDE_DIR ${PUBLIC_INCUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/units") add_executable(${CURRENT_PROJECT} ${SOURCE_CPP}) -target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt${QT_VERSION_MAJOR}::Test ${PROJECT_NAME}Library) +target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt${QT_VERSION_MAJOR}::Test ${PROJECT_NAME}) target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR}) - initTests() addTests(${PROJECT_NAME} ${CURRENT_PROJECT})