4
0
mirror of https://github.com/QuasarApp/CMakeProject.git synced 2025-04-27 06:04:33 +00:00

added library

This commit is contained in:
Andrei Yankovich 2021-03-19 13:30:40 +03:00
parent 3913f2a197
commit b59bdc2041
14 changed files with 198 additions and 30 deletions

View File

@ -31,3 +31,4 @@ endif()
initAll()
addDoc(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/doxygen.conf)
addDeployFromCustomFile("RENAME_ME" "${CMAKE_CURRENT_SOURCE_DIR}/Deploy/RENAME_ME.json")

19
Deploy/RENAME_ME.json Normal file
View File

@ -0,0 +1,19 @@
{
"binDir": "./../src/build/Debug/RENAME_MEEaxample",
"clear": true,
"libDir": "./../",
"recursiveDepth": "10",
"deploySystem": false,
"qmlDir": "../",
"ignoreEnv": [
"./../installer",
"./../Distro",
"./../parts",
"./../snap",
"./../prime",
"./../stage"
],
"extraLib": "crypto",
"targetDir": "./../DisttibutionKit"
}

View File

@ -7,8 +7,7 @@
cmake_minimum_required(VERSION 3.14)
include(../CMake/ProjectOut.cmake)
include(../CMake/Version.cmake)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
@ -18,31 +17,9 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_definitions(-DRENAME_ME_LIBRARY)
include(../CMake/ProjectOut.cmake)
include(../CMake/Version.cmake)
include(../CMake/tr.cmake)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED)
file(GLOB SOURCE_CPP
"*.cpp" "*.qrc"
"src/*.cpp" "src/*.qrc"
"src/Private/*.cpp" "src/Private/*.qrc"
)
set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(PUBLIC_INCUDE_DIR ${PUBLIC_INCUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Private")
add_library(${PROJECT_NAME} ${SOURCE_CPP})
if (${QT_VERSION_MAJOR})
target_link_libraries(${PROJECT_NAME} PUBLIC Qt::Core)
endif()
target_include_directories(${PROJECT_NAME} PUBLIC ${PUBLIC_INCUDE_DIR})
target_include_directories(${PROJECT_NAME} PRIVATE ${PRIVATE_INCUDE_DIR})
setVersion(0 0 1)
add_subdirectory(Library)
add_subdirectory(Example)

View File

@ -0,0 +1,36 @@
#
# Copyright (C) 2021-2021 QuasarApp.
# Distributed under the lgplv3 software license, see the accompanying
# Everyone is permitted to copy and distribute verbatim copies
# of this license document, but changing it is not allowed.
#
cmake_minimum_required(VERSION 3.14)
set(CURRENT_PROJECT "${PROJECT_NAME}Eaxample")
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED)
file(GLOB SOURCE_CPP
"*.cpp" "*.qrc"
"src/*.cpp" "src/*.qrc"
"src/Private/*.cpp" "src/Private/*.qrc"
)
set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(PUBLIC_INCUDE_DIR ${PUBLIC_INCUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Private")
add_executable(${CURRENT_PROJECT} ${SOURCE_CPP})
if (${QT_VERSION_MAJOR})
target_link_libraries(${CURRENT_PROJECT} PUBLIC Qt::Core)
endif()
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})

10
src/Example/src/main.cpp Normal file
View File

@ -0,0 +1,10 @@
//#
//# Copyright (C) 2021-2021 QuasarApp.
//# Distributed under the lgplv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#
int main(int argc, char *argv[]) {
return 0;
}

View File

@ -0,0 +1,44 @@
#
# Copyright (C) 2020-2021 QuasarApp.
# Distributed under the lgplv3 software license, see the accompanying
# Everyone is permitted to copy and distribute verbatim copies
# of this license document, but changing it is not allowed.
#
cmake_minimum_required(VERSION 3.14)
add_definitions(-DRENAME_ME_LIBRARY)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED)
file(GLOB SOURCE_CPP
"*.cpp" "*.qrc"
"src/*.cpp" "src/*.qrc"
"src/Private/*.cpp" "src/Private/*.qrc"
)
set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(PUBLIC_INCUDE_DIR ${PUBLIC_INCUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Private")
add_library(${PROJECT_NAME} ${SOURCE_CPP})
if (${QT_VERSION_MAJOR})
target_link_libraries(${PROJECT_NAME} PUBLIC Qt::Core)
endif()
target_include_directories(${PROJECT_NAME} PUBLIC ${PUBLIC_INCUDE_DIR})
target_include_directories(${PROJECT_NAME} PRIVATE ${PRIVATE_INCUDE_DIR})
set(LANGS ${CMAKE_CURRENT_SOURCE_DIR}/languages/en.ts)
prepareQM(${CMAKE_CURRENT_SOURCE_DIR} "${LANGS}")
setVersion(0 0 1)
set(QML_IMPORT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src" CACHE STRING "Qt Creator extra qml import paths")

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
</TS>

View File

@ -0,0 +1,19 @@
//#
//# Copyright (C) 2021-2021 QuasarApp.
//# Distributed under the lgplv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#
#include "RENAME_ME.h"
namespace RENAME_ME {
bool init() {
initRENAME_MEResources();
return true;
}
}

View File

@ -0,0 +1,17 @@
//#
//# Copyright (C) 2021-2021 QuasarApp.
//# Distributed under the lgplv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#
#include "RENAME_ME_global.h"
namespace RENAME_ME {
inline void initRENAME_MEResources() { Q_INIT_RESOURCE(RENAME_ME); }
bool RENAME_ME_EXPORT init();
};

View File

@ -0,0 +1,6 @@
<RCC>
<qresource prefix="/">
<file>RENAME_MEModule/qmldir</file>
<file>RENAME_MEModule/RENAME_ME.qml</file>
</qresource>
</RCC>

View File

@ -0,0 +1,12 @@
//#
//# Copyright (C) 2021-2021 QuasarApp.
//# Distributed under the lgplv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#
import QtQuick 2.15
Item {
}

View File

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

View File

@ -0,0 +1,20 @@
//#
//# Copyright (C) 2018-2021 QuasarApp.
//# Distributed under the lgplv3 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 <QtCore/qglobal.h>
#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

View File

@ -29,7 +29,7 @@ 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::Test)
target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt::Test RENAME_ME)
target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR})