Compare commits

..

1 commit

Author SHA1 Message Date
Tom Hughes
bdd358f91a Build using catch1 2018-06-01 09:01:46 +01:00
6 changed files with 32 additions and 172 deletions

2
.gitignore vendored
View file

@ -1,4 +1,2 @@
/geometry-test-data-a623c19a91947a9d29f9ec5625ce620ab42325dc.tar.gz
/wagyu-0.4.2.tar.gz
/wagyu-0.4.3.tar.gz
/wagyu-0.5.0.tar.gz

View file

@ -1,2 +1,2 @@
SHA512 (wagyu-0.5.0.tar.gz) = d2ef6c056b25e60677da4f53154790558ddb43c56aa117a4d5108f8c7686cceff9e5d54d71138e2eb504f053315d28f7cb8190ff45833c5606d511b685acf40d
SHA512 (geometry-test-data-a623c19a91947a9d29f9ec5625ce620ab42325dc.tar.gz) = 373dcd7ead751975e75fb0765362dd20bd37e621ca22ecb4592298b2303d9554731cf67cfb7a124e1c78397db92c5bc1f77d0aebb4f7999212b86e2ffba11690
SHA512 (wagyu-0.4.2.tar.gz) = dba4ae4575288c972eb4afacaa218a6fb86bb7ade8e606730718d5f8d3e1426410c75e45d8dae60006b4151850b909337f194f8512911d029d80a731ed265c8a

View file

@ -1,32 +0,0 @@
commit 3495c2833a08fa45d2bca6f8847617ba3fc550be
Author: Tom Hughes <tom@compton.nu>
Date: Wed Mar 4 19:06:49 2020 +0000
Remove benchmarking support to avoid libbenchmark dependency
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 635f298..c098b0f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,9 +46,6 @@ include_directories(SYSTEM ${MASON_PACKAGE_geometry_INCLUDE_DIRS})
mason_use(catch VERSION 1.9.6 HEADER_ONLY)
include_directories(SYSTEM ${MASON_PACKAGE_catch_INCLUDE_DIRS})
-mason_use(benchmark VERSION 1.4.1)
-include_directories(SYSTEM ${MASON_PACKAGE_benchmark_INCLUDE_DIRS})
-
include_directories("${PROJECT_SOURCE_DIR}/include")
file(GLOB TEST_SOURCES tests/unit/*.cpp)
@@ -59,11 +56,3 @@ add_executable(fixture-tests ${TEST_SOURCES})
file(GLOB FUZZER_SOURCES fuzzer/*.cpp)
add_executable(fuzzer-tests ${FUZZER_SOURCES})
-
-# libbenchmark.a supports threads and therefore needs pthread support
-find_package(Threads REQUIRED)
-file(GLOB BENCH_SOURCES bench/*.cpp)
-add_executable(bench-tests ${BENCH_SOURCES})
-
-# link benchmark static library to the bench-tests binary so the bench tests know where to find the benchmark impl code
-target_link_libraries(bench-tests ${MASON_PACKAGE_benchmark_STATIC_LIBS} ${MASON_PACKAGE_boost_libfilesystem_STATIC_LIBS} ${MASON_PACKAGE_boost_libsystem_STATIC_LIBS} ${CMAKE_THREAD_LIBS_INIT})

View file

@ -1,18 +0,0 @@
commit ec4832e2b9cc9cd44ec9d2122d5f362899ca8ef5
Author: Tom Hughes <tom@compton.nu>
Date: Fri Jan 29 14:20:38 2021 +0000
Switch to C++14 as Boost.Geometry requires it from Boost 1.75
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bdadb90..a346401 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.8)
project(hpp_skel LANGUAGES CXX)
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED on)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

View file

@ -1,53 +1,34 @@
commit da88110aea24b8953614449f78aa12e6a5c96826
commit 478476f5c8e32c5c88476f01a7d5936e5a02a56f
Author: Tom Hughes <tom@compton.nu>
Date: Sun Apr 9 14:59:06 2017 +0100
Rip out mason stuff - we use our own packages
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c098b0f..bdadb90 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,8 +4,6 @@ set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED on)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
diff --git a/Makefile b/Makefile
index cbfb1ba..a2f4365 100644
--- a/Makefile
+++ b/Makefile
@@ -14,21 +14,10 @@ ANGUS_DEFINES := -D'CLIPPER_INTPOINT_IMPL=mapbox::geometry::point<cInt>' -D'CLIP
-include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/mason.cmake)
default: test
-mason_packages/headers/boost/$(BOOST_VERSION)/include:
- ./mason.sh install --header-only boost $(BOOST_VERSION)
-
option(WERROR "Add -Werror flag to build (turns warnings into errors)" ON)
# configure optimization
@@ -23,28 +21,18 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(DESIRED_WARNINGS "${DESIRED_WARNINGS} -Wmost")
endif()
-# Note: -D_GLIBCXX_USE_CXX11_ABI=0 is needed to support mason packages that are precompiled libs
-# Currently we only depend on a header only library, but this will help avoid issues when more libs are added via mason
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPTIMIZATION_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0 ${DESIRED_WARNINGS}")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPTIMIZATION_FLAGS} ${DESIRED_WARNINGS}")
if (WERROR)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
endif()
-# mason_use is a mason function within the mason.cmake file and provides ready-to-go vars, like "STATIC_LIBS" and "INCLUDE_DIRS"
-mason_use(boost_libfilesystem VERSION 1.72.0)
-mason_use(boost_libsystem VERSION 1.72.0)
-mason_use(boost VERSION 1.72.0 HEADER_ONLY)
-include_directories(SYSTEM ${MASON_PACKAGE_boost_INCLUDE_DIRS})
-mason_packages/headers/rapidjson/$(RAPIDJSON_VERSION)/include:
- ./mason.sh install --header-only rapidjson $(RAPIDJSON_VERSION)
-
-mason_use(rapidjson VERSION 1.1.0 HEADER_ONLY)
-include_directories(SYSTEM ${MASON_PACKAGE_rapidjson_INCLUDE_DIRS})
+find_package(Boost 1.69 REQUIRED COMPONENTS filesystem system)
+include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
-mason_packages/headers/geometry/$(GEOMETRY_VERSION)/include:
- ./mason.sh install --header-only geometry $(GEOMETRY_VERSION)
-
-deps: mason_packages/headers/boost/$(BOOST_VERSION)/include mason_packages/headers/rapidjson/$(RAPIDJSON_VERSION)/include mason_packages/headers/geometry/$(GEOMETRY_VERSION)/include
-
-build-test: tests/* include/mapbox/geometry/* deps Makefile
+build-test: tests/* include/mapbox/geometry/* Makefile
$(CXX) $(RELEASE_FLAGS) tests/test.cpp tests/unit/*.cpp $(WARNING_FLAGS) $(CXXFLAGS) -isystem ./tests -o test
-mason_use(geometry VERSION 1.0.0 HEADER_ONLY)
-include_directories(SYSTEM ${MASON_PACKAGE_geometry_INCLUDE_DIRS})
+find_package(RapidJSON)
-mason_use(catch VERSION 1.9.6 HEADER_ONLY)
-include_directories(SYSTEM ${MASON_PACKAGE_catch_INCLUDE_DIRS})
+include_directories(SYSTEM /usr/include/catch)
include_directories("${PROJECT_SOURCE_DIR}/include")
-build-debug: tests/* include/mapbox/geometry/* deps Makefile
+build-debug: tests/* include/mapbox/geometry/* Makefile
$(CXX) $(DEBUG_FLAGS) tests/test.cpp tests/unit/*.cpp $(WARNING_FLAGS) $(CXXFLAGS) -isystem ./tests -o test
build-fixture-tester-r:

View file

@ -1,28 +1,23 @@
%global boost_version 1.69.0
%global boost_version 1.63.0
%global rapidjson_version 1.1.0
%global geometry_version 1.0.0
%global geometry_version 0.9.0
%global testcommit a623c19a91947a9d29f9ec5625ce620ab42325dc
%global debug_package %{nil}
Name: wagyu
Version: 0.5.0
Release: 14%{?dist}
Version: 0.4.2
Release: 3%{?dist}
Summary: A general library for geometry operations of union, intersections, difference, and xor
License: BSL-1.0 AND BSD-3-Clause
License: Boost
URL: https://github.com/mapbox/wagyu
Source0: https://github.com/mapbox/wagyu/archive/%{version}/%{name}-%{version}.tar.gz
Source1: https://github.com/mapnik/geometry-test-data/archive/%{testcommit}/geometry-test-data-%{testcommit}.tar.gz
# Remove benchmarking support to avoid libbenchmark dependency
Patch0: wagyu-benchmark.patch
# Rip out mason stuff - we use our own packages
Patch1: wagyu-mason.patch
# https://github.com/mapbox/wagyu/pull/109
Patch2: wagyu-cxx14.patch
Patch0: wagyu-mason.patch
BuildRequires: cmake make
BuildRequires: gcc-c++
BuildRequires: catch1-devel
BuildRequires: boost-devel >= %{boost_version}
@ -69,7 +64,6 @@ rm -f tests/catch.hpp
%build
%make_build release CXXFLAGS="-I$PWD/include %{optflags}" WERROR=False
%install
@ -78,7 +72,7 @@ cp -pr include/mapbox %{buildroot}%{_includedir}
%check
%make_build test CXXFLAGS="-I$PWD/include %{optflags}" WERROR=False
%make_build test CXXFLAGS="-I$PWD/include -I/usr/include/catch %{optflags}" RELEASE_FLAGS=""
%files devel
@ -88,69 +82,6 @@ cp -pr include/mapbox %{buildroot}%{_includedir}
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Mar 4 2020 Tom Hughes <tom@compton.nu> - 0.5.0-1
- Update to 0.5.0 upstream release
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 15 2018 Tom Hughes <tom@compton.nu> - 0.4.3-2
- Build using catch1
* Mon Nov 20 2017 Tom Hughes <tom@compton.nu> - 0.4.3-1
- Update to 0.4.3 upstream release
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild