csv-parser icon indicating copy to clipboard operation
csv-parser copied to clipboard

Remove separate Makefile. Use CMakeLists for all building/testing tasks.

Open vincentlaucsb opened this issue 6 years ago • 3 comments

vincentlaucsb avatar Sep 06 '19 19:09 vincentlaucsb

I was taking a look into this and is the makefile even still used? I try it and it is missing csv_parser target.

I was working with the cmake file and it looks like you don't have a check for the gcc version 8 like you do in the makefile. On Ubuntu the default is 7 and when i try to use c++17 this doesn't have the header file <charconv> which doesn't appear till version 8.

What is the status of this issue?

LinuxDevon avatar Apr 02 '20 02:04 LinuxDevon

The Makefile is really only used for code coverage purposes. I've tried using a popular CMake code coverage configuration but had some difficulty.

vincentlaucsb avatar Apr 24 '20 01:04 vincentlaucsb

Just FYI @vincentlaucsb - I'm using csv-parser in a large project where all the build is managed by CMake, and I like to compile and link external libs (to improve build time for modified proprietary project files).

I had an issue linking the csv-parser on MacOS. It was having issues linking the code coverage tests.

I fixed it by removing this section from the CMakeLists.txt:

if(MSVC)
	# Make Visual Studio report accurate C++ version
	# See: https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
  # /Wall emits warnings about the C++ standard library
	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /Zc:__cplusplus /W4")
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)

It would be great if there was a way to build the library for end users without running any code coverage tests (obviously a development process).

peza8 avatar Jun 16 '20 11:06 peza8