File FindCFitsio.cmake.patch of Package kstars

--- cmake/modules/FindCFitsio.cmake.orig	2011-05-20 23:34:16.000000000 +0300
+++ cmake/modules/FindCFitsio.cmake	2011-09-22 23:58:49.489000042 +0300
@@ -4,6 +4,9 @@
 #  CFITSIO_FOUND - system has CFITSIO
 #  CFITSIO_INCLUDE_DIR - the CFITSIO include directory
 #  CFITSIO_LIBRARIES - Link these to use CFITSIO
+#  CFITSIO_VERSION_STRING - Human readable version number of cfitsio
+#  CFITSIO_VERSION_MAJOR  - Major version number of cfitsio
+#  CFITSIO_VERSION_MINOR  - Minor version number of cfitsio
 
 # Copyright (c) 2006, Jasem Mutlaq <mutlaqja@ikarustech.com>
 # Based on FindLibfacile by Carsten Niehaus, <cniehaus@gmx.de>
@@ -13,29 +16,23 @@
 
 if (CFITSIO_INCLUDE_DIR AND CFITSIO_LIBRARIES)
 
-  # in cache already
-  set(CFITSIO_FOUND TRUE)
-  message(STATUS "Found CFITSIO: ${CFITSIO_LIBRARIES}")
-
+  # in cache already, be quiet
+  set(CFITSIO_FIND_QUIETLY TRUE)
 
 else (CFITSIO_INCLUDE_DIR AND CFITSIO_LIBRARIES)
 
-  if (NOT WIN32)
-    find_package(PkgConfig)
-    if (PKG_CONFIG_FOUND)
-      pkg_check_modules(PC_CFITSIO cfitsio)
-    endif (PKG_CONFIG_FOUND)
-  endif (NOT WIN32)
-
+  # JM: Packages from different distributions have different suffixes
   find_path(CFITSIO_INCLUDE_DIR fitsio.h
-    ${PC_CFITSIO_INCLUDE_DIRS}
+    PATH_SUFFIXES libcfitsio3 libcfitsio0 cfitsio
+    PATHS
+    $ENV{CFITSIO}
     ${_obIncDir}
     ${GNUWIN32_DIR}/include
   )
 
-  find_library(CFITSIO_LIBRARIES NAMES cfitsio libcfitsio
+  find_library(CFITSIO_LIBRARIES NAMES cfitsio
     PATHS
-    ${PC_CFITSIO_LIBRARY_DIRS}
+    $ENV{CFITSIO}
     ${_obLinkDir}
     ${GNUWIN32_DIR}/lib
   )
@@ -48,13 +45,21 @@
 
 
   if (CFITSIO_FOUND)
-    if (NOT CFitsio_FIND_QUIETLY)
-      message(STATUS "Found CFITSIO: ${CFITSIO_LIBRARIES}")
-    endif (NOT CFitsio_FIND_QUIETLY)
+
+    # Find the version of the cfitsio header
+    FILE(READ "${CFITSIO_INCLUDE_DIR}/fitsio.h" FITSIO_H)
+    STRING(REGEX REPLACE ".*#define CFITSIO_VERSION[^0-9]*([0-9]+)\\.([0-9]+).*" "\\1.\\2" CFITSIO_VERSION_STRING "${FITSIO_H}")
+    STRING(REGEX REPLACE "^([0-9]+)[.]([0-9]+)" "\\1" CFITSIO_VERSION_MAJOR ${CFITSIO_VERSION_STRING})
+    STRING(REGEX REPLACE "^([0-9]+)[.]([0-9]+)" "\\2" CFITSIO_VERSION_MINOR ${CFITSIO_VERSION_STRING})
+    message(STATUS "found version string ${CFITSIO_VERSION_STRING}")
+
+    if (NOT CFITSIO_FIND_QUIETLY)
+      message(STATUS "Found CFITSIO ${CFITSIO_VERSION_MAJOR}.${CFITSIO_VERSION_MINOR}: ${CFITSIO_LIBRARIES}")
+    endif (NOT CFITSIO_FIND_QUIETLY)
   else (CFITSIO_FOUND)
-    if (CFitsio_FIND_REQUIRED)
-      message(FATAL_ERROR "CFITSIO not found. Please install libcfitsio0-devel and try again. http://indi.sf.net")
-    endif (CFitsio_FIND_REQUIRED)
+    if (CFITSIO_FIND_REQUIRED)
+      message(STATUS "CFITSIO not found.")
+    endif (CFITSIO_FIND_REQUIRED)
   endif (CFITSIO_FOUND)
 
   mark_as_advanced(CFITSIO_INCLUDE_DIR CFITSIO_LIBRARIES)
openSUSE Build Service is sponsored by