init commit

This commit is contained in:
Andrei Yankovich 2023-08-30 18:29:45 +02:00
parent afa11d3e92
commit 353e06f1e4
22 changed files with 72 additions and 130 deletions

3
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "CMake"]
path = submodules/CMake
url = https://github.com/QuasarApp/CMake.git
[submodule "submodules/CMake"]
path = submodules/CMake
url = https://github.com/QuasarApp/CMake.git

View File

@ -6,7 +6,7 @@
#
cmake_minimum_required(VERSION 3.19)
project(RENAME_ME LANGUAGES CXX)
project(qTbot LANGUAGES CXX)
if(TARGET ${PROJECT_NAME})
message("The ${PROJECT_NAME} arledy included in main Project")
return()
@ -30,27 +30,27 @@ find_package(Qt6 COMPONENTS Test QUIET)
include(submodules/CMake/QuasarApp.cmake)
updateGitVars()
set(RENAME_ME_VERSION "0.${GIT_COMMIT_COUNT}.${GIT_COMMIT_HASH}")
set(RENAME_ME_PACKAGE_ID "quasarapp.core.RENAME_ME")
set(QTBOT_VERSION "0.${GIT_COMMIT_COUNT}.${GIT_COMMIT_HASH}")
set(QTBOT_PACKAGE_ID "quasarapp.core.qTbot")
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)
option(QTBOT_TESTS "This option disables or enables tests of the ${PROJECT_NAME} project" ON)
option(QTBOT_EXAMPLE "This option disables or enables example app of the ${PROJECT_NAME} project" ON)
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)
set(QTBOT_TESTS OFF CACHE BOOL "This option force disbled for ANDROID IOS QA_WASM32 and Not Qt projects" FORCE)
endif()
make_directory(Distro)
initAll()
add_subdirectory(src/RENAME_ME)
add_subdirectory(src/qTbot)
if (DEFINED RENAME_ME_EXAMPLE)
if (DEFINED QTBOT_EXAMPLE)
add_subdirectory(src/example)
endif()
if (RENAME_ME_TESTS)
if (QTBOT_TESTS)
add_subdirectory(tests)
else()
message("The ${PROJECT_NAME} tests is disabled.")
@ -58,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("qTbot" "${CMAKE_CURRENT_SOURCE_DIR}/deploy/qTbot.json")

View File

@ -1,6 +1,6 @@
# CMakeProject
Template repository for cmake project
Fork me and replase RENAME_ME to Name of your new project.
Fork me and replase qTbot to Name of your new project.
1. Clone this repository
2. Run ./init.sh NewProjectName

View File

@ -32,18 +32,18 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = RENAME_ME
PROJECT_NAME = qTbot
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = @RENAME_ME_VERSION@
PROJECT_NUMBER = @QTBOT_VERSION@
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF = RENAME_ME is base back end library for your c++ Qt projects.
PROJECT_BRIEF = qTbot is base back end library for your c++ Qt projects.
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
@ -1452,7 +1452,7 @@ GENERATE_ECLIPSEHELP = NO
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
ECLIPSE_DOC_ID = QuasarApp.RENAME_ME
ECLIPSE_DOC_ID = QuasarApp.qTbot
# If you want full control over the layout of the generated HTML pages it might
# be necessary to disable the index and replace it with your own. The

62
init.sh
View File

@ -1,62 +0,0 @@
#!/bin/sh
echo "Project name: $1"
if [ $# -ne 1 ]
then
echo "You call this script wtth wrong arguments."
echo "Example for start script:"
echo "./init.sh MyCmakeProject"
echo "Usage: $0 <replacement_string>"
exit 1
fi
replacement="$1"
rename_files_and_folders() {
local dir="$1"
local old_str="$2"
local new_str="$3"
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"
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."
git config -f .gitmodules --get-regexp '^submodule\..*\.path$' |
while read path_key path
do
url_key=$(echo $path_key | sed 's/\.path/.url/')
url=$(git config -f .gitmodules --get "$url_key")
git submodule add $url $path
done

View File

@ -1,9 +0,0 @@
<RCC>
<qresource prefix="/">
<file>src/RENAME_MEModule/qmldir</file>
<file>src/RENAME_MEModule/RENAME_ME.qml</file>
</qresource>
<qresource prefix="/RENAME_METr">
<file>languages/en.qm</file>
</qresource>
</RCC>

View File

@ -1,3 +0,0 @@
module RENAME_MEModule
RENAME_ME 1.0 RENAME_ME.qml

View File

@ -45,7 +45,7 @@ if (ANDROID)
set(ANDROID_API_VERSION $ENV{ANDROID_API_VERSION})
set(OPENSSL_ROOT_PATH "$ENV{OPENSSL_ROOT_DIR}")
set(RENAME_ME_EXTRA_LIBS
set(qTbot_EXTRA_LIBS
${PROJECT_NAME}Library
# libName
)
@ -58,7 +58,7 @@ if (ANDROID)
"${SIGPATH}/quasarapp.keystore"
"${SIGPASS_QUASARAPP}"
"${TARGET_DIR}"
"${RENAME_ME_EXTRA_LIBS}")
"${qTbot_EXTRA_LIBS}")
else()
message("NO_SIGN_APP")
@ -66,7 +66,7 @@ if (ANDROID)
addDeployAPK(${CURRENT_PROJECT}
"${CMAKE_CURRENT_LIST_DIR}/android"
"${TARGET_DIR}"
"${RENAME_ME_EXTRA_LIBS}")
"${qTbot_EXTRA_LIBS}")
endif()
set(manifest_file "${CMAKE_CURRENT_SOURCE_DIR}/android/AndroidManifest.xml")
@ -92,19 +92,19 @@ elseif(IOS)
# set_xcode_property(${CURRENT_PROJECT} PRODUCT_BUNDLE_IDENTIFIER ${CHEATCARD_PACKAGE_ID} All)
set_target_properties(${CURRENT_PROJECT} PROPERTIES
MACOSX_BUNDLE_GUI_IDENTIFIER ${RENAME_ME_PACKAGE_ID}
MACOSX_BUNDLE_BUNDLE_VERSION ${RENAME_ME_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${RENAME_ME_VERSION}
MACOSX_BUNDLE_GUI_IDENTIFIER ${QTBOT_PACKAGE_ID}
MACOSX_BUNDLE_BUNDLE_VERSION ${QTBOT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${QTBOT_VERSION}
)
else()
# Desctop deploying
message(GIT_COMMIT_COUNT = ${GIT_COMMIT_COUNT})
set(DeployFile "${CMAKE_CURRENT_SOURCE_DIR}/deploy/RENAME_ME.json")
set(DeployFile "${CMAKE_CURRENT_SOURCE_DIR}/deploy/qTbot.json")
configure_file("${DeployFile}.in" ${DeployFile} @ONLY)
addDeployFromCustomFile("RENAME_ME" ${DeployFile})
addDeployFromCustomFile("qTbot" ${DeployFile})
endif()

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<manifest package="@RENAME_ME_PACKAGE_ID@" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="@RENAME_ME_VERSION@" android:versionCode="@GIT_COMMIT_COUNT@" android:installLocation="auto">
<manifest package="@QTBOT_PACKAGE_ID@" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="@QTBOT_VERSION@" android:versionCode="@GIT_COMMIT_COUNT@" android:installLocation="auto">
<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
Remove the comment if you do not require these default permissions. -->
<!-- %%INSERT_PERMISSIONS -->

View File

@ -1,7 +1,7 @@
{
"bin": [
"src/build/Debug/RENAME_MEEaxample",
"src/build/Debug/RENAME_MEEaxample.exe"
"src/build/Debug/qTbotEaxample",
"src/build/Debug/qTbotEaxample.exe"
],
"clear": true,
"binPrefix": "/media/D/builds/build-CMakeProject-Desktop_Qt_6_5_2_GCC_64bit-Debug",

View File

@ -1,7 +1,7 @@
{
"bin": [
"src/build/Debug/RENAME_MEEaxample",
"src/build/Debug/RENAME_MEEaxample.exe"
"src/build/Debug/qTbotEaxample",
"src/build/Debug/qTbotEaxample.exe"
],
"clear": true,
"binPrefix": "@CMAKE_BINARY_DIR@",
@ -21,7 +21,7 @@
],
"extraLib": "crypto",
"targetDir": "@CMAKE_SOURCE_DIR@/Distro",
"deployVersion": "@RENAME_ME_VERSION@",
"deployVersion": "@QTBOT_VERSION@",
}

View File

@ -8,7 +8,7 @@
cmake_minimum_required(VERSION 3.19)
set(CURRENT_PROJECT "${PROJECT_NAME}")
add_definitions(-DRENAME_ME_LIBRARY)
add_definitions(-DQTBOT_LIBRARY)
file(GLOB_RECURSE SOURCE_CPP
@ -37,5 +37,5 @@ prepareQM(${CURRENT_PROJECT} ${CMAKE_CURRENT_SOURCE_DIR} "${LANGS}")
set(QML_IMPORT_PATH ${QML_IMPORT_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/src" CACHE STRING "" FORCE)
set(global_file "${CMAKE_CURRENT_SOURCE_DIR}/src/public/RENAME_ME/global.h")
set(global_file "${CMAKE_CURRENT_SOURCE_DIR}/src/public/qTbot/global.h")
configure_file("${global_file}.in" ${global_file} @ONLY)

9
src/qTbot/qTbot.qrc Normal file
View File

@ -0,0 +1,9 @@
<RCC>
<qresource prefix="/">
<file>src/qTbotModule/qmldir</file>
<file>src/qTbotModule/qTbot.qml</file>
</qresource>
<qresource prefix="/qTbotTr">
<file>languages/en.qm</file>
</qresource>
</RCC>

View File

@ -5,18 +5,18 @@
//# of this license document, but changing it is not allowed.
//#
#include "RENAME_ME.h"
#include "qTbot.h"
namespace RENAME_ME {
namespace qTbot {
bool init() {
initRENAME_MEResources();
initqTbotResources();
return true;
}
QString version() {
return RENAME_ME_VERSION;
return QTBOT_VERSION;
}

View File

@ -5,23 +5,23 @@
//# of this license document, but changing it is not allowed.
//#
#include "RENAME_ME/global.h"
#include "qTbot/global.h"
#include <QString>
inline void initRENAME_MEResources() { Q_INIT_RESOURCE(RENAME_ME); }
inline void initqTbotResources() { Q_INIT_RESOURCE(qTbot); }
namespace RENAME_ME {
namespace qTbot {
/**
* @brief init main initialize method of The RENAME_ME library
* @brief init main initialize method of The qTbot library
* @return true if library initialized successfull
*/
bool RENAME_ME_EXPORT init();
bool QTBOT_EXPORT init();
/**
* @brief version This method return string value of a library version
* @return string value of a library version
*/
QString RENAME_ME_EXPORT version();
QString QTBOT_EXPORT version();
};

View File

@ -5,18 +5,18 @@
//# of this license document, but changing it is not allowed.
//#
#ifndef RENAME_ME_GLOBAL_H
#define RENAME_ME_GLOBAL_H
#ifndef qTbot_GLOBAL_H
#define qTbot_GLOBAL_H
#include <QtCore/qglobal.h>
#define RENAME_ME_VERSION "0.87.648a8dc"
#define QTBOT_VERSION "0.87.648a8dc"
#if defined(RENAME_ME_LIBRARY)
# define RENAME_ME_EXPORT Q_DECL_EXPORT
#if defined(QTBOT_LIBRARY)
# define QTBOT_EXPORT Q_DECL_EXPORT
#else
# define RENAME_ME_EXPORT Q_DECL_IMPORT
# define QTBOT_EXPORT Q_DECL_IMPORT
#endif
#endif //RENAME_ME_GLOBAL_H
#endif //qTbot_GLOBAL_H

View File

@ -5,18 +5,18 @@
//# of this license document, but changing it is not allowed.
//#
#ifndef RENAME_ME_GLOBAL_H
#define RENAME_ME_GLOBAL_H
#ifndef qTbot_GLOBAL_H
#define qTbot_GLOBAL_H
#include <QtCore/qglobal.h>
#define RENAME_ME_VERSION "@RENAME_ME_VERSION@"
#define QTBOT_VERSION "@QTBOT_VERSION@"
#if defined(RENAME_ME_LIBRARY)
# define RENAME_ME_EXPORT Q_DECL_EXPORT
#if defined(QTBOT_LIBRARY)
# define QTBOT_EXPORT Q_DECL_EXPORT
#else
# define RENAME_ME_EXPORT Q_DECL_IMPORT
# define QTBOT_EXPORT Q_DECL_IMPORT
#endif
#endif //RENAME_ME_GLOBAL_H
#endif //qTbot_GLOBAL_H

View File

@ -0,0 +1,3 @@
module qTbotModule
qTbot 1.0 qTbot.qml

1
submodules/CMake Submodule

@ -0,0 +1 @@
Subproject commit 3b89e311c350868cead4bf2a36fd557989716043

View File

@ -57,7 +57,7 @@ tstMain::tstMain() {
char * argv[] = {nullptr};
_app = new QCoreApplication(argc, argv);
QCoreApplication::setApplicationName("testRENAME_ME");
QCoreApplication::setApplicationName("testqTbot");
QCoreApplication::setOrganizationName("QuasarApp");
auto path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);