Sfoglia il codice sorgente

ENH: install seems to be working for cmake-gui

Bill Hoffman 18 anni fa
parent
commit
a3781c85fc
2 ha cambiato i file con 14 aggiunte e 4 eliminazioni
  1. 5 2
      CMakeCPackOptions.cmake.in
  2. 9 2
      CMakeLists.txt

+ 5 - 2
CMakeCPackOptions.cmake.in

@@ -3,7 +3,6 @@
 # in this file.  
 
 if(CPACK_GENERATOR MATCHES "NSIS")
-  SET(QT_DIALOG_OPTIONS_FILE @QT_DIALOG_OPTIONS_FILE@)
   # set the install/unistall icon used for the installer itself
   # There is a bug in NSI that does not handle full unix paths properly. 
   SET(CPACK_NSIS_MUI_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
@@ -43,5 +42,9 @@ if(CPACK_GENERATOR MATCHES "CygwinSource")
 endif(CPACK_GENERATOR MATCHES "CygwinSource")
 
 if("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
-  SET(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
+  if(CMAKE_PACKAGE_QTGUI)                       
+    set(CPACK_PACKAGE_DEFAULT_LOCATION "/Applications")
+  else(CMAKE_PACKAGE_QTGUI)                     
+    set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr")
+  endif(CMAKE_PACKAGE_QTGUI)                    
 endif("${CPACK_GENERATOR}" STREQUAL "PackageMaker")

+ 9 - 2
CMakeLists.txt

@@ -419,8 +419,15 @@ IF(BUILD_QtDialog)
       SET(CMAKE_INSTALL_SUBDIR 
         "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}-${CMake_VERSION_DATE}")
     ENDIF(CMake_VERSION_DATE)
-    SET(CMAKE_BUNDLE_LOCATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_SUBDIR}")
-    SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_SUBDIR}/cmake-gui.app/Contents")
+    # make sure CMAKE_INSTALL_PREFIX ends in /
+    STRING(LENGTH "${CMAKE_INSTALL_PREFIX}" LEN)
+    MATH(EXPR LEN "${LEN} -1" )
+    STRING(SUBSTRING "${CMAKE_INSTALL_PREFIX}" ${LEN} 1 ENDCH)
+    IF(NOT "${ENDCH}" STREQUAL "/")
+      SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
+    ENDIF(NOT "${ENDCH}" STREQUAL "/")
+    SET(CMAKE_BUNDLE_LOCATION "${CMAKE_INSTALL_PREFIX}${CMAKE_INSTALL_SUBDIR}")
+    SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}${CMAKE_INSTALL_SUBDIR}/cmake-gui.app/Contents")
   ENDIF(APPLE)
   
   SET(QT_NEED_RPATH FALSE)