Commit graph

3858 commits

Author SHA1 Message Date
Artem Pavlenko
5347a1d939 format identation 2022-11-21 19:08:05 +00:00
Artem Pavlenko
d4ae5ac653 SVG group renderer implementation (WIP) [skip ci] 2022-11-18 15:17:58 +00:00
Artem Pavlenko
a65d65a5ab Update .clang-format to BraceWrapping: BeforeCatch : true
run `pre-commit`
2022-11-10 15:57:38 +00:00
Artem Pavlenko
bd018ef5ab git-clang-format 2022-11-03 11:29:50 +00:00
Artem Pavlenko
fa9ee1fc61 Issue warning not an error when font face not found (ref #4354) 2022-10-18 13:56:05 +01:00
Mathis Logemann
e6553ef652 simplify cmake 2022-08-18 20:38:21 +02:00
Mathis Logemann
eb3823aa4a precommit 2022-08-17 17:35:25 +02:00
Mathis Logemann
213be3777c Merge branch 'master' of https://github.com/mapnik/mapnik into feature/cmake-static 2022-08-17 17:34:52 +02:00
Mathis Logemann
2b7456f54b Revert "precommit"
This reverts commit f48589738f.
2022-08-17 17:22:07 +02:00
Mathis Logemann
f48589738f precommit 2022-08-17 17:19:59 +02:00
Mathis Logemann
eb16e7a647 fix all files
format files
2022-08-14 22:26:31 +02:00
Artem Pavlenko
a9c98dff5d Fix deprecation warning (libtiff)
/usr/include/x86_64-linux-gnu/tiff.h:81:45: note: 'uint16' has been explicitly marked deprecated here
typedef TIFF_MSC_DEPRECATED uint16_t uint16 TIFF_GCC_DEPRECATED;
2022-08-04 11:01:56 +01:00
Mathis Logemann
c85f8462fd [CMake] fixes for windows (WIP) 2022-04-22 15:10:49 +02:00
Mathis Logemann
503fe35817 Merge branch 'master' of https://github.com/mapnik/mapnik into feature/cmake-static 2022-04-16 11:21:05 +02:00
Johannes Schauer Marin Rodrigues
01e018eb0a
src/proj_transform.cpp: only use proj_context_errno_string for proj >= 8.0.0 2022-04-14 11:52:25 +02:00
Johannes Schauer Marin Rodrigues
4f72043bcd
src/proj_transform.cpp: improve error handling of proj_transform()
- set proj log level to PJ_LOG_ERROR
 - let error message indicate whether proj_create_crs_to_crs or
   proj_normalize_for_visualization failed
 - output proj_context_errno_string when an error is thrown
2022-04-10 11:55:04 +02:00
Mathis Logemann
2b8eec969b PluginInfo: remove static init and exit methods
those aren't used.
2022-03-15 21:12:43 +01:00
Mathis Logemann
5ee7571761 add dlerror for plugin loading 2022-03-15 21:12:43 +01:00
Mathis Logemann
4493a06878 call mapnik::setup automatically 2022-03-15 21:12:43 +01:00
Artem Pavlenko
2d03db8ef1 Fix scons build 2022-02-15 15:40:16 +00:00
Mathis Logemann
45568e8895 [datasource] call after_load for static plugins 2022-02-14 17:34:20 +01:00
Mathis Logemann
0f0e06c6b8 [datasource] add plugin_registered function 2022-02-14 10:14:59 +01:00
Mathis Logemann
6fcdccaf83 [CMake] fix rename MAPNIK_STATIC_PLUGINS => BUILD_SHARED_PLUGINS 2022-02-09 15:57:03 +01:00
Mathis Logemann
42f465f842 refactor datasource plugins
fix merge

remove old DATASOURCE_PLUGIN call

fix memory_datasource

wip

wip

fix temp return

fix install

wip before_unload

linux

remove docker

remove docker

comments

add windows error message if libmapnik=static and plugins=dynamic

fix false plugin macro

plugin default de/constructor to remove UB

simplyfy plugin targets - add fpic

fix makro

simplyfy

use unique_ptr for plugin handle

rename option static plugins

replace local init with fnc call

call setup everywhere

init datasource_static
2022-02-07 15:35:09 +01:00
Mathis Logemann
8a1f2579e9 Merge branch 'master' of https://github.com/mapnik/mapnik into feature/cmake-static 2022-02-02 17:15:55 +01:00
Mathis Logemann
2d846dd5f3 static plugins
wip static plugins

add remaining datasources

wip

formatting
2022-02-02 16:35:49 +01:00
Mathis Logemann
9bf8fcc823 fix color.cpp formatting 2022-01-28 10:37:38 +01:00
Mathis Logemann
779787f980 Merge branch 'master' of https://github.com/mapnik/mapnik into feature/clang-format 2022-01-28 10:31:55 +01:00
Mathis Logemann
3b1d09702c [unit-test] enable tiff test 2022-01-27 18:40:22 +01:00
Mathis Logemann
e7c3d04309 format dir include and src
format all files

Revert "format all files"

This reverts commit 95d5812e49e7f916b68e786596f5a8eb5bcac414.

Revert "format some files"

This reverts commit ed3c8762d4d828b2b28e7b18809fc33f4f8ccaf5.

format all files

fix formatting in dir include

fix formatting of debug macro
2022-01-27 00:12:08 +01:00
Artem Pavlenko
9e3bafcd4c
Merge pull request #4279 from mathisloge/fix/issue-4268
fix #4268 by adding mapped_memory_file
2022-01-25 08:54:50 +00:00
Mathis Logemann
a3ccf2967f [scons] add mapped_memory_file to source list 2022-01-24 21:21:45 +01:00
Mathis Logemann
fe887a2c83 fix #4268 by adding mapped_memory_file 2022-01-24 10:45:32 +01:00
Mathis Logemann
4f95463c75 remove make_unique 2022-01-19 12:42:52 +01:00
Mathis Logemann
f0940c2075 [CMake] move all build artifacts into same dir to remove the need of copy_dlls (except for plugins)
[CMake] improve BUILD_TESTING and use pkgconf for cairo on linux

[CMake] add Threads dependency to -Config
2021-11-15 00:40:47 +01:00
Mathis Logemann
e626ba2688 replace _WINDOWS with _WIN32 2021-10-21 18:22:53 +02:00
Mathis Logemann
aa903c675f [CMake] improve pkg-config export
add needed libs

pkg-conf: move libmapnikjson and libmapnikjson to m_requires

make pkg multi config aware

update proj min ver

correct prefix

use the correct output name

add import prefixes, just in case
2021-10-20 16:23:04 +02:00
Joshua Hintze
15798e6ebb -Fixed issue with VS2017 compiling 2021-10-15 19:31:45 -06:00
Mathis Logemann
6dee79f442 [CMake] mapnik::mapnik restructure. should give a better overview 2021-10-11 19:08:25 +02:00
Mathis Logemann
ac95449ff5 [CMake] fix critical webp init 2021-10-09 09:40:44 +02:00
Mathis Logemann
fa2fec338b [CMake] add import prefix for libmapnik
so that the resulting archive is also named libmapnik
2021-09-23 19:11:29 +02:00
Mathis Logemann
fcc7016124 add basic pkg-config exports 2021-09-23 18:46:48 +02:00
Mathis Logemann
a2d3364ec7 [CMake] add version and soversion to base libraries 2021-09-23 10:41:25 +02:00
Mathis Logemann
35ea6f2a56 [CMake] refactor mapnik_install 2021-09-22 19:52:39 +02:00
Mathis Logemann
25774ac82a [CMake] unify and simplify install commands.; Add Components to targets 2021-09-22 14:41:50 +02:00
Mathis Logemann
8bd463d4fc make mapnik::core a public dependency of mapnik::mapnik 2021-09-14 20:46:43 +02:00
Mathis Logemann
02180115bf some last minor improvements 2021-08-25 16:41:57 +02:00
Mathis Logemann
b925abf403 fix library name 2021-07-22 21:35:12 +02:00
Mathis Logemann
81397f84bc add debug postfix to wkt, json and mapnik.
Mapnik can be installed with multi configuration enviroment
2021-07-22 20:34:08 +02:00
Mathis Logemann
7f2511632f add packaging 2021-07-02 22:26:36 +02:00
Mathis Logemann
d610671327 try install json and wkt again 2021-07-02 16:02:30 +02:00
Mathis Logemann
4879efce58 Merge branch 'master' of https://github.com/mapnik/mapnik into cmake-support 2021-04-22 19:41:35 +02:00
Artem Pavlenko
88a15daf93 Fix parse_svg_value 2021-04-22 11:36:10 +01:00
Artem Pavlenko
a1cb756fa0 SVG parse_svg_value: update is_percent only if parsing successful 2021-04-19 18:02:24 +01:00
Artem Pavlenko
3031b7cf6a SVG parse_svg_value/parse_font_size: re-initialise default val on parser failure 2021-04-19 08:55:39 +01:00
Artem Pavlenko
7c5f4539e1 Fix error message + update SVG parser unit test 2021-04-15 16:29:05 +01:00
Artem Pavlenko
654a3c1f9f SVG : refactor and simplify width/height+viewBox logic (https://www.w3.org/TR/SVG11/struct.html#SVGElement) + check font_sizes_ size before accesing last element 2021-04-15 15:38:59 +01:00
Artem Pavlenko
0feabeb7e8 SVG circle: ignore when r = 0 2021-04-13 13:48:05 +01:00
Artem Pavlenko
f293371a9d SVG rendering improvements:
* process `font-size` attributes and use them to scale `em` units
* fix default `color-stop` value
* store `viewBox` and use it to calculate `%` values correctly
* add more absolute/relative values
* default `DPI`:96
* default `font-size`: 10
* process style attributes on `<svg>` element
* use viewBox `width`, `height` and `normalized_diagonal` for relevant length values
* apply scale factor to gradient transforms
2021-04-13 09:19:33 +01:00
Mathis Logemann
e1fa32f21f install dependencies. Required for windows (and ?macos?). Needs testing on linux. 2021-04-10 14:36:22 +02:00
Mathis Logemann
9049a7e58d Merge branch 'master' of https://github.com/mapnik/mapnik into cmake-support 2021-04-06 17:27:28 +02:00
Artem Pavlenko
b974a4a683 Simplify proj_transform_cache implementation (ref https://github.com/mapnik/mapnik/pull/4191#issuecomment-813377082) 2021-04-06 10:30:12 +01:00
Mathis Logemann
ee90425de1 fixes proj_transform_cache incomplete type for gcc 2021-04-01 17:57:20 +02:00
Mathis Logemann
b1e1ea66f5 try fix linux take II 2021-04-01 16:03:58 +02:00
Mathis Logemann
7121bd6fbf Revert "hopefully fix unstatisfied proj_transform_cache"
This reverts commit d2066da339.
2021-04-01 15:55:57 +02:00
Mathis Logemann
d2066da339 hopefully fix unstatisfied proj_transform_cache 2021-03-31 20:25:46 +02:00
Mathis Logemann
c29c84327a add proj_transform_cache to source list 2021-03-25 13:34:25 +01:00
Mathis Logemann
f8b159f8ff Merge branch 'proj6' of https://github.com/mapnik/mapnik into cmake-support 2021-03-25 13:26:30 +01:00
Artem Pavlenko
503b9c5bbf Move proj_transform_cache declarations and implementaion into separate translation unit (ref VC++ C2492) 2021-03-25 12:16:15 +00:00
Mathis Logemann
4eed15f87a Merge branch 'proj6' of https://github.com/mapnik/mapnik into cmake-support 2021-03-24 23:30:50 +01:00
Artem Pavlenko
3a302667a1 Fix return value (MAPNIK_WEBMERCATOR_PROJ is not geographic SRS) 2021-03-24 09:42:52 +00:00
Artem Pavlenko
6b9b42f314 Declare proj_cache_ thread_local static to allow mapnik::Map to be thread-safe under certain conditions + refactor
(benchmark/src/test_rendering_shared_map.cpp)
2021-03-18 16:05:58 +00:00
Mathis Logemann
36be4fe594 renamed target mapnik::headers to mapnik::core 2021-03-18 15:35:55 +01:00
Artem Pavlenko
6099804559 Use POSIX definition of pi constant (M_PI) + define tau in terms of pi + better namings + remove deprecated proj4 style definitions 2021-03-15 18:06:26 +00:00
Mathis Logemann
79d369db1f Merge branch 'master' of https://github.com/mapnik/mapnik into cmake-support 2021-03-15 08:52:15 +01:00
Artem Pavlenko
977c65e9de Fix proj_transform order in Map::query_point 2021-03-09 11:33:21 +00:00
Artem Pavlenko
7cbbd7305b Map::mapnik - restore non-const access to layers + create proj_transform and cache in get_proj_transform + declare proj_cache_ mutable 2021-03-09 10:48:32 +00:00
Artem Pavlenko
b532beccde mapnik::Map ctor/operator= - initialise proj transforms 2021-03-04 10:19:44 +00:00
Artem Pavlenko
b75737fd6a Implement proj_transform caching using boost::unordered_map which allows calling find method with compatible key type.
In this case `std::pair<boost::string_view, boost::string_view>` avoiding potentially expensive temp string keys.
(TODO: In the future use c++20 `std::unordered_map::find` transparent keys facility)
2021-03-03 15:01:58 +00:00
Artem Pavlenko
11ff758c38 Add proj_transform::definition() method 2021-03-02 17:07:13 +00:00
Artem Pavlenko
a149ebed16 use std::size_t consistently (proj API) 2021-03-02 16:39:32 +00:00
Artem Pavlenko
cb75f00780 Move proj_transform initialisation to add_layer method 2021-02-25 11:05:11 +00:00
Mathis Logemann
dec9056511 remove unnecessary cmake_minimum_required from sub projects 2021-02-03 19:14:08 +01:00
Artem Pavlenko
5c086b0cd5 Add proj_transform caching to minimise expensive initialisations calls in libproj >= 6 [WIP] 2021-01-27 09:40:28 +00:00
Mathis Logemann
953796645f enable position independent code for wkt and json 2021-01-24 19:35:21 +01:00
Artem Pavlenko
db9829d702 Fix missing proj context and cleanup/simplify proj_transform 2021-01-22 15:23:11 +00:00
Artem Pavlenko
6cc353f8a2 Use 'proj_backward_strategy' and avoid creating an extra proj_transform 2021-01-22 15:22:18 +00:00
Artem Pavlenko
ff14ad3425 Link to libsqlite3 when required 2021-01-21 12:47:41 +00:00
Artem Pavlenko
19511463ab Include <cmath> for HUGE_VAL 2021-01-21 12:46:57 +00:00
Artem Pavlenko
88241b32ee Initial implementation of new proj7 APIs support 2021-01-15 15:21:09 +00:00
Artem Pavlenko
bd961c4da2 update copyright year [skip ci] 2021-01-05 14:39:07 +00:00
Mathis Logemann
f432018bdb added cache variable for lib/bin/archive output 2020-11-25 12:16:06 +01:00
Mathis Logemann
45fd654898 added MAPNIK_DECL to interior and polylabel explicit template 2020-11-21 18:19:58 +01:00
Mathis Logemann
99d8c3e503 fix cmake typo 2020-11-21 18:04:24 +01:00
Mathis Logemann
695ad02cb2 fix svg renderer 2020-11-21 18:01:48 +01:00
Mathis Logemann
0eb0408cc3 add options for grid/svg renderer 2020-11-21 17:03:30 +01:00
Mathis Logemann
3eb00b9794 use feature test for <execution> 2020-11-21 15:41:03 +01:00
Mathis Logemann
096befe69e try with c++14 2020-11-21 15:34:13 +01:00
Mathis Logemann
744aa2a76a do not compile features.... 2020-11-21 15:02:07 +01:00
Mathis Logemann
9213f76d49 do not compile features if they are not set 2020-11-21 14:54:26 +01:00