]> Creatis software - cpPlugins.git/blob - lib/cpPlugins_Instances/CMakeLists.txt
PolyLineParametricPath support added
[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 SET(aux_ALL_INSTANCES)
8 FOREACH(i ${libs_DEFS})
9   GET_FILENAME_COMPONENT(l_DEF ${i} NAME_WE)
10   SET(i_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}.i")
11   SET(h_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.h")
12   SET(s_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.cxx")
13   SET(o_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}_extra.cxx")
14   SET(l_NAME "cpPlugins_${l_DEF}")
15   SET(aux_ALL_INSTANCES ${aux_ALL_INSTANCES} ${l_NAME})
16   ADD_CUSTOM_COMMAND(
17     OUTPUT ${h_FILE} ${s_FILE}
18     DEPENDS cpPlugins_CreateInstances ${i_FILE}
19     COMMAND cpPlugins_CreateInstances ${i_FILE} ${l_NAME} ${h_FILE} ${s_FILE}
20     )
21   IF(EXISTS ${o_FILE})
22     ADD_LIBRARY(${l_NAME} SHARED ${s_FILE} ${o_FILE})
23   ELSE(EXISTS ${o_FILE})
24     ADD_LIBRARY(${l_NAME} SHARED ${s_FILE})
25   ENDIF(EXISTS ${o_FILE})
26   SET_TARGET_PROPERTIES(
27     ${l_NAME} PROPERTIES
28     VERSION "${prj_VER}"
29     SOVERSION "${prj_sVER}"
30     )
31   GENERATE_EXPORT_HEADER(
32     ${l_NAME}
33     BASE_NAME ${l_NAME}
34     EXPORT_MACRO_NAME ${l_NAME}_EXPORT
35     EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${l_NAME}_Export.h
36     STATIC_DEFINE ${l_NAME}_BUILT_AS_STATIC
37     )
38 ENDFOREACH(i)
39
40 SET(
41   cpPlugins_ALL_INSTANCES
42   ${aux_ALL_INSTANCES}
43   CACHE STRING "All instances libraries."
44   )
45
46 ## Target links
47 TARGET_LINK_LIBRARIES(cpPlugins_Base ${ITK_LIBRARIES})
48 TARGET_LINK_LIBRARIES(cpPlugins_Transforms ${ITK_LIBRARIES} cpPlugins_Base)
49 TARGET_LINK_LIBRARIES(cpPlugins_Paths cpPlugins_Base ${VTK_LIBRARIES})
50 TARGET_LINK_LIBRARIES(cpPlugins_Mesh cpPlugins_Base)
51 TARGET_LINK_LIBRARIES(cpPlugins_Image cpPlugins_Base)
52 TARGET_LINK_LIBRARIES(cpPlugins_ImageIterators ${ITK_LIBRARIES} cpPlugins_Image)
53 TARGET_LINK_LIBRARIES(cpPlugins_ImageFiltersBase cpPlugins_Image)
54 TARGET_LINK_LIBRARIES(cpPlugins_InPlaceImageFiltersBase cpPlugins_ImageFiltersBase)
55 TARGET_LINK_LIBRARIES(cpPlugins_ImageITK2VTK cpPlugins_ImageFiltersBase ${VTK_LIBRARIES})
56 TARGET_LINK_LIBRARIES(cpPlugins_ThresholdFilters cpPlugins_InPlaceImageFiltersBase cpPlugins_ImageIterators)
57 TARGET_LINK_LIBRARIES(cpPlugins_DistanceMapFilters cpPlugins_ThresholdFilters)
58 TARGET_LINK_LIBRARIES(cpPlugins_ResamplingFilters cpPlugins_ImageFiltersBase cpPlugins_ImageIterators cpPlugins_Transforms)
59 TARGET_LINK_LIBRARIES(cpPlugins_GaussianImageFilters cpPlugins_ImageFiltersBase cpPlugins_ImageIterators)
60 TARGET_LINK_LIBRARIES(cpPlugins_ImageIO cpPlugins_ImageFiltersBase cpPlugins_ImageIterators)
61
62 # INSTALL(
63 #   TARGETS ${l_NAME}
64 #   RUNTIME DESTINATION bin
65 #   LIBRARY DESTINATION lib
66 #   ARCHIVE DESTINATION lib/static
67 #   )
68 # INSTALL(
69 #   FILES
70 #   ${lib_HEADERS}
71 #   DESTINATION include/${lib_DIR}
72 #   )
73
74 ## eof - $RCSfile$