X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FCMakeLists.txt;h=8cf91bd571e21a05131b35c25265ef2309ca16f3;hb=1c379997a70fe6d83260ea9a7aa70748a84cedfa;hp=fe78cf1d311775322eb91a1d7333a091aeba83b7;hpb=8c23766af88a29c3e830299dffc4b95d9fe61df9;p=cpPlugins.git diff --git a/lib/cpPlugins/CMakeLists.txt b/lib/cpPlugins/CMakeLists.txt index fe78cf1..8cf91bd 100644 --- a/lib/cpPlugins/CMakeLists.txt +++ b/lib/cpPlugins/CMakeLists.txt @@ -1,6 +1,138 @@ -SUBDIRS( - Interface - Plugins +## ============================= +## = 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 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 + ParametersQtDialog.h + ) + SET( + lib_QT_Sources + 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 + ${lib_HEADERS_H} + ${lib_HEADERS_HPP} + ${lib_HEADERS_HXX} + ) + +SET( + lib_SOURCES + ${lib_SOURCES_C} + ${lib_SOURCES_CPP} + ${lib_SOURCES_CXX} + ) + +SET( + 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(${lib_NAME} SHARED ${lib_SOURCES}) +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_NAME}_Export.h + STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC + ) +TARGET_LINK_LIBRARIES(${lib_NAME} ${target_LIBRARIES}) + +## ======================== +## == 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$