X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FCMakeLists.txt;h=b1d2741a781dafbe87c4e76b86a28b87c6ac9b53;hb=b445d953049ba15290197549dcd4e31367e3c8a5;hp=89f1e3ceda0473ac4826b9e7f7521873a7b0891b;hpb=2361f4f97631e09d88d8a5510a369817dcaa19db;p=cpPlugins.git diff --git a/lib/cpPlugins/CMakeLists.txt b/lib/cpPlugins/CMakeLists.txt index 89f1e3c..b1d2741 100644 --- a/lib/cpPlugins/CMakeLists.txt +++ b/lib/cpPlugins/CMakeLists.txt @@ -1,102 +1,140 @@ -SET(LIBRARY_NAME cpPlugins) +## ============================= +## = Set names and directories = +## ============================= + +SET(lib_NAME cpPlugins) +SET(lib_DIR cpPlugins) + +## ========================= +## = Configure local files = +## ========================= + +CONFIGURE_FILE( + Config.h.in + ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/Config.h + @ONLY + ) ## =============== ## = Source code = ## =============== -FILE(GLOB Interface_LIB_HEADERS_H "Interface/*.h") -FILE(GLOB Interface_LIB_HEADERS_HPP "Interface/*.hpp") -FILE(GLOB Interface_LIB_HEADERS_HXX "Interface/*.hxx") -FILE(GLOB Interface_LIB_SOURCES_C "Interface/*.c") -FILE(GLOB Interface_LIB_SOURCES_CPP "Interface/*.cpp") -FILE(GLOB Interface_LIB_SOURCES_CXX "Interface/*.cxx") +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") + +IF(USE_QT4) + SET( + lib_QT_UI + ) + SET( + lib_QT_Headers + BaseQtMainWindow.h + ParametersQtDialog.h + ) + SET( + lib_QT_Sources + BaseQtMainWindow.cxx + ParametersQtDialog.cxx + ) + SET( + lib_QT_Resources + ) + + 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) + +# =================================== +# = Integrate all source file names = +# =================================== SET( - LIB_HEADERS_H - Plugins/ImageReader.h - Plugins/ImageWriter.h - Plugins/MeshReader.h - Plugins/MeshWriter.h - Plugins/MarchingCubes.h - Plugins/OtsuThresholdImageFilter.h + lib_HEADERS + ${lib_HEADERS_H} + ${lib_HEADERS_HPP} + ${lib_HEADERS_HXX} ) + +SET( + lib_SOURCES + ${lib_SOURCES_C} + ${lib_SOURCES_CPP} + ${lib_SOURCES_CXX} + ) + SET( - LIB_SOURCES_CXX - Plugins/Host.cxx - Plugins/ImageReader.cxx - Plugins/ImageWriter.cxx - Plugins/MeshReader.cxx - Plugins/MeshWriter.cxx - Plugins/MarchingCubes.cxx - Plugins/OtsuThresholdImageFilter.cxx + target_LIBRARIES + cpPlugins_tinyxml2 + cpPlugins_ITKInstances_Base + cpPlugins_ITKInstances_Image + cpPlugins_ITKInstances_ImageIterators + cpPlugins_ITKInstances_ImageFilters + cpPlugins_ITKInstances_Paths + cpPlugins_ITKInstances_Mesh + ${VTK_LIBRARIES} ) +IF(NOT WIN32) + SET( + target_LIBRARIES + ${target_LIBRARIES} + dl + ) +ENDIF(NOT WIN32) ## ===================== ## = Compilation rules = ## ===================== -ADD_LIBRARY( - ${LIBRARY_NAME} - SHARED - ${Interface_LIB_SOURCES_C} - ${Interface_LIB_SOURCES_CPP} - ${Interface_LIB_SOURCES_CXX} - ${LIB_SOURCES_C} - ${LIB_SOURCES_CPP} - ${LIB_SOURCES_CXX} +ADD_LIBRARY(${lib_NAME} SHARED ${lib_SOURCES}) +SET_TARGET_PROPERTIES( + ${lib_NAME} PROPERTIES + VERSION "${prj_VER}" + SOVERSION "${prj_sVER}" ) GENERATE_EXPORT_HEADER( - ${LIBRARY_NAME} - BASE_NAME ${LIBRARY_NAME} - EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT - EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/${LIBRARY_NAME}_Export.h - STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC - ) -TARGET_LINK_LIBRARIES( - ${LIBRARY_NAME} - ${ITK_LIBRARIES} - ${VTK_LIBRARIES} - cpPlugins_Pluma + ${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(${lib_NAME} ${target_LIBRARIES}) ## ======================== -## -- Installation rules -- +## == Installation rules == ## ======================== INSTALL( - TARGETS ${LIBRARY_NAME} + TARGETS ${lib_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib/static ) - -SET( - local_install_dirs - Interface - ) -FOREACH(dir ${local_install_dirs}) - INSTALL( - DIRECTORY ${dir} - DESTINATION include/cpPlugins/Interface - FILES_MATCHING PATTERN "*.h" - ) - INSTALL( - DIRECTORY ${dir} - DESTINATION include/cpPlugins/Interface - FILES_MATCHING PATTERN "*.hxx" - ) - INSTALL( - DIRECTORY ${dir} - DESTINATION include/cpPlugins/Interface - FILES_MATCHING PATTERN "*.hpp" - ) -ENDFOREACH(dir) - INSTALL( FILES - ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h - DESTINATION include/cpPlugins/Interface + ${lib_HEADERS} + DESTINATION include/${lib_DIR} ) - ## eof - $RCSfile$