diff options
Diffstat (limited to 'vcpkg/ports/vincentlaucsb-csv-parser')
6 files changed, 190 insertions, 0 deletions
diff --git a/vcpkg/ports/vincentlaucsb-csv-parser/001-fix-cmake.patch b/vcpkg/ports/vincentlaucsb-csv-parser/001-fix-cmake.patch new file mode 100644 index 0000000..19c8c14 --- /dev/null +++ b/vcpkg/ports/vincentlaucsb-csv-parser/001-fix-cmake.patch @@ -0,0 +1,70 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1b920b1..c56a142 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,12 @@ + cmake_minimum_required(VERSION 3.9) + project(csv) + ++include(GNUInstallDirs) ++ ++find_path(HEDLEY_INCLUDE_DIRS "hedley.h") ++find_package(mio CONFIG REQUIRED) ++find_package(string-view-lite CONFIG REQUIRED) ++ + if(CSV_CXX_STANDARD) + set(CMAKE_CXX_STANDARD ${CSV_CXX_STANDARD}) + else() +@@ -40,10 +46,7 @@ set(CSV_TEST_DIR ${CMAKE_CURRENT_LIST_DIR}/tests) + + include_directories(${CSV_INCLUDE_DIR}) + +-## Load developer specific CMake settings +-if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) +- SET(CSV_DEVELOPER TRUE) +-endif() ++SET(CSV_DEVELOPER OFF) + + ## Main Library + add_subdirectory(${CSV_SOURCE_DIR}) +@@ -60,6 +63,23 @@ if (CSV_BUILD_PROGRAMS) + add_subdirectory("programs") + endif() + ++install(TARGETS csv EXPORT unofficial-vincentlaucsb-csv-parser) ++ ++install( ++ EXPORT unofficial-vincentlaucsb-csv-parser ++ FILE unofficial-vincentlaucsb-csv-parser-config.cmake ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-vincentlaucsb-csv-parser" ++ NAMESPACE unofficial::vincentlaucsb-csv-parser:: ++) ++ ++install( ++ DIRECTORY "${CMAKE_SOURCE_DIR}/include/" ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/vincentlaucsb-csv-parser" ++ PATTERN "*.cpp" EXCLUDE ++ PATTERN "CMakeLists.txt" EXCLUDE ++ PATTERN "external" EXCLUDE ++) ++ + ## Developer settings + if (CSV_DEVELOPER) + # Allow for performance profiling +diff --git a/include/internal/CMakeLists.txt b/include/internal/CMakeLists.txt +index 4cbf58c..e9e65f8 100644 +--- a/include/internal/CMakeLists.txt ++++ b/include/internal/CMakeLists.txt +@@ -23,6 +23,9 @@ target_sources(csv + "data_type.hpp" + ) + +-set_target_properties(csv PROPERTIES LINKER_LANGUAGE CXX) +-target_link_libraries(csv PRIVATE Threads::Threads) +-target_include_directories(csv INTERFACE ../) ++set_target_properties(csv PROPERTIES LINKER_LANGUAGE CXX OUTPUT_NAME "vincentlaucsb-csv-parser-csv") ++target_include_directories(csv ++ PUBLIC ${HEDLEY_INCLUDE_DIRS} ++ INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/vincentlaucsb-csv-parser> ++) ++target_link_libraries(csv PRIVATE Threads::Threads PUBLIC mio::mio mio::mio-headers nonstd::string-view-lite) diff --git a/vcpkg/ports/vincentlaucsb-csv-parser/002-fix-include.patch b/vcpkg/ports/vincentlaucsb-csv-parser/002-fix-include.patch new file mode 100644 index 0000000..35eedef --- /dev/null +++ b/vcpkg/ports/vincentlaucsb-csv-parser/002-fix-include.patch @@ -0,0 +1,45 @@ +diff --git a/include/internal/basic_csv_parser.hpp b/include/internal/basic_csv_parser.hpp +index d76b2d9..8dd0110 100644 +--- a/include/internal/basic_csv_parser.hpp ++++ b/include/internal/basic_csv_parser.hpp +@@ -15,7 +15,7 @@ + #include <thread> + #include <vector> + +-#include "../external/mio.hpp" ++#include "mio/mmap.hpp" + #include "col_names.hpp" + #include "common.hpp" + #include "csv_format.hpp" +diff --git a/include/internal/common.hpp b/include/internal/common.hpp +index c132bfb..dff4d03 100644 +--- a/include/internal/common.hpp ++++ b/include/internal/common.hpp +@@ -28,12 +28,12 @@ + #pragma once + #include <type_traits> + +-#include "../external/string_view.hpp" ++#include "nonstd/string_view.hpp" + + // If there is another version of Hedley, then the newer one + // takes precedence. + // See: https://github.com/nemequ/hedley +-#include "../external/hedley.h" ++#include "hedley.h" + + namespace csv { + #ifdef _MSC_VER +diff --git a/include/internal/csv_reader.hpp b/include/internal/csv_reader.hpp +index 1cdf6e0..3077395 100644 +--- a/include/internal/csv_reader.hpp ++++ b/include/internal/csv_reader.hpp +@@ -15,7 +15,7 @@ + #include <string> + #include <vector> + +-#include "../external/mio.hpp" ++#include "mio/mmap.hpp" + #include "basic_csv_parser.hpp" + #include "common.hpp" + #include "data_type.hpp" diff --git a/vcpkg/ports/vincentlaucsb-csv-parser/003-disable-coverage.patch b/vcpkg/ports/vincentlaucsb-csv-parser/003-disable-coverage.patch new file mode 100644 index 0000000..890f8fa --- /dev/null +++ b/vcpkg/ports/vincentlaucsb-csv-parser/003-disable-coverage.patch @@ -0,0 +1,11 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,7 +29,6 @@ if(MSVC) + else() + # Ignore Visual Studio pragma regions + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas") +- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} --coverage -Og") + endif(MSVC) + + set(CSV_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}) diff --git a/vcpkg/ports/vincentlaucsb-csv-parser/portfile.cmake b/vcpkg/ports/vincentlaucsb-csv-parser/portfile.cmake new file mode 100644 index 0000000..9d32fdd --- /dev/null +++ b/vcpkg/ports/vincentlaucsb-csv-parser/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vincentlaucsb/csv-parser + REF "${VERSION}" + SHA512 ead00b640569da960f5ec70ca2f85fbe0f116643ac6d69951f15d5a2030f1538bbffa1d27dd487be7fc5b8561f374103dfa115d4918534cf9ccd1143b76713b3 + HEAD_REF master + PATCHES + 001-fix-cmake.patch + 002-fix-include.patch + 003-disable-coverage.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_PYTHON=OFF + -DCSV_BUILD_PROGRAMS=OFF + MAYBE_UNUSED_VARIABLES + BUILD_PYTHON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-vincentlaucsb-csv-parser) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-vincentlaucsb-csv-parser/unofficial-vincentlaucsb-csv-parser-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-vincentlaucsb-csv-parser/unofficial-vincentlaucsb-csv-parser-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(Threads) +find_dependency(mio CONFIG) +find_dependency(string-view-lite CONFIG) +${cmake_config} +") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/vcpkg/ports/vincentlaucsb-csv-parser/usage b/vcpkg/ports/vincentlaucsb-csv-parser/usage new file mode 100644 index 0000000..d7d068f --- /dev/null +++ b/vcpkg/ports/vincentlaucsb-csv-parser/usage @@ -0,0 +1,4 @@ +csv-parser provides CMake targets: + + find_package(unofficial-vincentlaucsb-csv-parser CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::vincentlaucsb-csv-parser::csv) diff --git a/vcpkg/ports/vincentlaucsb-csv-parser/vcpkg.json b/vcpkg/ports/vincentlaucsb-csv-parser/vcpkg.json new file mode 100644 index 0000000..439d8ca --- /dev/null +++ b/vcpkg/ports/vincentlaucsb-csv-parser/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "vincentlaucsb-csv-parser", + "version": "2.3.0", + "description": "A modern C++ library for reading, writing, and analyzing CSV (and similar) files.", + "homepage": "https://github.com/vincentlaucsb/csv-parser", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "hedley", + "mio", + "string-view-lite", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |