vcpkg/ports/vincentlaucsb-csv-parser/001-fix-cmake.patch

83 lines
2.8 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 95fa984..13f389f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,8 @@
cmake_minimum_required(VERSION 3.10)
project(csv)
+include(GNUInstallDirs)
+
+find_package(mio CONFIG REQUIRED)
if(DEFINED CSV_CXX_STANDARD AND NOT "${CSV_CXX_STANDARD}" STREQUAL "")
set(CMAKE_CXX_STANDARD ${CSV_CXX_STANDARD})
@@ -102,9 +105,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})
@@ -175,6 +176,22 @@ endif()
## Tests
option(CSV_BUILD_TESTS "Allow to disable building of tests" ON)
+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)
diff --git a/include/internal/CMakeLists.txt b/include/internal/CMakeLists.txt
index 03a2eab..efb1302 100644
--- a/include/internal/CMakeLists.txt
+++ b/include/internal/CMakeLists.txt
@@ -44,7 +44,7 @@ target_sources(csv
thread_safe_deque.hpp
)
-set_target_properties(csv PROPERTIES LINKER_LANGUAGE CXX)
+set_target_properties(csv PROPERTIES LINKER_LANGUAGE CXX OUTPUT_NAME "vincentlaucsb-csv-parser-csv")
if(CSV_NO_SIMD)
target_compile_definitions(csv PUBLIC CSV_NO_SIMD=1)
@@ -61,8 +61,6 @@ if(MSVC AND NOT CSV_NO_SIMD AND CSV_TARGET_X86)
target_compile_options(csv PUBLIC /arch:AVX2)
endif()
-target_include_directories(csv INTERFACE ../)
-
# Scalar-only variant of the library: same sources, CSV_NO_SIMD defined.
# Used by csv_bench_no_simd to provide a fair apples-to-apples benchmark.
add_library(csv_no_simd STATIC "")
@@ -76,4 +74,11 @@ if(CSV_ENABLE_THREADS)
else()
target_compile_definitions(csv_no_simd PUBLIC CSV_ENABLE_THREADS=0)
endif()
-target_include_directories(csv_no_simd INTERFACE ../)
+target_include_directories(csv
+ INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/vincentlaucsb-csv-parser>
+)
+target_link_libraries(csv PRIVATE Threads::Threads PUBLIC mio::mio mio::mio-headers)
+target_include_directories(csv_no_simd
+ INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/vincentlaucsb-csv-parser>
+)
+target_link_libraries(csv_no_simd PRIVATE Threads::Threads PUBLIC mio::mio mio::mio-headers)