1 ## ============================
2 ## == Configure source files ==
3 ## ============================
6 GLOB all_INSTANCES_FILES RELATIVE
7 "${CMAKE_CURRENT_SOURCE_DIR}"
8 "${CMAKE_CURRENT_SOURCE_DIR}/*.i"
11 ## =================================
12 ## == Compile instances libraries ==
13 ## =================================
14 SET(all_INSTANCES_LIBS "")
15 FOREACH(libID ${all_INSTANCES_FILES})
16 GET_FILENAME_COMPONENT(name ${libID} NAME_WE)
17 SET(instances "${CMAKE_CURRENT_SOURCE_DIR}/${name}.i")
18 SET(header "${CMAKE_CURRENT_BINARY_DIR}/${name}.h")
19 SET(source "${CMAKE_CURRENT_BINARY_DIR}/${name}.cxx")
20 SET(extra "${CMAKE_CURRENT_SOURCE_DIR}/${name}_extra.cxx")
21 SET(libname cpPlugins_Instances_${name})
23 OUTPUT ${header} ${source}
24 DEPENDS "${cpPluginsInstances_APP}" ${instances}
25 COMMAND "${cpPluginsInstances_APP}" ${instances} ${libname} ${header} ${source}
28 ADD_LIBRARY(${libname} SHARED ${source} ${extra})
30 ADD_LIBRARY(${libname} SHARED ${source})
31 ENDIF(EXISTS ${extra})
32 SET_TARGET_PROPERTIES(
35 SOVERSION "${prj_sVER}"
37 GENERATE_EXPORT_HEADER(
40 EXPORT_MACRO_NAME ${libname}_EXPORT
41 EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${libname}_Export.h
42 STATIC_DEFINE ${libname}_BUILT_AS_STATIC
44 SET(all_INSTANCES_LIBS "${all_INSTANCES_LIBS};${libname}")
46 SET(cpPlugins_LIBRARIES ${all_INSTANCES_LIBS} CACHE INTERNAL "All libraries" FORCE)
52 TARGET_LINK_LIBRARIES(cpPlugins_Instances_BaseObjects ${ITK_LIBRARIES})
53 TARGET_LINK_LIBRARIES(cpPlugins_Instances_Decorators ${ITK_LIBRARIES})
54 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ColorPixels cpPlugins_Instances_BaseObjects)
55 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ScalarImages cpPlugins_Instances_BaseObjects)
56 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ColorImages cpPlugins_Instances_ColorPixels cpPlugins_Instances_ScalarImages)
57 TARGET_LINK_LIBRARIES(cpPlugins_Instances_VectorImages cpPlugins_Instances_ColorPixels cpPlugins_Instances_ScalarImages)
58 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_ScalarImages)
59 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ImagesIO cpPlugins_Instances_ScalarImages cpPlugins_Instances_ColorImages cpPlugins_Instances_VectorImages cpPlugins_Instances_Decorators)
60 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ImageITK2VTK cpPlugins_Instances_ScalarImages cpPlugins_Instances_ColorImages cpPlugins_Instances_VectorImages ${VTK_LIBRARIES})
61 TARGET_LINK_LIBRARIES(cpPlugins_Instances_Paths cpPlugins_Instances_ScalarImages ${VTK_LIBRARIES})
62 TARGET_LINK_LIBRARIES(cpPlugins_Instances_Mesh cpPlugins_Instances_BaseObjects)
63 TARGET_LINK_LIBRARIES(cpPlugins_Instances_Transforms cpPlugins_Instances_BaseObjects)
64 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ScalarVectorImagesBaseFilters cpPlugins_Instances_ScalarImages cpPlugins_Instances_VectorImages)
65 TARGET_LINK_LIBRARIES(cpPlugins_Instances_GaussianImageFilters cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_ScalarVectorImagesBaseFilters)
66 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ThresholdFilters cpPlugins_Instances_ScalarImagesBaseFilters)
67 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ResamplingFilters cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_Transforms)
68 TARGET_LINK_LIBRARIES(cpPlugins_Instances_ImageMeshFilters cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_Mesh)
69 TARGET_LINK_LIBRARIES(cpPlugins_Instances_NeighborhoodIterators cpPlugins_Instances_ScalarImages)
70 TARGET_LINK_LIBRARIES(cpPlugins_Instances_DistanceMapFilters cpPlugins_Instances_ScalarImagesBaseFilters cpPlugins_Instances_NeighborhoodIterators cpPlugins_Instances_ThresholdFilters)