[libcerf] Add new port (#7320)

* Add port for libcerf.

* Indicate that static linkage is not available.

* Patch to enable static build.
This commit is contained in:
Alexander Täschner 2019-08-07 18:29:14 +02:00 committed by Curtis J Bezault
parent 6a6d89ffd8
commit 3405bfd2fb
3 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f79581f..4fc9457 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,6 +56,8 @@ if(MSVC)
# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/$<CONFIG>)
if(BUILD_SHARED_LIBS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+ else()
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
endif()
else()
add_compile_options(-O2 -Wno-sign-compare -fno-omit-frame-pointer)

4
ports/libcerf/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: libcerf
Version: 1.13
Description: A self-contained numeric library that provides an efficient and accurate implementation of complex error functions, along with Dawson, Faddeeva, and Voigt functions.
Homepage: https://jugit.fz-juelich.de/mlz/libcerf

View File

@ -0,0 +1,35 @@
include(vcpkg_common_functions)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(BUILD_SHARED_LIBS ON)
else()
set(BUILD_SHARED_LIBS OFF)
endif()
vcpkg_download_distfile(ARCHIVE
URLS "https://jugit.fz-juelich.de/mlz/libcerf/uploads/924b8d245ad3461107ec630734dfc781/libcerf-1.13.tgz"
FILENAME "libcerf-1.13.tgz"
SHA512 4df711d3e9fd00de99959c3253a9565d1dc2c41f75a5800ced9c52f89cbd13185fbdca3ad75de788fd16c044082738ab345b7fb6a8820ac588edafe1812944aa
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES 001-fix-static-build.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DCERF_CPP=ON
-DLIB_MAN=OFF
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
)
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcerf RENAME copyright)
vcpkg_test_cmake(PACKAGE_NAME libcerf)