diff --git a/ConvertNDLibrary.cmake b/ConvertNDLibrary.cmake index eb6ed6d..9e19557 100644 --- a/ConvertNDLibrary.cmake +++ b/ConvertNDLibrary.cmake @@ -17,6 +17,7 @@ SET(CONVERT3D_INCLUDE_DIRS ${CONVERT3D_SOURCE_DIR}/itkextras/VoxBoIO ${CONVERT3D_SOURCE_DIR}/itkextras/PovRayIO ${CONVERT3D_SOURCE_DIR}/itkextras/RandomForest + ${CONVERT3D_SOURCE_DIR}/itkextras/RandomForest/Library ${CONVERT3D_SOURCE_DIR}/itkextras/Texture ${CONVERT3D_SOURCE_DIR}/utilities/doc ${CONVERT3D_BINARY_DIR}) @@ -146,27 +147,46 @@ CONFIGURE_FILE( # Get the extra stuff compiled SUBDIRS(${CONVERT3D_SOURCE_DIR}/itkextras) -ADD_LIBRARY(cnd_adapters ${SOURCES}) - -ADD_LIBRARY(cnd_maxflow +ADD_LIBRARY(cnd_maxflow SHARED external/GCv2p3/GCoptimization.cpp external/GCv2p3/LinkedBlockList.cpp external/GCv2p3/graph.cpp external/GCv2p3/maxflow.cpp ) +TARGET_LINK_LIBRARIES(cnd_maxflow ${ITK_LIBRARIES}) -ADD_LIBRARY(cnd_driver +ADD_LIBRARY(cnd_adapters SHARED ${SOURCES} ConvertImageND.cxx utilities/doc/Documentation.cxx) +TARGET_LINK_LIBRARIES(cnd_adapters ${ITK_LIBRARIES} cnd_maxflow) -ADD_LIBRARY(cnd_api api/ConvertAPI.cxx) +ADD_LIBRARY(cnd_api SHARED api/ConvertAPI.cxx) +TARGET_LINK_LIBRARIES(cnd_api ${ITK_LIBRARIES} cnd_adapters) -ADD_DEPENDENCIES(cnd_driver markdown_docs) +ADD_DEPENDENCIES(cnd_adapters markdown_docs) # Set up include path for the various libraries -FOREACH(target cnd_adapters cnd_driver cnd_api cnd_maxflow) +FOREACH(target cnd_adapters cnd_api cnd_maxflow) TARGET_INCLUDE_DIRECTORIES(${target} PUBLIC ${CONVERT3D_INCLUDE_DIRS}) + # Since no library version is provided, set it to 0 + SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION 0) + INSTALL(TARGETS ${target} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + LIBRARY DESTINATION lib${LIB_SUFFIX} + ) ENDFOREACH() SET(C3D_LINK_LIBRARIES - cnd_driver cnd_adapters cnd_maxflow ${ITK_LIBRARIES} ITKVoxBoIO ITKPovRayIO) + cnd_maxflow cnd_adapters ${ITK_LIBRARIES} ITKVoxBoIO ITKPovRayIO) + +FOREACH(INCDIR ${CONVERT3D_INCLUDE_DIRS}) + IF((NOT (${INCDIR} STREQUAL ${CONVERT3D_BINARY_DIR})) OR (${CONVERT3D_BINARY_DIR} STREQUAL ${CONVERT3D_SOURCE_DIR})) + FILE(GLOB HEADERS_LIST ${INCDIR}/*.h ${INCDIR}/*.hxx ${INCDIR}/*.txx) + FOREACH(HEADER ${HEADERS_LIST}) + # get rid of ${CONVERT3D_SOURCE_DIR} prefix, and also get rid of file name since destination is directory + STRING(REGEX REPLACE "^${CONVERT3D_SOURCE_DIR}/(.*)(/[^/]+)$" "\\1" HEADER_PROC ${HEADER}) + STRING(REGEX REPLACE "^${CONVERT3D_SOURCE_DIR}/[^/]+$" "" HEADER_DEST ${HEADER_PROC}) + INSTALL(FILES ${HEADER} DESTINATION include/convert3d/${HEADER_DEST}) + ENDFOREACH(HEADER) + ENDIF((NOT (${INCDIR} STREQUAL ${CONVERT3D_BINARY_DIR})) OR (${CONVERT3D_BINARY_DIR} STREQUAL ${CONVERT3D_SOURCE_DIR})) +ENDFOREACH(INCDIR) diff --git a/itkextras/PovRayIO/CMakeLists.txt b/itkextras/PovRayIO/CMakeLists.txt index d1e0711..80255d7 100644 --- a/itkextras/PovRayIO/CMakeLists.txt +++ b/itkextras/PovRayIO/CMakeLists.txt @@ -2,6 +2,22 @@ PROJECT(PovRayIO) INCLUDE_DIRECTORIES(${PovRayIO_SOURCE_DIR}) -ADD_LIBRARY(ITKPovRayIO +ADD_LIBRARY(ITKPovRayIO SHARED itkPovRayDF3ImageIO.cxx itkPovRayDF3ImageIOFactory.cxx) + +TARGET_LINK_LIBRARIES(ITKPovRayIO ${ITK_LIBRARIES}) +# Since no library version is provided, set it to 0 +SET_TARGET_PROPERTIES(ITKPovRayIO PROPERTIES VERSION 0) +INSTALL(TARGETS ITKPovRayIO + ARCHIVE DESTINATION lib${LIB_SUFFIX} + LIBRARY DESTINATION lib${LIB_SUFFIX} +) + +FILE(GLOB HEADERS_LIST ${PovRayIO_SOURCE_DIR}/*.h ${PovRayIO_SOURCE_DIR}/*.hxx ${PovRayIO_SOURCE_DIR}/*.txx) +FOREACH(HEADER ${HEADERS_LIST}) + # get rid of ${PovRayIO_SOURCE_DIR} prefix, and also get rid of file name since destination is directory + STRING(REGEX REPLACE "^${PovRayIO_SOURCE_DIR}/(.*)(/[^/]+)$" "\\1" HEADER_PROC ${HEADER}) + STRING(REGEX REPLACE "^${PovRayIO_SOURCE_DIR}/[^/]+$" "" HEADER_DEST ${HEADER_PROC}) + INSTALL(FILES ${HEADER} DESTINATION include/convert3d/itkextras/PovRayIO/${HEADER_DEST}) +ENDFOREACH(HEADER) diff --git a/itkextras/VoxBoIO/CMakeLists.txt b/itkextras/VoxBoIO/CMakeLists.txt index 426be21..e758b61 100644 --- a/itkextras/VoxBoIO/CMakeLists.txt +++ b/itkextras/VoxBoIO/CMakeLists.txt @@ -2,6 +2,22 @@ PROJECT(VoxBoIO) INCLUDE_DIRECTORIES(${VoxBoIO_SOURCE_DIR}) -ADD_LIBRARY(ITKVoxBoIO +ADD_LIBRARY(ITKVoxBoIO SHARED itkVoxBoCUBImageIO.cxx itkVoxBoCUBImageIOFactory.cxx) + +TARGET_LINK_LIBRARIES(ITKVoxBoIO ${ITK_LIBRARIES}) +# Since no library version is provided, set it to 0 +SET_TARGET_PROPERTIES(ITKVoxBoIO PROPERTIES VERSION 0) +INSTALL(TARGETS ITKVoxBoIO + ARCHIVE DESTINATION lib${LIB_SUFFIX} + LIBRARY DESTINATION lib${LIB_SUFFIX} +) + +FILE(GLOB HEADERS_LIST ${VoxBoIO_SOURCE_DIR}/*.h ${VoxBoIO_SOURCE_DIR}/*.hxx ${VoxBoIO_SOURCE_DIR}/*.txx) +FOREACH(HEADER ${HEADERS_LIST}) + # get rid of ${VoxBoIO_SOURCE_DIR} prefix, and also get rid of file name since destination is directory + STRING(REGEX REPLACE "^${VoxBoIO_SOURCE_DIR}/(.*)(/[^/]+)$" "\\1" HEADER_PROC ${HEADER}) + STRING(REGEX REPLACE "^${VoxBoIO_SOURCE_DIR}/[^/]+$" "" HEADER_DEST ${HEADER_PROC}) + INSTALL(FILES ${HEADER} DESTINATION include/convert3d/itkextras/VoxBoIO/${HEADER_DEST}) +ENDFOREACH(HEADER)