]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins_Instances/CMakeLists.txt
...
[cpPlugins.git] / lib / cpPlugins_Instances / CMakeLists.txt
index 8042a986664f07e8b9d45a56680011656867768e..cfba0f783df3ca135d3a9babd56d8484be733a81 100644 (file)
@@ -1,72 +1,62 @@
-## ============================
-## == Configure source files ==
-## ============================
-
-FILE(
-  GLOB all_INSTANCES_FILES RELATIVE
-  "${CMAKE_CURRENT_SOURCE_DIR}"
-  "${CMAKE_CURRENT_SOURCE_DIR}/*.i"
-  )
-
 ## =================================
 ## == Compile instances libraries ==
 ## =================================
-SET(all_INSTANCES_LIBS "")
-FOREACH(libID ${all_INSTANCES_FILES})
-  GET_FILENAME_COMPONENT(name ${libID} NAME_WE)
-  SET(instances "${CMAKE_CURRENT_SOURCE_DIR}/${name}.i")
-  SET(header "${CMAKE_CURRENT_BINARY_DIR}/${name}.h")
-  SET(source "${CMAKE_CURRENT_BINARY_DIR}/${name}.cxx")
-  SET(extra "${CMAKE_CURRENT_SOURCE_DIR}/${name}_extra.cxx")
-  SET(libname cpPlugins_Instances_${name})
-  ADD_CUSTOM_COMMAND(
-    OUTPUT ${header} ${source}
-    DEPENDS "${cpPluginsInstances_APP}" ${instances}
-    COMMAND "${cpPluginsInstances_APP}" ${instances} ${libname} ${header} ${source}
-    )
-  IF(EXISTS ${extra})
-    ADD_LIBRARY(${libname} SHARED ${source} ${extra})
-  ELSE(EXISTS ${extra})
-    ADD_LIBRARY(${libname} SHARED ${source})
-  ENDIF(EXISTS ${extra})
-  SET_TARGET_PROPERTIES(
-    ${libname} PROPERTIES
-    VERSION "${prj_VER}"
-    SOVERSION "${prj_sVER}"
-    )
-  GENERATE_EXPORT_HEADER(
-    ${libname}
-    BASE_NAME ${libname}
-    EXPORT_MACRO_NAME ${libname}_EXPORT
-    EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${libname}_Export.h
-    STATIC_DEFINE ${libname}_BUILT_AS_STATIC
-    )
-  SET(all_INSTANCES_LIBS "${all_INSTANCES_LIBS};${libname}")
-ENDFOREACH(libID)
-SET(cpPlugins_LIBRARIES ${all_INSTANCES_LIBS} CACHE INTERNAL "All libraries" FORCE)
 
-## =============
-## == Linking ==
-## =============
+SET(pfx "cpPlugins_Instances_")
+SET(arg ${pfx} ${prj_VER} ${prj_sVER})
 
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_BaseObjects ${ITK_LIBRARIES})
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_Decorators ${ITK_LIBRARIES})
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ColorPixels cpPlugins_Instances_BaseObjects)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ScalarImages cpPlugins_Instances_BaseObjects)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ColorImages cpPlugins_Instances_ColorPixels cpPlugins_Instances_ScalarImages)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_VectorImages cpPlugins_Instances_ColorPixels cpPlugins_Instances_ScalarImages)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_ScalarImages)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ImagesIO cpPlugins_Instances_ScalarImages cpPlugins_Instances_ColorImages cpPlugins_Instances_VectorImages cpPlugins_Instances_Decorators)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ImageITK2VTK cpPlugins_Instances_ScalarImages cpPlugins_Instances_ColorImages cpPlugins_Instances_VectorImages ${VTK_LIBRARIES})
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_Paths cpPlugins_Instances_ScalarImages ${VTK_LIBRARIES})
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_Mesh cpPlugins_Instances_BaseObjects)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_Transforms cpPlugins_Instances_BaseObjects)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ScalarVectorImagesBaseFilters cpPlugins_Instances_ScalarImages cpPlugins_Instances_VectorImages)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_GaussianImageFilters cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_ScalarVectorImagesBaseFilters)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ThresholdFilters cpPlugins_Instances_ScalarImagesBaseFilters)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ResamplingFilters cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_Transforms)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_ImageMeshFilters cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_Mesh)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_NeighborhoodIterators cpPlugins_Instances_ScalarImages)
-TARGET_LINK_LIBRARIES(cpPlugins_Instances_DistanceMapFilters cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_NeighborhoodIterators cpPlugins_Instances_ThresholdFilters)
+cpPlugins_WrapInstances(BaseObjects ${arg} ${ITK_LIBRARIES})
+cpPlugins_WrapInstances(Decorators ${arg} ${ITK_LIBRARIES})
+cpPlugins_WrapInstances(Mesh ${arg} ${pfx}BaseObjects)
+cpPlugins_WrapInstances(Transforms ${arg} ${pfx}BaseObjects)
+cpPlugins_WrapInstances(ColorPixels ${arg} ${pfx}BaseObjects)
+cpPlugins_WrapInstances(ScalarImages ${arg} ${pfx}BaseObjects)
+cpPlugins_WrapInstances(ColorImages ${arg} ${pfx}ColorPixels ${pfx}ScalarImages)
+cpPlugins_WrapInstances(VectorImages ${arg} ${pfx}ScalarImages)
+cpPlugins_WrapInstances(Paths ${arg} ${pfx}ScalarImages ${VTK_LIBRARIES})
+cpPlugins_WrapInstances(NeighborhoodIterators ${arg} ${pfx}ScalarImages)
+cpPlugins_WrapInstances(
+  ImageITK2VTK ${arg} ${pfx}ScalarImages ${pfx}ColorImages ${pfx}VectorImages ${VTK_LIBRARIES}
+  )
+cpPlugins_WrapInstances(
+  ImagesIO ${arg} ${pfx}ScalarImages ${pfx}ColorImages ${pfx}VectorImages ${pfx}Decorators
+  )
+cpPlugins_WrapInstances(ScalarImagesBaseFilters ${arg} ${pfx}ScalarImages)
+cpPlugins_WrapInstances(ScalarVectorImagesBaseFilters ${arg} ${pfx}ScalarImages ${pfx}VectorImages)
+cpPlugins_WrapInstances(ThresholdFilters ${arg} ${pfx}ScalarImagesBaseFilters)
+cpPlugins_WrapInstances(ImageMeshFilters ${arg} ${pfx}ScalarImagesBaseFilters ${pfx}Mesh)
+cpPlugins_WrapInstances(ResamplingFilters ${arg} ${pfx}ScalarImagesBaseFilters ${pfx}Transforms)
+cpPlugins_WrapInstances(
+  DistanceMapFilters ${arg}
+  ${pfx}ScalarImagesBaseFilters ${pfx}NeighborhoodIterators ${pfx}ThresholdFilters
+  )
+cpPlugins_WrapInstances(
+  GaussianImageFilters ${arg}
+  ${pfx}ScalarImagesBaseFilters ${pfx}ScalarVectorImagesBaseFilters
+  )
+
+SET(
+  cpPlugins_LIBRARIES
+  ${pfx}BaseObjects
+  ${pfx}Decorators
+  ${pfx}Mesh
+  ${pfx}Transforms
+  ${pfx}ColorPixels
+  ${pfx}ScalarImages
+  ${pfx}ColorImages
+  ${pfx}VectorImages
+  ${pfx}Paths
+  ${pfx}NeighborhoodIterators
+  ${pfx}ImageITK2VTK
+  ${pfx}ImagesIO
+  ${pfx}ScalarImagesBaseFilters
+  ${pfx}ScalarVectorImagesBaseFilters
+  ${pfx}ThresholdFilters
+  ${pfx}ImageMeshFilters
+  ${pfx}ResamplingFilters
+  ${pfx}DistanceMapFilters
+  ${pfx}GaussianImageFilters
+  CACHE INTERNAL "All valid instances." FORCE
+  )
 
 ## eof - $RCSfile$