summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2014-03-04 15:16:06 +0000
committerandreas <andreas@daaaf23c-2e50-4459-9457-1e69db5a47bf>2014-03-04 15:16:06 +0000
commitdf938ff92ea02f26c594c610234754101138f646 (patch)
tree44627288bdbb469344eeb81c46657da7888c8650 /CMakeLists.txt
parentc543117ff43c63a053ea786ed606398ac4687494 (diff)
added unit test framework
git-svn-id: file:///var/local/svn/basicwriter@14 daaaf23c-2e50-4459-9457-1e69db5a47bf
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt58
1 files changed, 49 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index da91330..f4cceee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,17 +4,57 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9)
SET(CMAKE_AUTOMOC ON)
FIND_PACKAGE(Qt5Widgets REQUIRED)
-INCLUDE_DIRECTORIES(src/)
-
# Enable C++11 and all warnings
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -std=c++11")
-ADD_EXECUTABLE(basicwriter
- src/main.cpp
- src/gui/notepad.cpp
- src/gui/components/UIPaneFrame.cpp
-# src/gui/components/UIGrid.cpp
-# src/gui/components/GridTree.cpp
+# Option for enabling testing. Turn on with 'cmake -Dtest=ON'.
+OPTION(test "Build all tests." OFF) # Makes boolean 'test' available.
+
+# Unit test handling
+if(test)
+ # Compile gtest
+ add_subdirectory(lib/gtest-1.7.0)
+
+ # Enable testing and declare some variables used for compiling the test cases
+ enable_testing()
+ set(GTEST_INCLUDE_DIR ${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
+ set(GTEST_LIBRARIES gtest gtest_main)
+endif()
+
+INCLUDE_DIRECTORIES(src/)
+
+ADD_LIBRARY(ousia_core
+ src/model/GraphNode
+)
+
+ADD_EXECUTABLE(ousia
+ src/main
+)
+
+TARGET_LINK_LIBRARIES(ousia
+ ousia_core
)
-QT5_USE_MODULES(basicwriter Widgets)
+QT5_USE_MODULES(ousia Widgets)
+
+if(test)
+ # Include the gtest include files and the src directory
+ INCLUDE_DIRECTORIES(
+ ${GTEST_INCLUDE_DIR}
+ src/
+ )
+
+ # Add all unit test files
+ ADD_EXECUTABLE(ousia_test
+ test/model/GraphNode
+ )
+
+ TARGET_LINK_LIBRARIES(ousia_test
+ ${GTEST_LIBRARIES}
+ ousia_core
+ )
+
+ # Register the unit test
+ ADD_TEST(ousia_test ousia_test)
+endif()
+