Преглед на файлове

Fix CMake data and doc paths in Cygwin package

Override CMAKE_DOC_DIR and CMAKE_DATA_DIR cache entries on Cygwin early
enough so the new values are used everywhere.  Previously only some of
the uses were overridden.  Also set CPACK_PACKAGE_VERSION to the whole
CMake_VERSION so that the Cygwin MANIFEST file goes in the proper path.
Brad King преди 15 години
родител
ревизия
6ba45fa939
променени са 2 файла, в които са добавени 12 реда и са изтрити 14 реда
  1. 1 14
      CMakeCPack.cmake
  2. 11 0
      CMakeLists.txt

+ 1 - 14
CMakeCPack.cmake

@@ -27,9 +27,7 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
   SET(CPACK_PACKAGE_VENDOR "Kitware")
   SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
   SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
-  SET(CPACK_PACKAGE_VERSION_MAJOR "${CMake_VERSION_MAJOR}")
-  SET(CPACK_PACKAGE_VERSION_MINOR "${CMake_VERSION_MINOR}")
-  SET(CPACK_PACKAGE_VERSION_PATCH "${CMake_VERSION_PATCH}")
+  SET(CPACK_PACKAGE_VERSION "${CMake_VERSION}")
   SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
   SET(CPACK_SOURCE_PACKAGE_FILE_NAME "cmake-${CMake_VERSION}")
   IF(NOT DEFINED CPACK_SYSTEM_NAME)
@@ -68,17 +66,6 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
 # cygwin specific packaging stuff
   IF(CYGWIN)
     
-    # if we are on cygwin and have cpack, then force the 
-    # doc, data and man dirs to conform to cygwin style directories
-    SET(CMAKE_DOC_DIR "/share/doc/${CPACK_PACKAGE_FILE_NAME}")
-    SET(CMAKE_DATA_DIR "/share/${CPACK_PACKAGE_FILE_NAME}")
-    SET(CMAKE_MAN_DIR "/share/man")
-    # let the user know we just forced these values
-    MESSAGE(STATUS "Setup for Cygwin packaging")
-    MESSAGE(STATUS "Override cache CMAKE_DOC_DIR = ${CMAKE_DOC_DIR}")
-    MESSAGE(STATUS "Override cache CMAKE_DATA_DIR = ${CMAKE_DATA_DIR}")
-    MESSAGE(STATUS "Override cache CMAKE_MAN_DIR = ${CMAKE_MAN_DIR}")
-    
     # setup the cygwin package name
     SET(CPACK_PACKAGE_NAME cmake)
     # setup the name of the package for cygwin cmake-2.4.3

+ 11 - 0
CMakeLists.txt

@@ -395,6 +395,17 @@ SET(CMAKE_DOC_DIR "/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CAC
 SET(CMAKE_MAN_DIR "/man" CACHE STRING
   "Install location for man pages (relative to prefix).")
 MARK_AS_ADVANCED(CMAKE_DATA_DIR CMAKE_DOC_DIR CMAKE_MAN_DIR)
+IF(CYGWIN AND EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
+  # Force doc, data and man dirs to conform to cygwin layout.
+  SET(CMAKE_DOC_DIR  "/share/doc/cmake-${CMake_VERSION}")
+  SET(CMAKE_DATA_DIR "/share/cmake-${CMake_VERSION}")
+  SET(CMAKE_MAN_DIR  "/share/man")
+  # let the user know we just forced these values
+  MESSAGE(STATUS "Setup for Cygwin packaging")
+  MESSAGE(STATUS "Override cache CMAKE_DOC_DIR = ${CMAKE_DOC_DIR}")
+  MESSAGE(STATUS "Override cache CMAKE_DATA_DIR = ${CMAKE_DATA_DIR}")
+  MESSAGE(STATUS "Override cache CMAKE_MAN_DIR = ${CMAKE_MAN_DIR}")
+ENDIF()
 STRING(REGEX REPLACE "^/" "" CMake_DATA_DEST "${CMAKE_DATA_DIR}")
 STRING(REGEX REPLACE "^/" "" CMake_DOC_DEST "${CMAKE_DOC_DIR}")