FILE( GLOB libs_DEFS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*.i" ) FOREACH(i ${libs_DEFS}) GET_FILENAME_COMPONENT(l_DEF ${i} NAME_WE) SET(i_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}.i") SET(h_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.h") SET(s_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.cxx") SET(o_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}_extra.cxx") SET(l_NAME "cpPlugins_${l_DEF}") ADD_CUSTOM_COMMAND( OUTPUT ${h_FILE} ${s_FILE} DEPENDS cpPlugins_CreateInstances ${i_FILE} COMMAND cpPlugins_CreateInstances ${i_FILE} ${l_NAME} ${h_FILE} ${s_FILE} ) IF(EXISTS ${o_FILE}) ADD_LIBRARY(${l_NAME} SHARED ${s_FILE} ${o_FILE}) ELSE(EXISTS ${o_FILE}) ADD_LIBRARY(${l_NAME} SHARED ${s_FILE}) ENDIF(EXISTS ${o_FILE}) SET_TARGET_PROPERTIES( ${l_NAME} PROPERTIES VERSION "${prj_VER}" SOVERSION "${prj_sVER}" ) GENERATE_EXPORT_HEADER( ${l_NAME} BASE_NAME ${l_NAME} EXPORT_MACRO_NAME ${l_NAME}_EXPORT EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${l_NAME}_Export.h STATIC_DEFINE ${l_NAME}_BUILT_AS_STATIC ) ENDFOREACH(i) ## Target links TARGET_LINK_LIBRARIES(cpPlugins_Base ${ITK_LIBRARIES} ${VTK_LIBRARIES}) TARGET_LINK_LIBRARIES(cpPlugins_Image cpPlugins_Base) TARGET_LINK_LIBRARIES(cpPlugins_Mesh cpPlugins_Base) TARGET_LINK_LIBRARIES(cpPlugins_Paths cpPlugins_Base) TARGET_LINK_LIBRARIES(cpPlugins_Transforms cpPlugins_Base) TARGET_LINK_LIBRARIES(cpPlugins_ImageIterators cpPlugins_Image) TARGET_LINK_LIBRARIES(cpPlugins_ImageFiltersBase cpPlugins_Image) TARGET_LINK_LIBRARIES(cpPlugins_InPlaceImageFiltersBase cpPlugins_ImageFiltersBase) TARGET_LINK_LIBRARIES(cpPlugins_ThresholdFilters cpPlugins_InPlaceImageFiltersBase cpPlugins_ImageIterators) TARGET_LINK_LIBRARIES(cpPlugins_DistanceMapFilters cpPlugins_ThresholdFilters) TARGET_LINK_LIBRARIES(cpPlugins_ImageIO cpPlugins_ImageFiltersBase cpPlugins_ImageIterators) TARGET_LINK_LIBRARIES(cpPlugins_ImageITK2VTK cpPlugins_ImageFiltersBase) TARGET_LINK_LIBRARIES(cpPlugins_ResamplingFilters cpPlugins_ImageFiltersBase cpPlugins_ImageIterators cpPlugins_Transforms) TARGET_LINK_LIBRARIES(cpPlugins_GaussianImageFilters cpPlugins_ImageFiltersBase cpPlugins_ImageIterators) #TARGET_LINK_LIBRARIES(cpPlugins_Transforms # cpPlugins_Base # ) # TARGET_LINK_LIBRARIES( # cpPlugins_Image # cpPlugins_Base # ) # TARGET_LINK_LIBRARIES( # cpPlugins_Mesh # cpPlugins_Base # ) # TARGET_LINK_LIBRARIES( # cpPlugins_ImageFiltersBase # cpPlugins_Image # ) # TARGET_LINK_LIBRARIES( # cpPlugins_ImageITK2VTK # cpPlugins_ImageFiltersBase # ) # TARGET_LINK_LIBRARIES( # cpPlugins_ImageIterators # cpPlugins_Image # ) # TARGET_LINK_LIBRARIES( # cpPlugins_ImageIO # cpPlugins_ImageFiltersBase # cpPlugins_ImageIterators # ) # TARGET_LINK_LIBRARIES( # cpPlugins_ThresholdFilters # cpPlugins_ImageFiltersBase # cpPlugins_ImageIterators # ) # TARGET_LINK_LIBRARIES( # cpPlugins_DistanceMapFilters # cpPlugins_ThresholdFilters # ) # TARGET_LINK_LIBRARIES( # cpPlugins_ResamplingFilters # cpPlugins_Transforms # cpPlugins_ImageFiltersBase # cpPlugins_ImageIterators # ) # # =================================== # # = Integrate all source file names = # # =================================== # SET( # lib_HEADERS # ${lib_HEADERS_H} # ${lib_HEADERS_HPP} # ${lib_HEADERS_HXX} # ) # SET( # lib_SOURCES # ${lib_SOURCES_C} # ${lib_SOURCES_CPP} # ${lib_SOURCES_CXX} # ) # ## ===================== # ## = Compilation rules = # ## ===================== # ## ======================== # ## == Installation rules == # ## ======================== # INSTALL( # TARGETS ${l_NAME} # RUNTIME DESTINATION bin # LIBRARY DESTINATION lib # ARCHIVE DESTINATION lib/static # ) # INSTALL( # FILES # ${lib_HEADERS} # DESTINATION include/${lib_DIR} # ) ## eof - $RCSfile$