]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa_Instances/CMakeLists.txt
...
[FrontAlgorithms.git] / lib / fpa_Instances / CMakeLists.txt
index 17d682643fac2b9d7f48180ead09018d5cf355e5..b0c55253984bfbc74a438fb515a4c2aad08bdd3b 100644 (file)
@@ -1,77 +1,24 @@
-FILE(
-  GLOB libs_DEFS RELATIVE
-  "${CMAKE_CURRENT_SOURCE_DIR}"
-  "${CMAKE_CURRENT_SOURCE_DIR}/*.i"
-  )
+## =================================
+## == Compile instances libraries ==
+## =================================
+
+SET(pfx "fpa_")
+SET(arg ${pfx} ${prj_VER} ${prj_sVER})
 
-SET(aux_ALL_INSTANCES)
-FOREACH(i ${libs_DEFS})
-  GET_FILENAME_COMPONENT(l_DEF ${i} NAME_WE)
-  SET(i_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}.i")
-  SET(h_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.h")
-  SET(s_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.cxx")
-  SET(o_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}_extra.cxx")
-  SET(l_NAME "fpa_${l_DEF}")
-  SET(aux_ALL_INSTANCES ${aux_ALL_INSTANCES} ${l_NAME})
-  ADD_CUSTOM_COMMAND(
-    OUTPUT ${h_FILE} ${s_FILE}
-    DEPENDS ${cpPlugins_CreateInstances} ${i_FILE}
-    COMMAND ${cpPlugins_CreateInstances} ${i_FILE} ${l_NAME} ${h_FILE} ${s_FILE}
-    )
-  IF(EXISTS ${o_FILE})
-    ADD_LIBRARY(${l_NAME} SHARED ${s_FILE} ${o_FILE})
-  ELSE(EXISTS ${o_FILE})
-    ADD_LIBRARY(${l_NAME} SHARED ${s_FILE})
-  ENDIF(EXISTS ${o_FILE})
-  SET_TARGET_PROPERTIES(
-    ${l_NAME} PROPERTIES
-    VERSION "${prj_VER}"
-    SOVERSION "${prj_sVER}"
-    )
-  GENERATE_EXPORT_HEADER(
-    ${l_NAME}
-    BASE_NAME ${l_NAME}
-    EXPORT_MACRO_NAME ${l_NAME}_EXPORT
-    EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${l_NAME}_Export.h
-    STATIC_DEFINE ${l_NAME}_BUILT_AS_STATIC
-    )
-ENDFOREACH(i)
+cpPlugins_WrapInstances(Instances ${arg} ${cpPlugins_LIBRARIES})
+cpPlugins_WrapInstances(Functors ${arg} ${pfx}Instances)
+cpPlugins_WrapInstances(Filters ${arg} ${pfx}Instances)
+cpPlugins_WrapInstances(Backtracking ${arg} ${pfx}Instances)
+cpPlugins_WrapInstances(Observers ${arg} ${pfx}Filters)
 
 SET(
-  fpa_ALL_INSTANCES
-  ${aux_ALL_INSTANCES}
-  CACHE STRING "All instances libraries."
+  fpa_LIBRARIES
+  ${pfx}Instances
+  ${pfx}Functors
+  ${pfx}Filters
+  ${pfx}Backtracking
+  ${pfx}Observers
+  CACHE INTERNAL "All valid instances." FORCE
   )
 
-## Target links
-TARGET_LINK_LIBRARIES(fpa_Instances ${cpPlugins_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES})
-TARGET_LINK_LIBRARIES(fpa_Filters fpa_Instances)
-TARGET_LINK_LIBRARIES(fpa_Observers fpa_Filters)
-
-# TARGET_LINK_LIBRARIES(fpa_Transforms ${ITK_LIBRARIES} fpa_Base)
-# TARGET_LINK_LIBRARIES(fpa_Paths fpa_Base)
-# TARGET_LINK_LIBRARIES(fpa_Mesh fpa_Base)
-# TARGET_LINK_LIBRARIES(fpa_Image fpa_Base)
-# TARGET_LINK_LIBRARIES(fpa_ImageIterators ${ITK_LIBRARIES} fpa_Image)
-# TARGET_LINK_LIBRARIES(fpa_ImageFiltersBase fpa_Image)
-# TARGET_LINK_LIBRARIES(fpa_InPlaceImageFiltersBase fpa_ImageFiltersBase)
-# TARGET_LINK_LIBRARIES(fpa_ImageITK2VTK fpa_ImageFiltersBase ${VTK_LIBRARIES})
-# TARGET_LINK_LIBRARIES(fpa_ThresholdFilters fpa_InPlaceImageFiltersBase fpa_ImageIterators)
-# TARGET_LINK_LIBRARIES(fpa_DistanceMapFilters fpa_ThresholdFilters)
-# TARGET_LINK_LIBRARIES(fpa_ResamplingFilters fpa_ImageFiltersBase fpa_ImageIterators fpa_Transforms)
-# TARGET_LINK_LIBRARIES(fpa_GaussianImageFilters fpa_ImageFiltersBase fpa_ImageIterators)
-# TARGET_LINK_LIBRARIES(fpa_ImageIO fpa_ImageFiltersBase fpa_ImageIterators)
-
-# INSTALL(
-#   TARGETS ${l_NAME}
-#   RUNTIME DESTINATION bin
-#   LIBRARY DESTINATION lib
-#   ARCHIVE DESTINATION lib/static
-#   )
-# INSTALL(
-#   FILES
-#   ${lib_HEADERS}
-#   DESTINATION include/${lib_DIR}
-#   )
-
 ## eof - $RCSfile$