aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/ccfits/portfile.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/ccfits/portfile.cmake')
-rw-r--r--vcpkg/ports/ccfits/portfile.cmake45
1 files changed, 45 insertions, 0 deletions
diff --git a/vcpkg/ports/ccfits/portfile.cmake b/vcpkg/ports/ccfits/portfile.cmake
new file mode 100644
index 0000000..103ce90
--- /dev/null
+++ b/vcpkg/ports/ccfits/portfile.cmake
@@ -0,0 +1,45 @@
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://heasarc.gsfc.nasa.gov/fitsio/CCfits-2.5/CCfits-2.5.tar.gz"
+ FILENAME "CCfits-2.5.tar.gz"
+ SHA512 63ab4d153063960510cf60651d5c832824cf85f937f84adc5390c7c2fb46eb8e9f5d8cda2554d79d24c7a4f1b6cf0b7a6e20958fb69920b65d7c362c0a5f26b5
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ PATCHES
+ dll_exports.patch
+ fix-dependency.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DCMAKE_CXX_STANDARD=11 # 17 removes std::binary_function
+)
+
+vcpkg_cmake_install()
+
+if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin")
+ file(RENAME "${CURRENT_PACKAGES_DIR}/lib/CCfits.dll" "${CURRENT_PACKAGES_DIR}/bin/CCfits.dll")
+ if(NOT VCPKG_BUILD_TYPE)
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin")
+ file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/CCfits.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/CCfits.dll")
+ endif()
+endif()
+
+# Remove duplicate include files
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+# Patch installed headers to look in the correct subdirectory
+file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/CCfits/*")
+foreach(HEADER IN LISTS HEADERS)
+ vcpkg_replace_string("${HEADER}" "\"fitsio.h\"" "\"cfitsio/fitsio.h\"" IGNORE_UNCHANGED)
+endforeach()
+
+vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/CCfits/CCfits.h
+ "#include \"longnam.h\"" "#include \"cfitsio/longnam.h\""
+)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.txt")