X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FCMakeLists.txt;h=f034cff3032ca41d43402c8270c71a375dcb944b;hb=505d6fd964a8813101ebcf1829b2d55968142f2c;hp=2a619287d86a722d02b75145ee3d3633b749a32b;hpb=959d91564af1b0e33303f3c15d803d2dafcaa54d;p=clitk.git diff --git a/vv/CMakeLists.txt b/vv/CMakeLists.txt index 2a61928..f034cff 100644 --- a/vv/CMakeLists.txt +++ b/vv/CMakeLists.txt @@ -140,7 +140,21 @@ QT4_WRAP_UI(vv_UI_CXX QT4_ADD_RESOURCES(vv_SRCS vvIcons.qrc) -ADD_DEFINITIONS(-DQT_DLL) + +# if Windows and Qt was built as a static lib then don't set QT_DLL flag +SET(QT_STATIC 0) +IF (WIN32) + IF(EXISTS ${QT_LIBRARY_DIR}/QtCore.prl) + FILE(READ ${QT_LIBRARY_DIR}/QtCore.prl QT_CORE_PRL) + IF(${QT_CORE_PRL} MATCHES "static") + SET(QT_STATIC 1) + ENDIF(${QT_CORE_PRL} MATCHES "static") + ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtCore.prl) +ENDIF(WIN32) +IF(NOT QT_STATIC) + ADD_DEFINITIONS(-DQT_DLL) +ENDIF(NOT QT_STATIC) + ADD_DEFINITIONS(-DQT_THREAD_SUPPORT) INCLUDE_DIRECTORIES( @@ -157,7 +171,7 @@ INCLUDE_DIRECTORIES( #support for parallel deformable registration with OpenMP IF(NOT __APPLE__) IF(CMAKE_COMPILER_IS_GNUCC) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp -march=native") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") ENDIF(CMAKE_COMPILER_IS_GNUCC) ENDIF(NOT __APPLE__) #========================================================= @@ -168,54 +182,41 @@ INCLUDE_DIRECTORIES( ../tools ) +IF(WIN32) + SET(EXE_ICON vvIcon.rc) +ENDIF(WIN32) + LINK_DIRECTORIES(${QT_INCLUDES}) ADD_EXECUTABLE(vv ${vv_SRCS} vv.cxx ${vv_UI_CXX} ${EXE_ICON}) -TARGET_LINK_LIBRARIES(vv clitkCommon clitkDicomRTStruct clitkFilters ${ITK_LIBRARIES} QVTK) +TARGET_LINK_LIBRARIES(vv clitkCommon clitkDicomRTStruct clitkFilters ${ITK_LIBRARIES} QVTK vtkHybrid) -IF (CLITK_VV_USE_BDCM) - TARGET_LINK_LIBRARIES(vv bdcm) -ENDIF (CLITK_VV_USE_BDCM) #========================================================= #========================================================= # Install options (also used by CPack) IF(UNIX AND NOT APPLE) - INSTALL(TARGETS vv - DESTINATION .) + INSTALL (FILES ${EXECUTABLE_OUTPUT_PATH}/vv DESTINATION . PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE) + INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION .) + #QT - FOREACH(LIB QtCore QtGui QtOpenGL QtWebKit QtXmlPatterns QtNetwork QtSql) - INSTALL(FILES "${QT_LIBRARY_DIR}/lib${LIB}.so.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}" - RENAME "lib${LIB}.so.${QT_VERSION_MAJOR}" - DESTINATION .) - ENDFOREACH(LIB) - - #VTK - FOREACH(LIB QVTK vtkQtChart vtkViews vtkInfovis vtkWidgets vtkHybrid vtkRendering vtkImaging vtkGraphics vtkverdict - vtkIO vtkFiltering vtkCommon vtkDICOMParser vtkmetaio vtksqlite vtkpng vtktiff vtkjpeg vtkexpat vtksys - vtkftgl vtkfreetype vtkexoIIc vtkNetCDF vtklibxml2 vtkzlib vtkalglib) - INSTALL(FILES "${VTK_DIR}/bin/lib${LIB}.so.${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}.0" - RENAME "lib${LIB}.so.${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}" - DESTINATION .) - ENDFOREACH(LIB) - - #ITK - FOREACH(LIB ITKAlgorithms ITKStatistics ITKFEM itkNetlibSlatec ITKNumerics ITKBasicFilters ITKIO ITKNrrdIO itkgdcm - itkjpeg12 itkjpeg16 itkopenjpeg itkpng itktiff itkjpeg8 ITKSpatialObject ITKCommon itkvnl_inst - itkvnl_algo itkv3p_netlib itkvnl itkvcl ITKMetaIO itksys ITKDICOMParser ITKEXPAT ITKniftiio ITKznz itkzlib) - INSTALL(FILES "${ITK_DIR}/bin/lib${LIB}.so.${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.0" - RENAME "lib${LIB}.so.${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}" - DESTINATION .) - ENDFOREACH(LIB) + #FOREACH(LIB QtCore QtGui QtOpenGL QtNetwork QtSql) + # INSTALL(FILES "${QT_LIBRARY_DIR}/lib${LIB}.so.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}" + # RENAME "lib${LIB}.so.${QT_VERSION_MAJOR}" + # DESTINATION .) + #ENDFOREACH(LIB) ENDIF(UNIX AND NOT APPLE) IF(WIN32) - SET(EXE_ICON vvIcon.rc) + #INCLUDE(InstallRequiredSystemLibraries) + INSTALL(FILES ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/vv.exe DESTINATION .) + #INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION .) ENDIF(WIN32) +#========================================================= #========================================================= # CPack options -INCLUDE(InstallRequiredSystemLibraries) - +SET(CPACK_PACKAGE_NAME "vv") +SET(CPACK_SOURCE_PACKAGE_FILE_NAME "vv-src") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "vv, the 4D slicer : let's jump into a new dimension !") SET(CPACK_PACKAGE_VENDOR "Creatis-CLB") SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt") @@ -224,18 +225,23 @@ SET(CPACK_PACKAGE_VERSION_MAJOR "1") SET(CPACK_PACKAGE_VERSION_MINOR "1") SET(CPACK_PACKAGE_VERSION_PATCH "0") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "vv") -#IF(WIN32 AND NOT UNIX) + +IF(WIN32) # There is a bug in NSI that does not handle full unix paths properly. Make # sure there is at least one set of four (4) backlasshes. -# SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\ducky.png") -# SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/${CMAKE_BUILD_TYPE}\\\\vv.exe") -# SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} The 4D slicer") -# SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/rio") -# SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/rio") -# SET(CPACK_NSIS_MODIFY_PATH ON) -#ELSE(WIN32 AND NOT UNIX) -# SET(CPACK_STRIP_FILES "bin/vv") -# SET(CPACK_SOURCE_STRIP_FILES "") -#ENDIF(WIN32 AND NOT UNIX) -SET(CPACK_PACKAGE_EXECUTABLES "vv" "vv") + SET(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\icons\\\\ducky.ico") + SET(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_BUILD_TYPE}\\\\vv.exe") + SET(CPACK_NSIS_DISPLAY_NAME "vv - The 4D slicer") + SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/rio/vv") + SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/rio") + SET(CPACK_NSIS_CONTACT "vv@creatis.insa-lyon.fr") + SET(CPACK_NSIS_CREATE_ICONS_EXTRA "CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\vv.lnk\\\" \\\"$INSTDIR\\\\vv.exe\\\" ") + SET(CPACK_NSIS_DELETE_ICONS_EXTRA "Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\vv.lnk\\\" ") + #SET(CPACK_NSIS_MODIFY_PATH ON) SR: buggy, wait for cmake updates for a fix + #SET(CPACK_BINARY_ZIP ON) +ELSE(WIN32) + SET(CPACK_GENERATOR "STGZ") + SET(CPACK_SOURCE_GENERATOR "TGZ") +ENDIF(WIN32) INCLUDE(CPack) +#=========================================================