]> Creatis software - cpPlugins.git/blob - lib/cpPlugins_Instances/CMakeLists.txt
...
[cpPlugins.git] / lib / cpPlugins_Instances / CMakeLists.txt
1 FILE(
2   GLOB libs_DEFS RELATIVE
3   "${CMAKE_CURRENT_SOURCE_DIR}"
4   "${CMAKE_CURRENT_SOURCE_DIR}/*.i"
5   )
6
7 FOREACH(i ${libs_DEFS})
8   GET_FILENAME_COMPONENT(l_DEF ${i} NAME_WE)
9   SET(i_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}.i")
10   SET(h_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.h")
11   SET(s_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.cxx")
12   SET(o_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}_extra.cxx")
13   SET(l_NAME "cpPlugins_${l_DEF}")
14   ADD_CUSTOM_COMMAND(
15     OUTPUT ${h_FILE} ${s_FILE}
16     DEPENDS cpPlugins_CreateInstances ${i_FILE}
17     COMMAND cpPlugins_CreateInstances ${i_FILE} ${l_NAME} ${h_FILE} ${s_FILE}
18     )
19   IF(EXISTS ${o_FILE})
20     ADD_LIBRARY(${l_NAME} SHARED ${s_FILE} ${o_FILE})
21   ELSE(EXISTS ${o_FILE})
22     ADD_LIBRARY(${l_NAME} SHARED ${s_FILE})
23   ENDIF(EXISTS ${o_FILE})
24   SET_TARGET_PROPERTIES(
25     ${l_NAME} PROPERTIES
26     VERSION "${prj_VER}"
27     SOVERSION "${prj_sVER}"
28     )
29   GENERATE_EXPORT_HEADER(
30     ${l_NAME}
31     BASE_NAME ${l_NAME}
32     EXPORT_MACRO_NAME ${l_NAME}_EXPORT
33     EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${l_NAME}_Export.h
34     STATIC_DEFINE ${l_NAME}_BUILT_AS_STATIC
35     )
36 ENDFOREACH(i)
37
38 ## Target links
39 TARGET_LINK_LIBRARIES(cpPlugins_Base ${ITK_LIBRARIES} ${VTK_LIBRARIES})
40 TARGET_LINK_LIBRARIES(cpPlugins_Image cpPlugins_Base)
41 TARGET_LINK_LIBRARIES(cpPlugins_Mesh cpPlugins_Base)
42 TARGET_LINK_LIBRARIES(cpPlugins_Transforms cpPlugins_Base)
43 TARGET_LINK_LIBRARIES(cpPlugins_ImageIterators cpPlugins_Image)
44 TARGET_LINK_LIBRARIES(cpPlugins_ImageFiltersBase cpPlugins_Image)
45 TARGET_LINK_LIBRARIES(cpPlugins_InPlaceImageFiltersBase cpPlugins_ImageFiltersBase)
46 TARGET_LINK_LIBRARIES(cpPlugins_ThresholdFilters cpPlugins_InPlaceImageFiltersBase cpPlugins_ImageIterators)
47 TARGET_LINK_LIBRARIES(cpPlugins_DistanceMapFilters cpPlugins_ThresholdFilters)
48 TARGET_LINK_LIBRARIES(cpPlugins_ImageIO cpPlugins_ImageFiltersBase)
49 TARGET_LINK_LIBRARIES(cpPlugins_ImageITK2VTK cpPlugins_ImageFiltersBase)
50
51 #TARGET_LINK_LIBRARIES(cpPlugins_Transforms
52 #   cpPlugins_Base
53 #   )
54 # TARGET_LINK_LIBRARIES(
55 #   cpPlugins_Image
56 #   cpPlugins_Base
57 #   )
58 # TARGET_LINK_LIBRARIES(
59 #   cpPlugins_Mesh
60 #   cpPlugins_Base
61 #   )
62 # TARGET_LINK_LIBRARIES(
63 #   cpPlugins_ImageFiltersBase
64 #   cpPlugins_Image
65 #   )
66 # TARGET_LINK_LIBRARIES(
67 #   cpPlugins_ImageITK2VTK
68 #   cpPlugins_ImageFiltersBase
69 #   )
70 # TARGET_LINK_LIBRARIES(
71 #   cpPlugins_ImageIterators
72 #   cpPlugins_Image
73 #   )
74 # TARGET_LINK_LIBRARIES(
75 #   cpPlugins_ImageIO
76 #   cpPlugins_ImageFiltersBase
77 #   cpPlugins_ImageIterators
78 #   )
79 # TARGET_LINK_LIBRARIES(
80 #   cpPlugins_ThresholdFilters
81 #   cpPlugins_ImageFiltersBase
82 #   cpPlugins_ImageIterators
83 #   )
84 # TARGET_LINK_LIBRARIES(
85 #   cpPlugins_DistanceMapFilters
86 #   cpPlugins_ThresholdFilters
87 #   )
88 # TARGET_LINK_LIBRARIES(
89 #   cpPlugins_ResamplingFilters
90 #   cpPlugins_Transforms
91 #   cpPlugins_ImageFiltersBase
92 #   cpPlugins_ImageIterators
93 #   )
94
95 # # ===================================
96 # # = Integrate all source file names =
97 # # ===================================
98
99 # SET(
100 #   lib_HEADERS
101 #   ${lib_HEADERS_H}
102 #   ${lib_HEADERS_HPP}
103 #   ${lib_HEADERS_HXX}
104 #   )
105
106 # SET(
107 #   lib_SOURCES
108 #   ${lib_SOURCES_C}
109 #   ${lib_SOURCES_CPP}
110 #   ${lib_SOURCES_CXX}
111 #   )
112
113 # ## =====================
114 # ## = Compilation rules =
115 # ## =====================
116
117 # ## ========================
118 # ## == Installation rules ==
119 # ## ========================
120
121 # INSTALL(
122 #   TARGETS ${l_NAME}
123 #   RUNTIME DESTINATION bin
124 #   LIBRARY DESTINATION lib
125 #   ARCHIVE DESTINATION lib/static
126 #   )
127 # INSTALL(
128 #   FILES
129 #   ${lib_HEADERS}
130 #   DESTINATION include/${lib_DIR}
131 #   )
132
133 ## eof - $RCSfile$