-## =============================
-## = Set names and directories =
-## =============================
-
-SET(lib_NAME cpPlugins_ITKInstances)
SET(lib_DIR cpPlugins_ITKInstances)
-
-## ===============
-## = Source code =
-## ===============
-
-FILE(GLOB lib_HEADERS_H "*.h")
-FILE(GLOB lib_HEADERS_HPP "*.hpp")
-FILE(GLOB lib_HEADERS_HXX "*.hxx")
-FILE(GLOB lib_SOURCES_C "*.c")
-FILE(GLOB lib_SOURCES_CPP "*.cpp")
-FILE(GLOB lib_SOURCES_CXX "*.cxx")
-
-# ===================================
-# = Integrate all source file names =
-# ===================================
-
+SET(target_LIBRARIES ${ITK_LIBRARIES} ${VTK_LIBRARIES})
SET(
- lib_HEADERS
- ${lib_HEADERS_H}
- ${lib_HEADERS_HPP}
- ${lib_HEADERS_HXX}
+ libs_SOURCES
+ Base
+ Image
+ ImageIterators
+ ImageFilters
)
-
-SET(
- lib_SOURCES
- ${lib_SOURCES_C}
- ${lib_SOURCES_CPP}
- ${lib_SOURCES_CXX}
+FOREACH(lib_SRC ${libs_SOURCES})
+ SET(desc_NAME "${lib_SRC}_explicit_description.txt")
+ SET(header_NAME "${CMAKE_CURRENT_BINARY_DIR}/${lib_SRC}.h")
+ SET(source_NAME "${lib_SRC}.cxx")
+ SET(lib_NAME cpPlugins_ITKInstances_${lib_SRC})
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${header_NAME}
+ DEPENDS cpPlugins_CreateInstances ${desc_NAME}
+ COMMAND cpPlugins_CreateInstances ${CMAKE_CURRENT_SOURCE_DIR}/${desc_NAME} ${lib_DIR} ${lib_SRC} ${header_NAME}
+ )
+ ADD_LIBRARY(${lib_NAME} SHARED ${source_NAME} ${header_NAME})
+ SET_TARGET_PROPERTIES(
+ ${lib_NAME} PROPERTIES
+ VERSION "${prj_VER}"
+ SOVERSION "${prj_sVER}"
+ )
+ GENERATE_EXPORT_HEADER(
+ ${lib_NAME}
+ BASE_NAME ${lib_NAME}
+ EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
+ EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/${lib_SRC}_Export.h
+ STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
+ )
+ENDFOREACH(lib_SRC)
+TARGET_LINK_LIBRARIES(
+ cpPlugins_ITKInstances_Base
+ ${target_LIBRARIES}
)
-
-SET(
- target_LIBRARIES
- ${ITK_LIBRARIES}
- ${VTK_LIBRARIES}
+TARGET_LINK_LIBRARIES(
+ cpPlugins_ITKInstances_Image
+ cpPlugins_ITKInstances_Base
)
-
-## =====================
-## = Compilation rules =
-## =====================
-
-ADD_LIBRARY(${lib_NAME} SHARED ${lib_SOURCES})
-SET_TARGET_PROPERTIES(
- ${lib_NAME} PROPERTIES
- VERSION "${prj_VER}"
- SOVERSION "${prj_sVER}"
+TARGET_LINK_LIBRARIES(
+ cpPlugins_ITKInstances_ImageIterators
+ cpPlugins_ITKInstances_Image
)
-GENERATE_EXPORT_HEADER(
- ${lib_NAME}
- BASE_NAME ${lib_NAME}
- EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
- EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/${lib_NAME}_Export.h
- STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
+TARGET_LINK_LIBRARIES(
+ cpPlugins_ITKInstances_ImageFilters
+ cpPlugins_ITKInstances_ImageIterators
)
-TARGET_LINK_LIBRARIES(${lib_NAME} ${target_LIBRARIES})
-## ========================
-## == Installation rules ==
-## ========================
+# # ===================================
+# # = Integrate all source file names =
+# # ===================================
-INSTALL(
- TARGETS ${lib_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib/static
- )
-INSTALL(
- FILES
- ${lib_HEADERS}
- DESTINATION include/${lib_DIR}
- )
+# 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 ${lib_NAME}
+# RUNTIME DESTINATION bin
+# LIBRARY DESTINATION lib
+# ARCHIVE DESTINATION lib/static
+# )
+# INSTALL(
+# FILES
+# ${lib_HEADERS}
+# DESTINATION include/${lib_DIR}
+# )
-## eof - $RCSfile$
+# ## eof - $RCSfile$