]> Creatis software - cpPlugins.git/blob - lib/cpPlugins_Instances/CMakeLists.txt
More macos issues...
[cpPlugins.git] / lib / cpPlugins_Instances / CMakeLists.txt
1 ## ============================
2 ## == Configure source files ==
3 ## ============================
4
5 FILE(
6   GLOB all_INSTANCES_FILES RELATIVE
7   "${CMAKE_CURRENT_SOURCE_DIR}"
8   "${CMAKE_CURRENT_SOURCE_DIR}/*.i"
9   )
10
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})
22   ADD_CUSTOM_COMMAND(
23     OUTPUT ${header} ${source}
24     DEPENDS "${cpPluginsInstances_APP}" ${instances}
25     COMMAND "${cpPluginsInstances_APP}" ${instances} ${libname} ${header} ${source}
26     )
27   IF(EXISTS ${extra})
28     ADD_LIBRARY(${libname} SHARED ${source} ${extra})
29   ELSE(EXISTS ${extra})
30     ADD_LIBRARY(${libname} SHARED ${source})
31   ENDIF(EXISTS ${extra})
32   SET_TARGET_PROPERTIES(
33     ${libname} PROPERTIES
34     VERSION "${prj_VER}"
35     SOVERSION "${prj_sVER}"
36     )
37   GENERATE_EXPORT_HEADER(
38     ${libname}
39     BASE_NAME ${libname}
40     EXPORT_MACRO_NAME ${libname}_EXPORT
41     EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${libname}_Export.h
42     STATIC_DEFINE ${libname}_BUILT_AS_STATIC
43     )
44   SET(all_INSTANCES_LIBS "${all_INSTANCES_LIBS};${libname}")
45 ENDFOREACH(libID)
46 SET(cpPlugins_LIBRARIES ${all_INSTANCES_LIBS} CACHE INTERNAL "All libraries" FORCE)
47
48 ## =============
49 ## == Linking ==
50 ## =============
51
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)
71
72 ## eof - $RCSfile$