]> Creatis software - clitk.git/blobdiff - tests/CMakeLists.txt
obsolete since the user manually update his repo
[clitk.git] / tests / CMakeLists.txt
index e15b097a4a7660dafa54b1cf983aee760684eb6a..cb05856f1a7709329ac3940516cb502661c7c2eb 100644 (file)
@@ -1,22 +1,54 @@
-# Tests are organized to mirror the clitk directory tree. 
-# Eacho subdirectory has its own CMakeLists.txt with the compiling directives
-
-IF (CLITK_BUILD_TESTING)
-
-  set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/tests/bin)
-
-  # default data path is searched in the project source tree
-  FIND_PATH(CLITK_DATA_PATH data PATHS ${PROJECT_SOURCE_DIR})
-  IF (CLITK_DATA_PATH STREQUAL "CLITK_DATA_PATH-NOTFOUND" OR CLITK_DATA_PATH STREQUAL "")
-    MESSAGE("Data path must be given when tests are enabled.")
-  ENDIF (CLITK_DATA_PATH STREQUAL "CLITK_DATA_PATH-NOTFOUND" OR CLITK_DATA_PATH STREQUAL "")
-
-  set(CLITK_DATA_PATH ${CLITK_DATA_PATH}/data)
-  ADD_DEFINITIONS(-DCLITK_DATA_PATH='"${CLITK_DATA_PATH}"')
+cmake_policy(SET CMP0005 NEW)
+#=========================================================
+#=========================================================
+# Data tests path
+FIND_PATH(CLITK_TEST_DATA_PATH Lung3D.mhd)
+IF(NOT ${CLITK_TEST_DATA_PATH} MATCHES "NOTFOUND$")
+ SET(CLITK_TEST_DATA_PATH "${CLITK_TEST_DATA_PATH}/")
+ENDIF()
+ADD_DEFINITIONS(-DCLITK_TEST_DATA_PATH="${CLITK_TEST_DATA_PATH}")
+#=========================================================
+#=========================================================
+# Google test macro
+macro(ADD_GOOGLE_TESTS executable)
+  foreach ( source ${ARGN} )
+    file(READ "${source}" contents)
+    string(REGEX MATCHALL "TEST_?F?\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents})
+    foreach(hit ${found_tests})
+      string(REGEX REPLACE ".*\\(([A-Za-z_0-9]+)[, ]*([A-Za-z_0-9]+)\\).*" "\\1.\\2" test_name ${hit})
+      add_test(${test_name} ${executable} --gtest_filter=${test_name})
+    endforeach(hit)
+  endforeach()
+endmacro()
+#=========================================================
+#=========================================================
+SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/tests/bin)
+SET(BUILDNAME ${CMAKE_SYSTEM_NAME}${CMAKE_OSX_ARCHITECTURES} CACHE INTERNAL DOCSTRING)
+#=========================================================
+#=========================================================
+# GoogleTest framemwork
+FIND_PATH(GTEST_DIR gtest)
+INCLUDE_DIRECTORIES(${GTEST_DIR}/include/)
 
+FIND_LIBRARY(GTEST_LIB NAMES gtest PATHS ${GTEST_DIR}/build/)
+ADD_LIBRARY(gtest UNKNOWN IMPORTED)
+SET_PROPERTY(TARGET gtest PROPERTY IMPORTED_LOCATION "${GTEST_LIB}")
+#=========================================================
+#=========================================================
+# Enabled options to test
+IF(CLITK_BUILD_TOOLS)
   ADD_SUBDIRECTORY(tools)
-  #ADD_SUBDIRECTORY(segmentation)
-  #ADD_SUBDIRECTORY(registration)
-  #ADD_SUBDIRECTORY(common)
+ENDIF()
+IF(CLITK_BUILD_VV)
+  ADD_SUBDIRECTORY(vv)
+ENDIF()
+# IF(CLITK_BUILD_SEGMENTATION)
+#   ADD_SUBDIRECTORY(segmentation)
+# ENDIF()
+# 
+# IF(CLITK_BUILD_REGISTATION)
+#   ADD_SUBDIRECTORY(registration)
+# ENDIF()
+#ADD_SUBDIRECTORY(common)
+#=========================================================
 
-ENDIF(CLITK_BUILD_TESTING)