SET(LIBRARY_NAME cpExtensions)
+CONFIGURE_FILE(
+ Config.h.in
+ ${PROJECT_BINARY_DIR}/lib/cpExtensions/Config.h
+ @ONLY
+ )
+
## ===============
## = 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")
+SET(LIB_HEADERS_H "")
+SET(LIB_HEADERS_HPP "")
+SET(LIB_HEADERS_HXX "")
+SET(LIB_SOURCES_C "")
+SET(LIB_SOURCES_CPP "")
+SET(LIB_SOURCES_CXX "")
+
+SET(
+ lib_DIRECTORIES
+ .
+ DataStructures
+ Algorithms
+ IO
+ Interaction
+ Visualization
+ )
+FOREACH(dir ${lib_DIRECTORIES})
+ FILE(GLOB dir_LIB_HEADERS_H "${dir}/*.h")
+ FILE(GLOB dir_LIB_HEADERS_HPP "${dir}/*.hpp")
+ FILE(GLOB dir_LIB_HEADERS_HXX "${dir}/*.hxx")
+ FILE(GLOB dir_LIB_SOURCES_C "${dir}/*.c")
+ FILE(GLOB dir_LIB_SOURCES_CPP "${dir}/*.cpp")
+ FILE(GLOB dir_LIB_SOURCES_CXX "${dir}/*.cxx")
+
+ SET(LIB_HEADERS_H "${LIB_HEADERS_H};${dir_LIB_HEADERS_H}")
+ SET(LIB_HEADERS_HPP "${LIB_HEADERS_HPP};${dir_LIB_HEADERS_HPP}")
+ SET(LIB_HEADERS_HXX "${LIB_HEADERS_HXX};${dir_LIB_HEADERS_HXX}")
+ SET(LIB_SOURCES_C "${LIB_SOURCES_C};${dir_LIB_SOURCES_C}")
+ SET(LIB_SOURCES_CPP "${LIB_SOURCES_CPP};${dir_LIB_SOURCES_CPP}")
+ SET(LIB_SOURCES_CXX "${LIB_SOURCES_CXX};${dir_LIB_SOURCES_CXX}")
+
+ INSTALL(
+ DIRECTORY ${dir}
+ DESTINATION include/cpExtensions
+ FILES_MATCHING PATTERN "*.h"
+ )
+ INSTALL(
+ DIRECTORY ${dir}
+ DESTINATION include/cpExtensions
+ FILES_MATCHING PATTERN "*.hpp"
+ )
+ INSTALL(
+ DIRECTORY ${dir}
+ DESTINATION include/cpExtensions
+ FILES_MATCHING PATTERN "*.hxx"
+ )
+ENDFOREACH(dir)
-FILE(GLOB LIB_DataStructures_HEADERS_H "DataStructures/*.h")
-FILE(GLOB LIB_DataStructures_HEADERS_HPP "DataStructures/*.hpp")
-FILE(GLOB LIB_DataStructures_HEADERS_HXX "DataStructures/*.hxx")
-FILE(GLOB LIB_DataStructures_SOURCES_C "DataStructures/*.c")
-FILE(GLOB LIB_DataStructures_SOURCES_CPP "DataStructures/*.cpp")
-FILE(GLOB LIB_DataStructures_SOURCES_CXX "DataStructures/*.cxx")
+IF(USE_QT4)
+ FILE(GLOB LIB_QT_UI "QT/*.ui")
+ FILE(GLOB LIB_QT_Headers "QT/*.h")
+ FILE(GLOB LIB_QT_Sources "QT/*.cxx")
+ FILE(GLOB LIB_QT_Resources "QT/*.rc")
-FILE(GLOB LIB_Algorithms_HEADERS_H "Algorithms/*.h")
-FILE(GLOB LIB_Algorithms_HEADERS_HPP "Algorithms/*.hpp")
-FILE(GLOB LIB_Algorithms_HEADERS_HXX "Algorithms/*.hxx")
-FILE(GLOB LIB_Algorithms_SOURCES_C "Algorithms/*.c")
-FILE(GLOB LIB_Algorithms_SOURCES_CPP "Algorithms/*.cpp")
-FILE(GLOB LIB_Algorithms_SOURCES_CXX "Algorithms/*.cxx")
+ QT4_WRAP_UI(LIB_QT_Wrapped_Headers ${LIB_QT_UI})
+ QT4_WRAP_CPP(LIB_QT_Wrapped_MOC_Sources ${LIB_QT_Headers})
+ QT4_ADD_RESOURCES(LIB_QT_Wrapped_Resources_Sources ${LIB_QT_Resources})
-FILE(GLOB LIB_IO_HEADERS_H "IO/*.h")
-FILE(GLOB LIB_IO_HEADERS_HPP "IO/*.hpp")
-FILE(GLOB LIB_IO_HEADERS_HXX "IO/*.hxx")
-FILE(GLOB LIB_IO_SOURCES_C "IO/*.c")
-FILE(GLOB LIB_IO_SOURCES_CPP "IO/*.cpp")
-FILE(GLOB LIB_IO_SOURCES_CXX "IO/*.cxx")
+ SET(
+ LIB_HEADERS_H
+ ${LIB_HEADERS_H}
+ ${LIB_QT_Wrapped_Headers}
+ )
+ SET(
+ LIB_SOURCES_CXX
+ ${LIB_SOURCES_CXX}
+ ${LIB_QT_Sources}
+ ${LIB_QT_Wrapped_Headers}
+ ${LIB_QT_Wrapped_MOC_Sources}
+ ${LIB_QT_Wrapped_Resources_Sources}
+ )
+ENDIF(USE_QT4)
-FILE(GLOB LIB_Visualization_HEADERS_H "Visualization/*.h")
-FILE(GLOB LIB_Visualization_HEADERS_HPP "Visualization/*.hpp")
-FILE(GLOB LIB_Visualization_HEADERS_HXX "Visualization/*.hxx")
-FILE(GLOB LIB_Visualization_SOURCES_C "Visualization/*.c")
-FILE(GLOB LIB_Visualization_SOURCES_CPP "Visualization/*.cpp")
-FILE(GLOB LIB_Visualization_SOURCES_CXX "Visualization/*.cxx")
## =====================
## = Compilation rules =
${LIB_SOURCES_C}
${LIB_SOURCES_CPP}
${LIB_SOURCES_CXX}
- ${LIB_DataStructures_SOURCES_C}
- ${LIB_DataStructures_SOURCES_CPP}
- ${LIB_DataStructures_SOURCES_CXX}
- ${LIB_Algorithms_SOURCES_C}
- ${LIB_Algorithms_SOURCES_CPP}
- ${LIB_Algorithms_SOURCES_CXX}
- ${LIB_IO_SOURCES_C}
- ${LIB_IO_SOURCES_CPP}
- ${LIB_IO_SOURCES_CXX}
- ${LIB_Visualization_SOURCES_C}
- ${LIB_Visualization_SOURCES_CPP}
- ${LIB_Visualization_SOURCES_CXX}
)
GENERATE_EXPORT_HEADER(
${LIBRARY_NAME}
)
TARGET_LINK_LIBRARIES(
${LIBRARY_NAME}
+ ${QT_LIBRARIES}
${ITK_LIBRARIES}
${VTK_LIBRARIES}
)
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static
)
-SET(
- local_install_dirs
- Algorithms
- DataStructures
- IO
- Visualization
- )
-FOREACH(dir ${local_install_dirs})
- INSTALL(
- DIRECTORY ${dir}
- DESTINATION include/cpExtensions
- FILES_MATCHING PATTERN "*.h"
- )
- INSTALL(
- DIRECTORY ${dir}
- DESTINATION include/cpExtensions
- FILES_MATCHING PATTERN "*.hxx"
- )
- INSTALL(
- DIRECTORY ${dir}
- DESTINATION include/cpExtensions
- FILES_MATCHING PATTERN "*.hpp"
- )
-ENDFOREACH(dir)
-
INSTALL(
FILES
${PROJECT_BINARY_DIR}/lib/cpExtensions/${LIBRARY_NAME}_Export.h