Umbrella project for an GenericWidgets client using the GenericCore library (Using submodules). With a GoogleTest project testing GenericCore::toString() method.
This commit is contained in:
10
.clang-format
Normal file
10
.clang-format
Normal file
@ -0,0 +1,10 @@
|
||||
BasedOnStyle: Chromium
|
||||
ColumnLimit: 100
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||
BreakConstructorInitializersBeforeComma: true
|
||||
AlignConsecutiveAssignments: true
|
||||
AllowShortFunctionsOnASingleLine: true
|
||||
BraceWrapping:
|
||||
AfterControlStatement: Always
|
||||
InsertBraces: true
|
||||
83
.gitignore
vendored
Normal file
83
.gitignore
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
# This file is used to ignore files which are generated
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
*~
|
||||
*.autosave
|
||||
*.a
|
||||
*.core
|
||||
*.moc
|
||||
*.o
|
||||
*.obj
|
||||
*.orig
|
||||
*.rej
|
||||
*.so
|
||||
*.so.*
|
||||
*_pch.h.cpp
|
||||
*_resource.rc
|
||||
*.qm
|
||||
.#*
|
||||
*.*#
|
||||
core
|
||||
!core/
|
||||
tags
|
||||
.DS_Store
|
||||
.directory
|
||||
*.debug
|
||||
Makefile*
|
||||
*.prl
|
||||
*.app
|
||||
moc_*.cpp
|
||||
ui_*.h
|
||||
qrc_*.cpp
|
||||
Thumbs.db
|
||||
*.res
|
||||
*.rc
|
||||
/.qmake.cache
|
||||
/.qmake.stash
|
||||
|
||||
# qtcreator generated files
|
||||
*.pro.user*
|
||||
*.qbs.user*
|
||||
CMakeLists.txt.user*
|
||||
|
||||
# xemacs temporary files
|
||||
*.flc
|
||||
|
||||
# Vim temporary files
|
||||
.*.swp
|
||||
|
||||
# Visual Studio generated files
|
||||
*.ib_pdb_index
|
||||
*.idb
|
||||
*.ilk
|
||||
*.pdb
|
||||
*.sln
|
||||
*.suo
|
||||
*.vcproj
|
||||
*vcproj.*.*.user
|
||||
*.ncb
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.vcxproj
|
||||
*vcxproj.*
|
||||
|
||||
# MinGW generated files
|
||||
*.Debug
|
||||
*.Release
|
||||
|
||||
# Python byte code
|
||||
*.pyc
|
||||
|
||||
# Binaries
|
||||
# --------
|
||||
*.dll
|
||||
*.exe
|
||||
|
||||
# Directories with generated files
|
||||
.moc/
|
||||
.obj/
|
||||
.pch/
|
||||
.rcc/
|
||||
.uic/
|
||||
/build*/
|
||||
_build*/
|
||||
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
[submodule "libs/GenericCore"]
|
||||
path = libs/GenericCore
|
||||
url = ssh://wococo1@git.working-copy.org:46100/bent/GenericQtClientCore.git
|
||||
[submodule "UIs/GenericWidgets"]
|
||||
path = UIs/GenericWidgets
|
||||
url = ssh://wococo1@git.working-copy.org:46100/bent/GenericQtClientWidgets.git
|
||||
18
CMakeLists.txt
Normal file
18
CMakeLists.txt
Normal file
@ -0,0 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
set(TARGET_APP "GenericQtClient")
|
||||
project(${TARGET_APP} VERSION 0.0.1 LANGUAGES CXX)
|
||||
|
||||
enable_testing()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
add_subdirectory(libs/GenericCore)
|
||||
set (CORE_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/GenericCore)
|
||||
|
||||
# Frontend applications
|
||||
add_subdirectory(UIs/GenericWidgets)
|
||||
|
||||
### Tests
|
||||
add_subdirectory(tests/GenericCoreTests)
|
||||
1
UIs/GenericWidgets
Submodule
1
UIs/GenericWidgets
Submodule
Submodule UIs/GenericWidgets added at 1b0e257602
1
libs/GenericCore
Submodule
1
libs/GenericCore
Submodule
Submodule libs/GenericCore added at b631f4200e
30
tests/GenericCoreTests/CMakeLists.txt
Normal file
30
tests/GenericCoreTests/CMakeLists.txt
Normal file
@ -0,0 +1,30 @@
|
||||
include(FetchContent)
|
||||
|
||||
set(TARGET_APP "core_test")
|
||||
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG v1.17.0
|
||||
)
|
||||
FetchContent_MakeAvailable(googletest)
|
||||
add_library(GTest::GTest INTERFACE IMPORTED)
|
||||
target_link_libraries(GTest::GTest INTERFACE gtest_main)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core LinguistTools)
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core LinguistTools)
|
||||
|
||||
add_executable(${TARGET_APP} core_test.cpp)
|
||||
|
||||
target_include_directories(${TARGET_APP} PRIVATE ${CORE_LIB_DIR}/include)
|
||||
|
||||
target_link_libraries(${TARGET_APP}
|
||||
PRIVATE
|
||||
GTest::GTest
|
||||
GenericCore)
|
||||
target_link_libraries(${TARGET_APP} PUBLIC Qt${QT_VERSION_MAJOR}::Core)
|
||||
|
||||
add_test(core_gtests ${TARGET_APP})
|
||||
20
tests/GenericCoreTests/core_test.cpp
Normal file
20
tests/GenericCoreTests/core_test.cpp
Normal file
@ -0,0 +1,20 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <QString>
|
||||
|
||||
#include "../../libs/GenericCore/genericcore.h"
|
||||
|
||||
TEST(CoreTests, TestEqualString) {
|
||||
const auto expected = "GenericCore (Version x.y.z)";
|
||||
auto core = std::make_unique<GenericCore>();
|
||||
const auto actual = core->toString();
|
||||
// const auto actual = multiply(1, 1);
|
||||
ASSERT_EQ(expected, actual);
|
||||
}
|
||||
|
||||
TEST(CoreTests, TestNotEqualString) {
|
||||
const auto expected = "Hello from the Core!";
|
||||
auto core = std::make_unique<GenericCore>();
|
||||
const auto actual = core->toString();
|
||||
ASSERT_NE(expected, actual);
|
||||
}
|
||||
Reference in New Issue
Block a user