]> Creatis software - FrontAlgorithms.git/blob - lib/fpa_Instances/CMakeLists.txt
more experiments...
[FrontAlgorithms.git] / lib / fpa_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 "fpa_${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   fpa_ALL_INSTANCES
42   ${aux_ALL_INSTANCES}
43   CACHE STRING "All instances libraries."
44   )
45
46 ## Target links
47 TARGET_LINK_LIBRARIES(fpa_Instances ${cpPlugins_LIBRARY} ${cpPlugins_ALL_INSTANCES_LIBRARIES})
48 TARGET_LINK_LIBRARIES(fpa_Filters fpa_Instances)
49 TARGET_LINK_LIBRARIES(fpa_Observers fpa_Filters)
50
51 # TARGET_LINK_LIBRARIES(fpa_Transforms ${ITK_LIBRARIES} fpa_Base)
52 # TARGET_LINK_LIBRARIES(fpa_Paths fpa_Base)
53 # TARGET_LINK_LIBRARIES(fpa_Mesh fpa_Base)
54 # TARGET_LINK_LIBRARIES(fpa_Image fpa_Base)
55 # TARGET_LINK_LIBRARIES(fpa_ImageIterators ${ITK_LIBRARIES} fpa_Image)
56 # TARGET_LINK_LIBRARIES(fpa_ImageFiltersBase fpa_Image)
57 # TARGET_LINK_LIBRARIES(fpa_InPlaceImageFiltersBase fpa_ImageFiltersBase)
58 # TARGET_LINK_LIBRARIES(fpa_ImageITK2VTK fpa_ImageFiltersBase ${VTK_LIBRARIES})
59 # TARGET_LINK_LIBRARIES(fpa_ThresholdFilters fpa_InPlaceImageFiltersBase fpa_ImageIterators)
60 # TARGET_LINK_LIBRARIES(fpa_DistanceMapFilters fpa_ThresholdFilters)
61 # TARGET_LINK_LIBRARIES(fpa_ResamplingFilters fpa_ImageFiltersBase fpa_ImageIterators fpa_Transforms)
62 # TARGET_LINK_LIBRARIES(fpa_GaussianImageFilters fpa_ImageFiltersBase fpa_ImageIterators)
63 # TARGET_LINK_LIBRARIES(fpa_ImageIO fpa_ImageFiltersBase fpa_ImageIterators)
64
65 # INSTALL(
66 #   TARGETS ${l_NAME}
67 #   RUNTIME DESTINATION bin
68 #   LIBRARY DESTINATION lib
69 #   ARCHIVE DESTINATION lib/static
70 #   )
71 # INSTALL(
72 #   FILES
73 #   ${lib_HEADERS}
74 #   DESTINATION include/${lib_DIR}
75 #   )
76
77 ## eof - $RCSfile$