aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorveggiesaurus <accomrie@gmail.com>2017-08-21 13:11:29 +0200
committerveggiesaurus <accomrie@gmail.com>2017-08-21 13:11:29 +0200
commite96c0d6703af0d48266b950876ecf8ca2be352e0 (patch)
tree428307868afbff649e507fe1183b05420f4a2442
parent91e7d010999afd137c128b61c4df27b39a645d0f (diff)
downloadvcpkg-e96c0d6703af0d48266b950876ecf8ca2be352e0.tar.gz
vcpkg-e96c0d6703af0d48266b950876ecf8ca2be352e0.zip
ccfits port implemented for dynamic and static builds
-rw-r--r--ports/ccfits/CONTROL4
-rw-r--r--ports/ccfits/dll_exports.patch495
-rw-r--r--ports/ccfits/portfile.cmake56
3 files changed, 555 insertions, 0 deletions
diff --git a/ports/ccfits/CONTROL b/ports/ccfits/CONTROL
new file mode 100644
index 000000000..17083f9b2
--- /dev/null
+++ b/ports/ccfits/CONTROL
@@ -0,0 +1,4 @@
+Source: ccfits
+Version: 2.5
+Description: CCfits is an object oriented interface to the cfitsio library. It is designed to make the capabilities of cfitsio available to programmers working in C++.
+Build-Depends: cfitsio \ No newline at end of file
diff --git a/ports/ccfits/dll_exports.patch b/ports/ccfits/dll_exports.patch
new file mode 100644
index 000000000..4ec4a8284
--- /dev/null
+++ b/ports/ccfits/dll_exports.patch
@@ -0,0 +1,495 @@
+Index: FITS.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- FITS.h (date 1502267716000)
++++ FITS.h (revision )
+@@ -21,6 +21,8 @@
+ #include "HDUCreator.h"
+ // FitsError
+ #include "FitsError.h"
++//DLL Exporting
++#include "ccfits_export.h"
+
+ namespace CCfits {
+ class FITSBase;
+@@ -665,9 +667,8 @@
+
+
+
+- class FITS
+- {
+-
++ class CCFITS_EXPORT FITS
++ {
+ public:
+
+
+Index: HDU.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- HDU.h (date 1502267716000)
++++ HDU.h (revision )
+@@ -568,7 +568,7 @@
+
+
+
+- class HDU
++ class CCFITS_EXPORT HDU
+ {
+
+ public:
+Index: Table.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- Table.h (date 1502267716000)
++++ Table.h (revision )
+@@ -268,7 +268,7 @@
+
+
+
+- class Table : public ExtHDU //## Inherits: <unnamed>%3804A126EB10
++ class CCFITS_EXPORT Table : public ExtHDU //## Inherits: <unnamed>%3804A126EB10
+ {
+
+ public:
+Index: Column.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- Column.h (date 1502267716000)
++++ Column.h (revision )
+@@ -838,14 +838,14 @@
+
+
+
+- class Column
++ class CCFITS_EXPORT Column
+ {
+
+ public:
+
+
+
+- class RangeError : public FitsException //## Inherits: <unnamed>%3946526D031A
++ class CCFITS_EXPORT RangeError : public FitsException //## Inherits: <unnamed>%3946526D031A
+ {
+ public:
+ RangeError (const String& msg, bool silent = true);
+@@ -857,7 +857,7 @@
+
+
+
+- class InvalidDataType : public FitsException //## Inherits: <unnamed>%3947CF30033E
++ class CCFITS_EXPORT InvalidDataType : public FitsException //## Inherits: <unnamed>%3947CF30033E
+ {
+ public:
+ InvalidDataType (const String& str = string(), bool silent = true);
+@@ -869,7 +869,7 @@
+
+
+
+- class InvalidRowParameter : public FitsException //## Inherits: <unnamed>%39B5310F01A0
++ class CCFITS_EXPORT InvalidRowParameter : public FitsException //## Inherits: <unnamed>%39B5310F01A0
+ {
+ public:
+ InvalidRowParameter (const String& diag, bool silent = true);
+@@ -881,7 +881,7 @@
+
+
+
+- class WrongColumnType : public FitsException //## Inherits: <unnamed>%39B545780082
++ class CCFITS_EXPORT WrongColumnType : public FitsException //## Inherits: <unnamed>%39B545780082
+ {
+ public:
+ WrongColumnType (const String& diag, bool silent = true);
+@@ -893,7 +893,7 @@
+
+
+
+- class UnspecifiedLengths : public FitsException //## Inherits: <unnamed>%3A018C9D007D
++ class CCFITS_EXPORT UnspecifiedLengths : public FitsException //## Inherits: <unnamed>%3A018C9D007D
+ {
+ public:
+ UnspecifiedLengths (const String& diag, bool silent = true);
+@@ -905,7 +905,7 @@
+
+
+
+- class InvalidRowNumber : public FitsException //## Inherits: <unnamed>%3B0A850F0307
++ class CCFITS_EXPORT InvalidRowNumber : public FitsException //## Inherits: <unnamed>%3B0A850F0307
+ {
+ public:
+ InvalidRowNumber (const String& diag, bool silent = true);
+@@ -917,7 +917,7 @@
+
+
+
+- class InsufficientElements : public FitsException //## Inherits: <unnamed>%3B0BE611010A
++ class CCFITS_EXPORT InsufficientElements : public FitsException //## Inherits: <unnamed>%3B0BE611010A
+ {
+ public:
+ InsufficientElements (const String& msg, bool silent = true);
+@@ -929,7 +929,7 @@
+
+
+
+- class NoNullValue : public FitsException //## Inherits: <unnamed>%3B0D589A0092
++ class CCFITS_EXPORT NoNullValue : public FitsException //## Inherits: <unnamed>%3B0D589A0092
+ {
+ public:
+ NoNullValue (const String& diag, bool silent = true);
+@@ -941,7 +941,7 @@
+
+
+
+- class InvalidNumberOfRows : public FitsException //## Inherits: <unnamed>%3B20EB8B0205
++ class CCFITS_EXPORT InvalidNumberOfRows : public FitsException //## Inherits: <unnamed>%3B20EB8B0205
+ {
+ public:
+ InvalidNumberOfRows (int number, bool silent = true);
+Index: AsciiTable.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- AsciiTable.h (date 1502267716000)
++++ AsciiTable.h (revision )
+@@ -133,7 +133,7 @@
+
+
+
+- class AsciiTable : public Table //## Inherits: <unnamed>%3804A75CE420
++ class CCFITS_EXPORT AsciiTable : public Table //## Inherits: <unnamed>%3804A75CE420
+ {
+
+ public:
+Index: CCfits.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- CCfits.h (date 1502267716000)
++++ CCfits.h (revision )
+@@ -23,7 +23,7 @@
+ #include <sys/types.h>
+ #include "longnam.h"
+ #include "float.h"
+-
++#include "ccfits_export.h"
+
+ namespace CCfits {
+ /*! \namespace CCfits
+@@ -32,8 +32,8 @@
+ static const int BITPIX = -32;
+ static const int NAXIS = 2;
+ static const int MAXDIM = 99;
+- extern const unsigned long USBASE;
+- extern const unsigned long ULBASE;
++ extern const CCFITS_EXPORT unsigned long USBASE;
++ extern const CCFITS_EXPORT unsigned long ULBASE;
+
+ extern char BSCALE[7];
+ extern char BZERO[6];
+Index: FITSBase.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- FITSBase.h (date 1502267716000)
++++ FITSBase.h (revision )
+@@ -30,7 +30,7 @@
+
+
+
+- class FITSBase
++ class CCFITS_EXPORT FITSBase
+ {
+
+ public:
+Index: Keyword.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- Keyword.h (date 1502267716000)
++++ Keyword.h (revision )
+@@ -195,7 +195,7 @@
+
+
+
+- class Keyword
++ class CCFITS_EXPORT Keyword
+ {
+
+ public:
+Index: ExtHDU.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- ExtHDU.h (date 1502267716000)
++++ ExtHDU.h (revision )
+@@ -435,7 +435,7 @@
+
+
+
+- class ExtHDU : public HDU //## Inherits: <unnamed>%38048213E7A8
++ class CCFITS_EXPORT ExtHDU : public HDU //## Inherits: <unnamed>%38048213E7A8
+ {
+
+ public:
+Index: PHDU.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- PHDU.h (date 1502267716000)
++++ PHDU.h (revision )
+@@ -264,7 +264,7 @@
+
+
+
+- class PHDU : public HDU //## Inherits: <unnamed>%394E6F9800C3
++ class CCFITS_EXPORT PHDU : public HDU //## Inherits: <unnamed>%394E6F9800C3
+ {
+
+ public:
+Index: BinTable.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- BinTable.h (date 1502267716000)
++++ BinTable.h (revision )
+@@ -127,7 +127,7 @@
+
+
+
+- class BinTable : public Table //## Inherits: <unnamed>%3804A7E75F10
++ class CCFITS_EXPORT BinTable : public Table //## Inherits: <unnamed>%3804A7E75F10
+ {
+
+ public:
+Index: Image.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- Image.h (date 1502267716000)
++++ Image.h (revision )
+@@ -32,7 +32,7 @@
+
+
+ template <typename T>
+- class Image
++ class Image
+ {
+
+ public:
+Index: ColumnCreator.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- ColumnCreator.h (date 1502267716000)
++++ ColumnCreator.h (revision )
+@@ -28,7 +28,7 @@
+
+
+
+- class ColumnCreator
++ class CCFITS_EXPORT ColumnCreator
+ {
+
+ public:
+Index: FitsError.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- FitsError.h (date 1502267716000)
++++ FitsError.h (revision )
+@@ -14,6 +14,7 @@
+ //#include <iostream>
+ //#include <stl.h>
+ #include <string>
++#include "ccfits_export.h"
+ using std::string;
+
+
+@@ -90,7 +91,7 @@
+
+
+
+- class FitsException
++ class CCFITS_EXPORT FitsException
+ {
+ public:
+ FitsException (const string& msg, bool& silent);
+@@ -109,7 +110,7 @@
+
+
+
+- class FitsError : public FitsException //## Inherits: <unnamed>%399170BD017D
++ class CCFITS_EXPORT FitsError : public FitsException //## Inherits: <unnamed>%399170BD017D
+ {
+ public:
+ FitsError (int errornum, bool silent = true);
+@@ -123,7 +124,7 @@
+
+
+
+- class FitsFatal
++ class CCFITS_EXPORT FitsFatal
+ {
+ public:
+ FitsFatal (const string& diag);
+Index: HDUCreator.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- HDUCreator.h (date 1502267716000)
++++ HDUCreator.h (revision )
+@@ -35,7 +35,7 @@
+
+
+
+- class HDUCreator
++ class CCFITS_EXPORT HDUCreator
+ {
+
+ public:
+Index: ccfits_export.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- ccfits_export.h (revision )
++++ ccfits_export.h (revision )
+@@ -0,0 +1,42 @@
++
++#ifndef CCFITS_EXPORT_H
++#define CCFITS_EXPORT_H
++
++#ifdef CCFITS_STATIC_DEFINE
++# define CCFITS_EXPORT
++# define CCFITS_NO_EXPORT
++#else
++# ifndef CCFITS_EXPORT
++# ifdef CCfits_EXPORTS
++ /* We are building this library */
++# define CCFITS_EXPORT __declspec(dllexport)
++# else
++ /* We are using this library */
++# define CCFITS_EXPORT __declspec(dllimport)
++# endif
++# endif
++
++# ifndef CCFITS_NO_EXPORT
++# define CCFITS_NO_EXPORT
++# endif
++#endif
++
++#ifndef CCFITS_DEPRECATED
++# define CCFITS_DEPRECATED __declspec(deprecated)
++#endif
++
++#ifndef CCFITS_DEPRECATED_EXPORT
++# define CCFITS_DEPRECATED_EXPORT CCFITS_EXPORT CCFITS_DEPRECATED
++#endif
++
++#ifndef CCFITS_DEPRECATED_NO_EXPORT
++# define CCFITS_DEPRECATED_NO_EXPORT CCFITS_NO_EXPORT CCFITS_DEPRECATED
++#endif
++
++#if 0 /* DEFINE_NO_DEPRECATED */
++# ifndef CCFITS_NO_DEPRECATED
++# define CCFITS_NO_DEPRECATED
++# endif
++#endif
++
++#endif
+Index: FITSUtil.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- FITSUtil.h (date 1502267716000)
++++ FITSUtil.h (revision )
+@@ -22,6 +22,7 @@
+ #include <string>
+ // FitsError
+ #include "FitsError.h"
++#include "ccfits_export.h"
+ #include <typeinfo>
+
+
+@@ -287,21 +288,21 @@
+ template <typename T>
+ void swap(std::vector<T>& left, std::vector<T>& right);
+
+- string lowerCase(const string& inputString);
++ string CCFITS_EXPORT lowerCase(const string& inputString);
+
+- string upperCase(const string& inputString);
++ string CCFITS_EXPORT upperCase(const string& inputString);
+
+ // Check if a file name includes an image compression specifier,
+ // and return its location if it exists.
+- string::size_type checkForCompressString(const string& fileName);
++ string::size_type CCFITS_EXPORT checkForCompressString(const string& fileName);
+
+- struct InvalidConversion : public FitsException
++ struct CCFITS_EXPORT InvalidConversion : public FitsException
+ {
+ InvalidConversion(const string& diag, bool silent=false);
+
+ };
+
+- struct MatchStem : public std::binary_function<string,string,bool>
++ struct CCFITS_EXPORT MatchStem : public std::binary_function<string,string,bool>
+ {
+ bool operator()(const string& left, const string& right) const;
+ };
+@@ -323,7 +324,7 @@
+
+ char** CharArray(const std::vector<string>& inArray);
+
+- string FITSType2String( int typeInt );
++ string CCFITS_EXPORT FITSType2String( int typeInt );
+
+
+ template <typename S, typename T>
+@@ -633,7 +634,7 @@
+
+
+
+- class UnrecognizedType : public FitsException //## Inherits: <unnamed>%3CE143AB00C6
++ class CCFITS_EXPORT UnrecognizedType : public FitsException //## Inherits: <unnamed>%3CE143AB00C6
+ {
+ public:
+ UnrecognizedType (string diag, bool silent = true);
+Index: KeywordCreator.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- KeywordCreator.h (date 1502267716000)
++++ KeywordCreator.h (revision )
+@@ -24,7 +24,7 @@
+
+
+
+- class KeywordCreator
++ class CCFITS_EXPORT KeywordCreator
+ {
+
+ public:
diff --git a/ports/ccfits/portfile.cmake b/ports/ccfits/portfile.cmake
new file mode 100644
index 000000000..6bd9bd170
--- /dev/null
+++ b/ports/ccfits/portfile.cmake
@@ -0,0 +1,56 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+
+include(vcpkg_common_functions)
+#removes current source to prevent static builds from using patched source code
+file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src/CCfits)
+file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src/CCfits-2.5.tar.gz.extracted)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CCfits)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://heasarc.gsfc.nasa.gov/fitsio/ccfits/CCfits-2.5.tar.gz"
+ FILENAME "CCfits-2.5.tar.gz"
+ SHA512 63ab4d153063960510cf60651d5c832824cf85f937f84adc5390c7c2fb46eb8e9f5d8cda2554d79d24c7a4f1b6cf0b7a6e20958fb69920b65d7c362c0a5f26b5
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CCfits
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/dll_exports.patch"
+ )
+endif()
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
+ # OPTIONS_RELEASE -DOPTIMIZE=1
+ # OPTIONS_DEBUG -DDEBUGGABLE=1
+)
+
+vcpkg_install_cmake()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/CCfits.dll ${CURRENT_PACKAGES_DIR}/bin/CCfits.dll)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/CCfits.dll ${CURRENT_PACKAGES_DIR}/debug/bin/CCfits.dll)
+endif()
+
+# Remove duplicate include files
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ccfits RENAME copyright)