]> 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(
40   cpPlugins_Base
41   ${ITK_LIBRARIES}
42   ${VTK_LIBRARIES}
43   )
44 TARGET_LINK_LIBRARIES(
45   cpPlugins_Image
46   cpPlugins_Base
47   )
48 TARGET_LINK_LIBRARIES(
49   cpPlugins_Mesh
50   cpPlugins_Base
51   )
52 TARGET_LINK_LIBRARIES(
53   cpPlugins_ImageFiltersBase
54   cpPlugins_Image
55   )
56 TARGET_LINK_LIBRARIES(
57   cpPlugins_ImageITK2VTK
58   cpPlugins_ImageFiltersBase
59   )
60 TARGET_LINK_LIBRARIES(
61   cpPlugins_ImageIterators
62   cpPlugins_Image
63   )
64 TARGET_LINK_LIBRARIES(
65   cpPlugins_ImageIO
66   cpPlugins_ImageFiltersBase
67   cpPlugins_ImageIterators
68   )
69 TARGET_LINK_LIBRARIES(
70   cpPlugins_ThresholdFilters
71   cpPlugins_ImageFiltersBase
72   )
73 TARGET_LINK_LIBRARIES(
74   cpPlugins_DistanceMapFilters
75   cpPlugins_ThresholdFilters
76   )
77
78 # # ===================================
79 # # = Integrate all source file names =
80 # # ===================================
81
82 # SET(
83 #   lib_HEADERS
84 #   ${lib_HEADERS_H}
85 #   ${lib_HEADERS_HPP}
86 #   ${lib_HEADERS_HXX}
87 #   )
88
89 # SET(
90 #   lib_SOURCES
91 #   ${lib_SOURCES_C}
92 #   ${lib_SOURCES_CPP}
93 #   ${lib_SOURCES_CXX}
94 #   )
95
96 # ## =====================
97 # ## = Compilation rules =
98 # ## =====================
99
100 # ## ========================
101 # ## == Installation rules ==
102 # ## ========================
103
104 # INSTALL(
105 #   TARGETS ${l_NAME}
106 #   RUNTIME DESTINATION bin
107 #   LIBRARY DESTINATION lib
108 #   ARCHIVE DESTINATION lib/static
109 #   )
110 # INSTALL(
111 #   FILES
112 #   ${lib_HEADERS}
113 #   DESTINATION include/${lib_DIR}
114 #   )
115
116 ## eof - $RCSfile$