From 5242f45438150d699e6cd5e4e6cbee999785257d Mon Sep 17 00:00:00 2001
From: Francois Bleibel <fbleibel@gmail.com>
Date: Tue, 22 Jun 2010 18:20:59 +0900
Subject: [PATCH] Separated unit tests and tools. Added ADD_TEST cmake command.

---
 CMakeLists.txt                        |  3 +++
 tools/CMakeLists.txt                  | 30 +++++++++++++++++++++++++++
 {unitTesting => tools}/test_shell.cpp |  0
 unitTesting/CMakeLists.txt            |  4 +---
 unitTesting/test_signalcast.cpp       |  8 ++++---
 5 files changed, 39 insertions(+), 6 deletions(-)
 create mode 100644 tools/CMakeLists.txt
 rename {unitTesting => tools}/test_shell.cpp (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 91bb6f4..d7f5aab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -98,8 +98,11 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dynamic-graph.pc
   DESTINATION ${install_libdir_pkgconfig}	
   PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE)
 
+ENABLE_TESTING()
+
 ADD_SUBDIRECTORY(src)
 ADD_SUBDIRECTORY(include)
+ADD_SUBDIRECTORY(tools)
 ADD_SUBDIRECTORY(unitTesting)
 
 #
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
new file mode 100644
index 0000000..a764fc2
--- /dev/null
+++ b/tools/CMakeLists.txt
@@ -0,0 +1,30 @@
+# 
+#  Copyright 
+# 
+
+### tools
+SET(tools
+	test_shell
+)
+
+FOREACH(tool_name ${tools})
+	SET(EXECUTABLE_NAME ${tool_name})
+
+	ADD_DEFINITIONS(-DDEBUG=2)
+
+	ADD_EXECUTABLE(${EXECUTABLE_NAME}
+	  ${tool_name}.cpp)
+	
+	INCLUDE_DIRECTORIES(
+		${CMAKE_CURRENT_SOURCE_DIR}/../include 
+	)
+
+	LINK_DIRECTORIES(${${PROJECT_NAME}_BINARY_DIR}/lib)
+
+	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
+	  ${PROJECT_NAME}
+	  dl)
+	  
+	INSTALL(TARGETS ${tool_name}
+		DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/${PROJECT_NAME})
+ENDFOREACH(tool_name)
\ No newline at end of file
diff --git a/unitTesting/test_shell.cpp b/tools/test_shell.cpp
similarity index 100%
rename from unitTesting/test_shell.cpp
rename to tools/test_shell.cpp
diff --git a/unitTesting/CMakeLists.txt b/unitTesting/CMakeLists.txt
index acdedd9..57b6045 100644
--- a/unitTesting/CMakeLists.txt
+++ b/unitTesting/CMakeLists.txt
@@ -4,7 +4,6 @@
 
 ### tests
 SET(tests
-	test_shell
 	test_pool
 	test_depend
 	test_signalcast)
@@ -27,6 +26,5 @@ FOREACH(test_name ${tests})
 	  ${PROJECT_NAME}
 	  dl)
 	  
-	INSTALL(TARGETS ${test_name}
-		DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/${PROJECT_NAME})
+	ADD_TEST(NAME ${test_name} COMMAND ${test_name})
 ENDFOREACH(test_name)
\ No newline at end of file
diff --git a/unitTesting/test_signalcast.cpp b/unitTesting/test_signalcast.cpp
index 45f3c15..ff82835 100644
--- a/unitTesting/test_signalcast.cpp
+++ b/unitTesting/test_signalcast.cpp
@@ -37,13 +37,15 @@
 using namespace std;
 using namespace dynamicgraph;
 
-main() {
-	Signal<int, int> mySignal("out");
-	istringstream value("5");
+int main() {
+	Signal<double, int> mySignal("out");
+	istringstream value("42.0");
 	cout << "[cast] Setting signal value to " << value.str() << endl;
 	mySignal.set(value); // use "set" operation
 	cout << "[disp] The value read is ";
 	mySignal.get(cout);
 	cout << "[trace] Printing out trace: ";
 	mySignal.trace(cout);
+
+	return 0;
 }
-- 
GitLab