From 4a031b8ce538af0c15857c37c1964bf144d5bc38 Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Fri, 21 Aug 2020 22:22:48 +0100 Subject: [PATCH] Add BARRIER_BUILD_TESTS CMake option to make tests optional --- CMakeLists.txt | 2 +- src/CMakeLists.txt | 5 ++++- src/lib/barrier/KeyMap.h | 4 ++++ src/test/unittests/barrier/KeyMapTests.cpp | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a377c04..4947d20f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,7 @@ project (barrier C CXX) option (BARRIER_BUILD_GUI "Build the GUI" ON) option (BARRIER_BUILD_INSTALLER "Build the installer" ON) +option (BARRIER_BUILD_TESTS "Build the tests" ON) set (CMAKE_EXPORT_COMPILE_COMMANDS ON) set (CMAKE_CXX_STANDARD 14) @@ -49,7 +50,6 @@ else() endif() set (libs) -include_directories (BEFORE SYSTEM ./ext/gtest/include) if (UNIX) if (NOT APPLE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 55aad09d..c3dea51f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,7 +19,10 @@ include_directories (${CMAKE_CURRENT_BINARY_DIR}/lib) add_subdirectory(lib) add_subdirectory(cmd) -add_subdirectory(test) + +if (BARRIER_BUILD_TESTS) + add_subdirectory(test) +endif() if (BARRIER_BUILD_GUI) add_subdirectory(gui) diff --git a/src/lib/barrier/KeyMap.h b/src/lib/barrier/KeyMap.h index b6eb8658..812b4d26 100644 --- a/src/lib/barrier/KeyMap.h +++ b/src/lib/barrier/KeyMap.h @@ -24,7 +24,9 @@ #include "common/stdset.h" #include "common/stdvector.h" +#ifdef TEST_ENV #include +#endif namespace barrier { @@ -327,6 +329,7 @@ public: //@} private: +#ifdef TEST_ENV FRIEND_TEST(KeyMapTests, findBestKey_requiredDown_matchExactFirstItem); FRIEND_TEST(KeyMapTests, @@ -340,6 +343,7 @@ private: FRIEND_TEST(KeyMapTests, findBestKey_onlyOneRequiredDown_matchTwoRequiredChangesItem); FRIEND_TEST(KeyMapTests, findBestKey_noRequiredDown_cannotMatch); +#endif private: //! Ways to synthesize a key diff --git a/src/test/unittests/barrier/KeyMapTests.cpp b/src/test/unittests/barrier/KeyMapTests.cpp index 59806339..c0832199 100644 --- a/src/test/unittests/barrier/KeyMapTests.cpp +++ b/src/test/unittests/barrier/KeyMapTests.cpp @@ -15,6 +15,8 @@ * along with this program. If not, see . */ +#define TEST_ENV + #include "barrier/KeyMap.h" #include "test/global/gtest.h"