]> Creatis software - cpPlugins.git/blob - lib/cpPlugins_ITKInstances/CMakeLists.txt
1135fe51493e6dcead28312e57aad0ec0f6aa2b9
[cpPlugins.git] / lib / cpPlugins_ITKInstances / CMakeLists.txt
1 SET(lib_DIR  cpPlugins_ITKInstances)
2 SET(target_LIBRARIES ${ITK_LIBRARIES} ${VTK_LIBRARIES})
3 SET(
4   libs_SOURCES
5   Base
6   Image
7   ImageIterators
8   ImageFilters
9   )
10 FOREACH(lib_SRC ${libs_SOURCES})
11   SET(desc_NAME "${lib_SRC}_explicit_description.txt")
12   SET(header_NAME "${CMAKE_CURRENT_BINARY_DIR}/${lib_SRC}.h")
13   SET(source_NAME "${lib_SRC}.cxx")
14   SET(lib_NAME cpPlugins_ITKInstances_${lib_SRC})
15   ADD_CUSTOM_COMMAND(
16     OUTPUT ${header_NAME}
17     DEPENDS cpPlugins_CreateInstances ${desc_NAME}
18     COMMAND cpPlugins_CreateInstances ${CMAKE_CURRENT_SOURCE_DIR}/${desc_NAME} ${lib_DIR} ${lib_SRC} ${header_NAME}
19     )
20   ADD_LIBRARY(${lib_NAME} SHARED ${source_NAME} ${header_NAME})
21   SET_TARGET_PROPERTIES(
22     ${lib_NAME} PROPERTIES
23     VERSION "${prj_VER}"
24     SOVERSION "${prj_sVER}"
25     )
26   GENERATE_EXPORT_HEADER(
27     ${lib_NAME}
28     BASE_NAME ${lib_NAME}
29     EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
30     EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/${lib_SRC}_Export.h
31     STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
32     )
33 ENDFOREACH(lib_SRC)
34 TARGET_LINK_LIBRARIES(
35   cpPlugins_ITKInstances_Base
36   ${target_LIBRARIES}
37   )
38 TARGET_LINK_LIBRARIES(
39   cpPlugins_ITKInstances_Image
40   cpPlugins_ITKInstances_Base
41   )
42 TARGET_LINK_LIBRARIES(
43   cpPlugins_ITKInstances_ImageIterators
44   cpPlugins_ITKInstances_Image
45   )
46 TARGET_LINK_LIBRARIES(
47   cpPlugins_ITKInstances_ImageFilters
48   cpPlugins_ITKInstances_ImageIterators
49   )
50
51 # # ===================================
52 # # = Integrate all source file names =
53 # # ===================================
54
55 # SET(
56 #   lib_HEADERS
57 #   ${lib_HEADERS_H}
58 #   ${lib_HEADERS_HPP}
59 #   ${lib_HEADERS_HXX}
60 #   )
61
62 # SET(
63 #   lib_SOURCES
64 #   ${lib_SOURCES_C}
65 #   ${lib_SOURCES_CPP}
66 #   ${lib_SOURCES_CXX}
67 #   )
68
69 # ## =====================
70 # ## = Compilation rules =
71 # ## =====================
72
73 # ## ========================
74 # ## == Installation rules ==
75 # ## ========================
76
77 # INSTALL(
78 #   TARGETS ${lib_NAME}
79 #   RUNTIME DESTINATION bin
80 #   LIBRARY DESTINATION lib
81 #   ARCHIVE DESTINATION lib/static
82 #   )
83 # INSTALL(
84 #   FILES
85 #   ${lib_HEADERS}
86 #   DESTINATION include/${lib_DIR}
87 #   )
88
89 # ## eof - $RCSfile$