aboutsummaryrefslogtreecommitdiff
path: root/quotest/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'quotest/CMakeLists.txt')
-rw-r--r--quotest/CMakeLists.txt37
1 files changed, 37 insertions, 0 deletions
diff --git a/quotest/CMakeLists.txt b/quotest/CMakeLists.txt
new file mode 100644
index 00000000..ec305620
--- /dev/null
+++ b/quotest/CMakeLists.txt
@@ -0,0 +1,37 @@
+# SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+set(quotest_SRCS quotest.cpp)
+
+find_package(${Qt} COMPONENTS Concurrent)
+add_executable(quotest ${quotest_SRCS})
+target_link_libraries(quotest PRIVATE ${Qt}::Core ${Qt}::Test ${Qt}::Concurrent ${PROJECT_NAME})
+
+set_target_properties(quotest PROPERTIES
+ VISIBILITY_INLINES_HIDDEN ON
+ CXX_VISIBILITY_PRESET hidden
+)
+
+if (MSVC)
+ target_compile_options(quotest PUBLIC /EHsc /W4
+ /wd4100 /wd4127 /wd4242 /wd4244 /wd4245 /wd4267 /wd4365 /wd4456 /wd4459
+ /wd4464 /wd4505 /wd4514 /wd4571 /wd4619 /wd4623 /wd4625 /wd4626 /wd4706
+ /wd4710 /wd4774 /wd4820 /wd4946 /wd5026 /wd5027)
+else()
+ foreach (FLAG W Wall Wpedantic Wextra Wno-unused-parameter Werror=return-type)
+ CHECK_CXX_COMPILER_FLAG("-${FLAG}" COMPILER_${FLAG}_SUPPORTED)
+ if (COMPILER_${FLAG}_SUPPORTED AND
+ NOT CMAKE_CXX_FLAGS MATCHES "(^| )-?${FLAG}($| )")
+ target_compile_options(quotest PUBLIC -${FLAG})
+ endif ()
+ endforeach ()
+endif()
+
+option(${PROJECT_NAME}_INSTALL_TESTS "install quotest application" ON)
+add_feature_info(InstallQuotest ${PROJECT_NAME}_INSTALL_TESTS
+ "the library functional test suite")
+
+if (${PROJECT_NAME}_INSTALL_TESTS)
+ install(TARGETS quotest RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif ()