seperate qt unittests into subdirectories
[mussa.git] / makelib / TestMacros.cmake
diff --git a/makelib/TestMacros.cmake b/makelib/TestMacros.cmake
new file mode 100644 (file)
index 0000000..47f9432
--- /dev/null
@@ -0,0 +1,43 @@
+
+#deal with some debian wierdness
+#FIND_PROGRAM(QT_QMAKE_EXECUTABLE qmake-qt4 )
+#FIND_PROGRAM(QT_MOC_EXECUTABLE moc-qt4 )
+
+FIND_PACKAGE(Qt4)
+SET(QT_USE_QTOPENGL 1)
+IF(QT_QTASSISTANT_FOUND)
+  SET(QT_USE_QTNETWORK 1)
+  SET(QT_USE_QTASSISTANT 1)
+ENDIF(QT_QTASSISTANT_FOUND)
+INCLUDE( ${QT_USE_FILE} )
+FIND_PACKAGE(OpenGL)
+FIND_PACKAGE(Boost)
+FIND_PACKAGE(PythonLibs)
+
+IF(QT4_FOUND)
+  SET(qui_test_libs
+        mussa_qui
+        mussa_core
+        ${QT_LIBRARIES}
+        ${OPENGL_gl_LIBRARY}
+        ${BOOST_PROGRAM_OPTIONS_LIBRARY}
+        ${BOOST_FILESYSTEM_LIBRARY}
+        ${BOOST_SERIALIZATION_LIBRARY}
+        ${QT_QTTEST_LIBRARY}
+      )
+      
+  MACRO(MAKE_QUI_UNITTEST basename)
+    SET(extra_libs ${ARGN})
+    QT4_WRAP_CPP(${basename}_MOC_CXX  ${basename}.hpp)
+    GET_FILENAME_COMPONENT(${basename}_MOC_DIR ${${basename}_MOC_CXX} PATH)
+    SET(${basename}_SRC ${basename}.cpp)
+    INCLUDE_DIRECTORIES(${${basename}_MOC_DIR})
+    SET_SOURCE_FILES_PROPERTIES(${${basename}_SRC} 
+                                PROPERTIES COMPILE_FLAGS "-fPIC"
+                               )
+    ADD_EXECUTABLE(${basename} ${${basename}_MOC_CXX} ${${basename}_SRC})
+    SET_TARGET_PROPERTIES(${basename} PROPERTIES COMPILE_FLAGS "-fPIC")
+    TARGET_LINK_LIBRARIES(${basename} ${qui_test_libs} ${extra_libs})
+    ADD_TEST(${basename} ${basename})
+  ENDMACRO(MAKE_QUI_UNITTEST)
+ENDIF(QT4_FOUND)
\ No newline at end of file