X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FCMakeLists.txt;h=c2abf2c35422e2d89f832108ce700832fcdb46a9;hb=e2fb8817731f6231d34941a208e46b36dad425b2;hp=8819756bfda67e484662e5532894dd6c76e36b86;hpb=a3cae0375976d524c957493a3cc565b9f5b20bce;p=cpPlugins.git diff --git a/lib/cpExtensions/CMakeLists.txt b/lib/cpExtensions/CMakeLists.txt index 8819756..c2abf2c 100644 --- a/lib/cpExtensions/CMakeLists.txt +++ b/lib/cpExtensions/CMakeLists.txt @@ -1,43 +1,88 @@ 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 "") -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") +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") -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") + 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}") -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") + 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) + +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") + + 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}) + + 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 = @@ -45,22 +90,15 @@ FILE(GLOB LIB_Visualization_SOURCES_CXX "Visualization/*.cxx") ADD_LIBRARY( ${LIBRARY_NAME} - ${LIBRARY_TYPE} + SHARED ${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} + ) +SET_TARGET_PROPERTIES( + ${LIBRARY_NAME} PROPERTIES + VERSION "${prj_VER}" + SOVERSION "${prj_sVER}" ) GENERATE_EXPORT_HEADER( ${LIBRARY_NAME} @@ -71,6 +109,7 @@ GENERATE_EXPORT_HEADER( ) TARGET_LINK_LIBRARIES( ${LIBRARY_NAME} + ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES} ) @@ -85,31 +124,6 @@ INSTALL( 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