aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt10
-rw-r--r--autotests/CMakeLists.txt14
-rw-r--r--autotests/callcandidateseventtest.cpp (renamed from tests/callcandidateseventtest.cpp)0
-rw-r--r--autotests/callcandidateseventtest.h (renamed from tests/callcandidateseventtest.h)0
-rw-r--r--quotest/.valgrind.supp (renamed from tests/.valgrind.supp)0
-rw-r--r--quotest/CMakeLists.txt9
-rw-r--r--quotest/quotest.cpp (renamed from tests/quotest.cpp)0
-rw-r--r--tests/CMakeLists.txt71
8 files changed, 28 insertions, 76 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 29dea14a..0bc3a559 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -259,8 +259,6 @@ endif()
# new files and if it has, re-run cmake.
file(GLOB_RECURSE api_SRCS ${add_CONFIGURE_DEPENDS} ${FULL_CSAPI_DIR}/*.cpp)
-set(tests_SRCS tests/quotest.cpp)
-
add_library(${PROJECT_NAME} ${lib_SRCS} ${api_SRCS})
target_compile_definitions(${PROJECT_NAME} PRIVATE QT_NO_JAVA_STYLE_ITERATORS QT_NO_URL_CAST_FROM_STRING QT_NO_CAST_TO_ASCII)
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.16.0"
@@ -290,9 +288,11 @@ if (${PROJECT_NAME}_ENABLE_E2EE)
endif()
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network Qt5::Gui Qt5::Multimedia)
-set(TEST_BINARY quotest)
-add_executable(${TEST_BINARY} ${tests_SRCS})
-target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME})
+if (BUILD_TESTING)
+ enable_testing()
+ add_subdirectory(quotest)
+ add_subdirectory(autotests)
+endif()
configure_file(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY NEWLINE_STYLE UNIX)
diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt
new file mode 100644
index 00000000..abfcb49a
--- /dev/null
+++ b/autotests/CMakeLists.txt
@@ -0,0 +1,14 @@
+# SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+include(CMakeParseArguments)
+
+function(QUOTIENT_ADD_TEST)
+ cmake_parse_arguments(ARG "" "NAME" "" ${ARGN})
+ add_executable(${ARG_NAME} ${ARG_NAME}.cpp)
+ target_link_libraries(${ARG_NAME} Qt5::Core Qt5::Test Quotient)
+ add_test(NAME ${ARG_NAME} COMMAND ${ARG_NAME})
+endfunction()
+
+quotient_add_test(callcandidateseventtest.cpp NAME callcandidateseventtest)
diff --git a/tests/callcandidateseventtest.cpp b/autotests/callcandidateseventtest.cpp
index ca908db3..ca908db3 100644
--- a/tests/callcandidateseventtest.cpp
+++ b/autotests/callcandidateseventtest.cpp
diff --git a/tests/callcandidateseventtest.h b/autotests/callcandidateseventtest.h
index b81c9c9b..b81c9c9b 100644
--- a/tests/callcandidateseventtest.h
+++ b/autotests/callcandidateseventtest.h
diff --git a/tests/.valgrind.supp b/quotest/.valgrind.supp
index d65fb52e..d65fb52e 100644
--- a/tests/.valgrind.supp
+++ b/quotest/.valgrind.supp
diff --git a/quotest/CMakeLists.txt b/quotest/CMakeLists.txt
new file mode 100644
index 00000000..4553abb6
--- /dev/null
+++ b/quotest/CMakeLists.txt
@@ -0,0 +1,9 @@
+# SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+set(quotest_SRCS quotest.cpp)
+
+add_executable(quotest ${quotest_SRCS})
+add_test(NAME quotest COMMAND quotest)
+target_link_libraries(quotest PRIVATE Qt5::Core Qt5::Test ${PROJECT_NAME})
diff --git a/tests/quotest.cpp b/quotest/quotest.cpp
index 5098bc02..5098bc02 100644
--- a/tests/quotest.cpp
+++ b/quotest/quotest.cpp
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
deleted file mode 100644
index cb8c99f8..00000000
--- a/tests/CMakeLists.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-cmake_minimum_required(VERSION 3.1)
-
-# This CMakeLists file assumes that the library is installed to CMAKE_INSTALL_PREFIX
-# and ignores the in-tree library code. You can use this to start work on your own client.
-
-project(quotest CXX)
-
-include(CheckCXXCompilerFlag)
-if (NOT WIN32)
- include(GNUInstallDirs)
-endif(NOT WIN32)
-
-# Find includes in corresponding build directories
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-# Instruct CMake to run moc automatically when needed.
-set(CMAKE_AUTOMOC ON)
-
-# Set a default build type if none was specified
-if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
- message(STATUS "Setting build type to 'Debug' as none was specified")
- set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build" FORCE)
- # Set the possible values of build type for cmake-gui
- set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
- "MinSizeRel" "RelWithDebInfo")
-endif()
-
-if (NOT CMAKE_INSTALL_LIBDIR)
- set(CMAKE_INSTALL_LIBDIR ".")
-endif()
-
-if (NOT CMAKE_INSTALL_BINDIR)
- set(CMAKE_INSTALL_BINDIR ".")
-endif()
-
-if (NOT CMAKE_INSTALL_INCLUDEDIR)
- set(CMAKE_INSTALL_INCLUDEDIR "include")
-endif()
-
-set(CMAKE_CXX_STANDARD 14)
-
-foreach (FLAG all "" pedantic extra error=return-type no-unused-parameter no-gnu-zero-variadic-macro-arguments)
- CHECK_CXX_COMPILER_FLAG("-W${FLAG}" WARN_${FLAG}_SUPPORTED)
- if ( WARN_${FLAG}_SUPPORTED AND NOT CMAKE_CXX_FLAGS MATCHES "(^| )-W?${FLAG}($| )")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -W${FLAG}")
- endif ()
-endforeach ()
-
-find_package(Qt5 5.9 REQUIRED Network Gui Multimedia Test)
-get_filename_component(Qt5_Prefix "${Qt5_DIR}/../../../.." ABSOLUTE)
-
-set(LIBRARY_NAME "Quotient")
-
-find_package(${LIBRARY_NAME} REQUIRED)
-get_filename_component(Quotient_Prefix "${Quotient_DIR}/../.." ABSOLUTE)
-
-message( STATUS "${PROJECT_NAME} configuration:" )
-if (CMAKE_BUILD_TYPE)
- message( STATUS " Build type: ${CMAKE_BUILD_TYPE}")
-endif(CMAKE_BUILD_TYPE)
-message( STATUS " Compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}" )
-message( STATUS " Qt: ${Qt5_VERSION} at ${Qt5_Prefix}" )
-message( STATUS " ${LIBRARY_NAME}: ${${LIBRARY_NAME}_VERSION} at ${${LIBRARY_NAME}_Prefix}" )
-
-set(example_SRCS quotest.cpp)
-
-add_executable(${PROJECT_NAME} ${example_SRCS})
-target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Test ${LIBRARY_NAME})
-
-# Installation
-
-install (TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})