mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
Add Catch2 and Google Test on Cmake
ToDo: - Add compiling QElectroTech on Cmake (help needed) - more Tests? - Qt Test - Boost Test to test run qtcreator File > open => CMakeLists.txt
This commit is contained in:
parent
b70775bc84
commit
6cd6efaca9
50
CMakeLists.txt
Normal file
50
CMakeLists.txt
Normal file
@ -0,0 +1,50 @@
|
||||
# Copyright 2006 The QElectroTech Team
|
||||
# This file is part of QElectroTech.
|
||||
#
|
||||
# QElectroTech is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# QElectroTech is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
message(
|
||||
"_____________________________________________________________________"
|
||||
"\nCopyright 2006 The QElectroTech Team"
|
||||
"\nThis file is part of QElectroTech."
|
||||
|
||||
"\n\nQElectroTech is free software: you can redistribute it and/or modify"
|
||||
"\nit under the terms of the GNU General Public License as published by"
|
||||
"\nthe Free Software Foundation, either version 2 of the License, or"
|
||||
"\n(at your option) any later version."
|
||||
|
||||
"\nQElectroTech is distributed in the hope that it will be useful,"
|
||||
"\nbut WITHOUT ANY WARRANTY; without even the implied warranty of"
|
||||
"\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
|
||||
"\nGNU General Public License for more details."
|
||||
|
||||
"\n\nYou should have received a copy of the GNU General Public License"
|
||||
"\nalong with QElectroTech. If not, see <http://www.gnu.org/licenses/>.\n"
|
||||
"_____________________________________________________________________")
|
||||
project(qelectrotech
|
||||
VERSION 0.8.0
|
||||
DESCRIPTION "QET is a CAD/CAE editor focusing on schematics drawing features."
|
||||
HOMEPAGE_URL "https://qelectrotech.org/"
|
||||
LANGUAGES CXX)
|
||||
|
||||
set(QET_DIR ${PROJECT_SOURCE_DIR})
|
||||
|
||||
message("PROJECT_NAME: " ${PROJECT_NAME})
|
||||
message("PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR})
|
||||
message("QET_DIR: " ${QET_DIR})
|
||||
|
||||
# Add sub directories
|
||||
add_subdirectory(tests)
|
73
tests/.gitignore
vendored
Normal file
73
tests/.gitignore
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
# 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*
|
||||
|
||||
# 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
|
||||
|
28
tests/CMakeLists.txt
Normal file
28
tests/CMakeLists.txt
Normal file
@ -0,0 +1,28 @@
|
||||
# Copyright 2006 The QElectroTech Team
|
||||
# This file is part of QElectroTech.
|
||||
#
|
||||
# QElectroTech is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# QElectroTech is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
message("_____________________________________________________________________")
|
||||
project(unittests LANGUAGES CXX)
|
||||
|
||||
message("PROJECT_NAME: " ${PROJECT_NAME})
|
||||
message("PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR})
|
||||
message("QET_DIR: " ${QET_DIR})
|
||||
|
||||
# Add sub directories
|
||||
add_subdirectory(catch)
|
||||
add_subdirectory(googletest)
|
67
tests/catch/.clang-format
Normal file
67
tests/catch/.clang-format
Normal file
@ -0,0 +1,67 @@
|
||||
---
|
||||
BasedOnStyle: LLVM
|
||||
AlignAfterOpenBracket: AlwaysBreak
|
||||
AlignConsecutiveMacros: 'true'
|
||||
AlignConsecutiveAssignments: 'true'
|
||||
AlignConsecutiveDeclarations: 'true'
|
||||
AlignEscapedNewlines: Right
|
||||
AlignOperands: 'true'
|
||||
AlignTrailingComments: 'true'
|
||||
AllowAllArgumentsOnNextLine: 'false'
|
||||
AllowAllConstructorInitializersOnNextLine: 'true'
|
||||
AllowAllParametersOfDeclarationOnNextLine: 'true'
|
||||
AllowShortBlocksOnASingleLine: 'true'
|
||||
AllowShortCaseLabelsOnASingleLine: 'true'
|
||||
AllowShortFunctionsOnASingleLine: All
|
||||
AllowShortIfStatementsOnASingleLine: Always
|
||||
AllowShortLambdasOnASingleLine: All
|
||||
AllowShortLoopsOnASingleLine: 'true'
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: 'true'
|
||||
AlwaysBreakTemplateDeclarations: 'Yes'
|
||||
BinPackArguments: 'false'
|
||||
BinPackParameters: 'false'
|
||||
BreakAfterJavaFieldAnnotations: 'true'
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
BreakBeforeBraces: Allman
|
||||
BreakBeforeTernaryOperators: 'false'
|
||||
BreakConstructorInitializers: AfterColon
|
||||
BreakInheritanceList: AfterColon
|
||||
BreakStringLiterals: 'true'
|
||||
ColumnLimit: '80'
|
||||
CompactNamespaces: 'false'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
|
||||
Cpp11BracedListStyle: 'true'
|
||||
FixNamespaceComments: 'true'
|
||||
IncludeBlocks: Regroup
|
||||
IndentCaseLabels: 'false'
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentWidth: '4'
|
||||
JavaScriptWrapImports: 'true'
|
||||
Language: Cpp
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
NamespaceIndentation: All
|
||||
PointerAlignment: Left
|
||||
ReflowComments: 'true'
|
||||
SortIncludes: 'true'
|
||||
SortUsingDeclarations: 'true'
|
||||
SpaceAfterCStyleCast: 'true'
|
||||
SpaceAfterLogicalNot: 'true'
|
||||
SpaceAfterTemplateKeyword: 'true'
|
||||
SpaceBeforeAssignmentOperators: 'true'
|
||||
SpaceBeforeCpp11BracedList: 'true'
|
||||
SpaceBeforeCtorInitializerColon: 'true'
|
||||
SpaceBeforeInheritanceColon: 'true'
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceBeforeRangeBasedForLoopColon: 'true'
|
||||
SpaceInEmptyParentheses: 'false'
|
||||
SpacesInAngles: 'false'
|
||||
SpacesInCStyleCastParentheses: 'false'
|
||||
SpacesInContainerLiterals: 'false'
|
||||
SpacesInParentheses: 'false'
|
||||
SpacesInSquareBrackets: 'false'
|
||||
Standard: Cpp11
|
||||
TabWidth: '4'
|
||||
UseTab: Always
|
||||
|
||||
...
|
73
tests/catch/.gitignore
vendored
Normal file
73
tests/catch/.gitignore
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
# 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*
|
||||
|
||||
# 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
|
||||
|
72
tests/catch/CMakeLists.txt
Normal file
72
tests/catch/CMakeLists.txt
Normal file
@ -0,0 +1,72 @@
|
||||
# Copyright 2006 The QElectroTech Team
|
||||
# This file is part of QElectroTech.
|
||||
#
|
||||
# QElectroTech is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# QElectroTech is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
message("_____________________________________________________________________")
|
||||
project(C_unittests LANGUAGES CXX)
|
||||
|
||||
if(DEFINED ENV{QET_DIR})
|
||||
set(QET_DIR "../..")
|
||||
message("QET_DIR is not set, assuming QET is ../..")
|
||||
endif()
|
||||
|
||||
message("PROJECT_NAME: " ${PROJECT_NAME})
|
||||
message("PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR})
|
||||
message("QET_DIR: " ${QET_DIR})
|
||||
|
||||
SET(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
find_package(Qt5Gui REQUIRED)
|
||||
find_package(Qt5Xml REQUIRED)
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
|
||||
Include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
Catch2
|
||||
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
|
||||
GIT_TAG v2.13.1)
|
||||
|
||||
FetchContent_MakeAvailable(Catch2)
|
||||
|
||||
add_executable(
|
||||
${PROJECT_NAME}
|
||||
tst_My_test.cpp
|
||||
main.cpp
|
||||
${QET_DIR}/sources/borderproperties.h
|
||||
${QET_DIR}/sources/borderproperties.cpp)
|
||||
|
||||
target_link_libraries(
|
||||
${PROJECT_NAME}
|
||||
PUBLIC
|
||||
Catch2::Catch2
|
||||
PRIVATE
|
||||
Qt5::Gui
|
||||
Qt5::Xml
|
||||
Qt5::Widgets)
|
||||
|
||||
if (DEFINED ENV{CATCH_INCLUDE_DIR})
|
||||
set(CATCH_INCLUDE_DIR $ENV{CATCH_INCLUDE_DIR})
|
||||
else ()
|
||||
set(CATCH_INCLUDE_DIR "") # set by Qt Creator wizard
|
||||
endif ()
|
||||
if (CATCH_INCLUDE_DIR STREQUAL "")
|
||||
message("CATCH_INCLUDE_DIR is not set,"
|
||||
"assuming Catch2 can be found automatically in your system")
|
||||
elseif (EXISTS ${CATCH_INCLUDE_DIR})
|
||||
include_directories(${CATCH_INCLUDE_DIR})
|
||||
endif ()
|
9
tests/catch/main.cpp
Normal file
9
tests/catch/main.cpp
Normal file
@ -0,0 +1,9 @@
|
||||
#define CATCH_CONFIG_RUNNER
|
||||
#include <QtGui/QGuiApplication>
|
||||
#include <catch2/catch.hpp>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
QGuiApplication app(argc, argv);
|
||||
return Catch::Session().run(argc, argv);
|
||||
}
|
22
tests/catch/tst_My_test.cpp
Normal file
22
tests/catch/tst_My_test.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
#include "../../sources/borderproperties.h"
|
||||
|
||||
#include <catch2/catch.hpp>
|
||||
|
||||
TEST_CASE("My first test with Catch2", "[fancy]") { REQUIRE(0 == 0); }
|
||||
|
||||
TEST_CASE("BorderProperties")
|
||||
{
|
||||
int var = 5;
|
||||
BorderProperties My;
|
||||
My.columns_count = var;
|
||||
My.columns_header_height = var;
|
||||
|
||||
CHECK(My.columns_count - 1 == var); // test zal falen maar test de vogende
|
||||
CHECK(
|
||||
My.columns_header_height - 1
|
||||
== var); // test zal falen maar test de vogende
|
||||
REQUIRE(0 == 0);
|
||||
REQUIRE(1 == 0); // test zal falen en stopt
|
||||
REQUIRE(0 == 0); // not testit
|
||||
REQUIRE(1 == 0); // not testit
|
||||
}
|
67
tests/googletest/.clang-format
Normal file
67
tests/googletest/.clang-format
Normal file
@ -0,0 +1,67 @@
|
||||
---
|
||||
BasedOnStyle: LLVM
|
||||
AlignAfterOpenBracket: AlwaysBreak
|
||||
AlignConsecutiveMacros: 'true'
|
||||
AlignConsecutiveAssignments: 'true'
|
||||
AlignConsecutiveDeclarations: 'true'
|
||||
AlignEscapedNewlines: Right
|
||||
AlignOperands: 'true'
|
||||
AlignTrailingComments: 'true'
|
||||
AllowAllArgumentsOnNextLine: 'false'
|
||||
AllowAllConstructorInitializersOnNextLine: 'true'
|
||||
AllowAllParametersOfDeclarationOnNextLine: 'true'
|
||||
AllowShortBlocksOnASingleLine: 'true'
|
||||
AllowShortCaseLabelsOnASingleLine: 'true'
|
||||
AllowShortFunctionsOnASingleLine: All
|
||||
AllowShortIfStatementsOnASingleLine: Always
|
||||
AllowShortLambdasOnASingleLine: All
|
||||
AllowShortLoopsOnASingleLine: 'true'
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: 'true'
|
||||
AlwaysBreakTemplateDeclarations: 'Yes'
|
||||
BinPackArguments: 'false'
|
||||
BinPackParameters: 'false'
|
||||
BreakAfterJavaFieldAnnotations: 'true'
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
BreakBeforeBraces: Allman
|
||||
BreakBeforeTernaryOperators: 'false'
|
||||
BreakConstructorInitializers: AfterColon
|
||||
BreakInheritanceList: AfterColon
|
||||
BreakStringLiterals: 'true'
|
||||
ColumnLimit: '80'
|
||||
CompactNamespaces: 'false'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
|
||||
Cpp11BracedListStyle: 'true'
|
||||
FixNamespaceComments: 'true'
|
||||
IncludeBlocks: Regroup
|
||||
IndentCaseLabels: 'false'
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentWidth: '4'
|
||||
JavaScriptWrapImports: 'true'
|
||||
Language: Cpp
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
NamespaceIndentation: All
|
||||
PointerAlignment: Left
|
||||
ReflowComments: 'true'
|
||||
SortIncludes: 'true'
|
||||
SortUsingDeclarations: 'true'
|
||||
SpaceAfterCStyleCast: 'true'
|
||||
SpaceAfterLogicalNot: 'true'
|
||||
SpaceAfterTemplateKeyword: 'true'
|
||||
SpaceBeforeAssignmentOperators: 'true'
|
||||
SpaceBeforeCpp11BracedList: 'true'
|
||||
SpaceBeforeCtorInitializerColon: 'true'
|
||||
SpaceBeforeInheritanceColon: 'true'
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceBeforeRangeBasedForLoopColon: 'true'
|
||||
SpaceInEmptyParentheses: 'false'
|
||||
SpacesInAngles: 'false'
|
||||
SpacesInCStyleCastParentheses: 'false'
|
||||
SpacesInContainerLiterals: 'false'
|
||||
SpacesInParentheses: 'false'
|
||||
SpacesInSquareBrackets: 'false'
|
||||
Standard: Cpp11
|
||||
TabWidth: '4'
|
||||
UseTab: Always
|
||||
|
||||
...
|
73
tests/googletest/.gitignore
vendored
Normal file
73
tests/googletest/.gitignore
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
# 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*
|
||||
|
||||
# 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
|
||||
|
61
tests/googletest/CMakeLists.txt
Normal file
61
tests/googletest/CMakeLists.txt
Normal file
@ -0,0 +1,61 @@
|
||||
# Copyright 2006 The QElectroTech Team
|
||||
# This file is part of QElectroTech.
|
||||
#
|
||||
# QElectroTech is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# QElectroTech is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
message("_____________________________________________________________________")
|
||||
project(G_unittests LANGUAGES CXX)
|
||||
|
||||
if(DEFINED ENV{QET_DIR})
|
||||
set(QET_DIR "../..")
|
||||
message("QET_DIR is not set, assuming QET is ../..")
|
||||
endif()
|
||||
|
||||
message("PROJECT_NAME: " ${PROJECT_NAME})
|
||||
message("PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR})
|
||||
message("QET_DIR: " ${QET_DIR})
|
||||
|
||||
SET(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
find_package(Qt5Gui REQUIRED)
|
||||
find_package(Qt5Xml REQUIRED)
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
|
||||
Include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
GTest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG release-1.10.0)
|
||||
|
||||
FetchContent_MakeAvailable(GTest)
|
||||
|
||||
add_executable(
|
||||
${PROJECT_NAME}
|
||||
tst_My_test.cpp
|
||||
main.cpp
|
||||
${QET_DIR}/sources/borderproperties.h
|
||||
${QET_DIR}/sources/borderproperties.cpp)
|
||||
|
||||
target_link_libraries(
|
||||
${PROJECT_NAME}
|
||||
PUBLIC
|
||||
gtest gtest_main
|
||||
PRIVATE
|
||||
Qt5::Gui
|
||||
Qt5::Xml
|
||||
Qt5::Widgets)
|
||||
|
15
tests/googletest/main.cpp
Normal file
15
tests/googletest/main.cpp
Normal file
@ -0,0 +1,15 @@
|
||||
#include <QtGui/QGuiApplication>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
QGuiApplication app(argc, argv);
|
||||
|
||||
// disable the whole debug output (we want only the output from gtest)
|
||||
// Debug::instance()->setDebugLevelLogFile(Debug::DebugLevel_t::Nothing);
|
||||
// Debug::instance()->setDebugLevelStderr(Debug::DebugLevel_t::Nothing);
|
||||
|
||||
// init gtest and run all tests
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
5
tests/googletest/tst_My_test.cpp
Normal file
5
tests/googletest/tst_My_test.cpp
Normal file
@ -0,0 +1,5 @@
|
||||
#include "../../sources/borderproperties.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
TEST(googletest, sample_test) { EXPECT_EQ(1, 1); }
|
Loading…
x
Reference in New Issue
Block a user