Procházet zdrojové kódy

Extended QT4_GENERATE_MOCS macro and moved to main CMake folder.

Sascha Zelzer před 12 roky
rodič
revize
be16c9bd58

+ 1 - 1
CMake/CTKConfig.cmake.in

@@ -70,7 +70,7 @@ INCLUDE("@CTK_CMAKE_DIR_CONFIG@/ctkFunctionGetAllPluginTargets.cmake")
 INCLUDE("@CTK_CMAKE_DIR_CONFIG@/ctkFunctionGetTargetDependencies.cmake")
 INCLUDE("@CTK_CMAKE_DIR_CONFIG@/ctkFunctionGetPluginDependencies.cmake")
 INCLUDE("@CTK_CMAKE_DIR_CONFIG@/ctkMacroSetupPlugins.cmake")
-INCLUDE("@CTKTesting_CMAKE_DIR_CONFIG@/ctkMacroGenerateMocs.cmake")
+INCLUDE("@CTK_CMAKE_DIR_CONFIG@/ctkMacroGenerateMocs.cmake")
 
 SET(CTK_EXPORT_HEADER_TEMPLATE "@CTK_EXPORT_HEADER_TEMPLATE@")
 

+ 21 - 0
CMake/ctkMacroGenerateMocs.cmake

@@ -0,0 +1,21 @@
+
+# QT4_GENERATE_MOCS(inputfile1 [inputfile2 ...])
+
+macro(QT4_GENERATE_MOCS)
+  foreach(file ${ARGN})
+    set(moc_file moc_${file})
+    QT4_GENERATE_MOC(${file} ${moc_file})
+
+    get_filename_component(source_name ${file} NAME_WE)
+    get_filename_component(source_ext ${file} EXT)
+    if(${source_ext} MATCHES "\\.[hH]")
+      if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cpp)
+        set(source_ext .cpp)
+      elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cxx)
+        set(source_ext .cxx)
+      endif()
+    endif()
+    set_property(SOURCE ${source_name}${source_ext} APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
+  endforeach()
+endmacro()
+

+ 1 - 0
CMakeLists.txt

@@ -186,6 +186,7 @@ include(CMake/ctkMacroBuildPlugin.cmake)
 include(CMake/ctkMacroBuildApp.cmake)
 include(CMake/ctkMacroBuildQtPlugin.cmake)
 include(CMake/ctkMacroCompilePythonScript.cmake)
+include(CMake/ctkMacroGenerateMocs.cmake)
 include(CMake/ctkMacroWrapPythonQt.cmake)
 include(CMake/ctkMacroSetupQt.cmake)
 include(CMake/ctkMacroTargetLibraries.cmake) # Import multiple macros

+ 0 - 11
Libs/Testing/CMake/ctkMacroGenerateMocs.cmake

@@ -1,11 +0,0 @@
-
-# QT4_GENERATE_MOCS(inputfile1 [inputfile2 ...])
-
-macro(QT4_GENERATE_MOCS)
-  foreach(file ${ARGN})
-    set(moc_file moc_${file})
-    QT4_GENERATE_MOC(${file} ${moc_file})
-    macro_add_file_dependencies(${file} ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
-  endforeach()
-endmacro()
-

+ 0 - 3
Libs/Testing/CMakeLists.txt

@@ -1,8 +1,5 @@
 project(CTKTesting)
 
-# CMake Macros
-include(CMake/ctkMacroGenerateMocs.cmake)
-
 if(CTK_USE_QTTESTING)
   include(../QtTesting/CMake/ctkQtTesting.cmake)
 endif()