Commit Graph

31 Commits

Author SHA1 Message Date
Randy
c17ea5dfef
OSS-Fuzz initial integration (#216)
* add fuzz target

* update fuzzer

* add fuzzer to build with basic entry point

* add build script

* cleanup

* build fuzz target using cmake in oss-fuzz env

* ossfuzz.sh add newline

* update build
2021-01-29 13:54:58 -05:00
Steven G. Johnson
0520d6f724 download test data to build directory (fixes #212) 2020-12-19 13:08:34 -05:00
Steven G. Johnson
28416640ed 2.6.1 version bump 2020-12-15 15:29:32 -05:00
Steven G. Johnson
cea3cd158f bump to version 2.6 2020-11-23 14:18:43 -05:00
xkszltl
08f9999a06
Switch to HTTPS for referencing www.unicode.org. (#193)
Resolve https://github.com/JuliaStrings/utf8proc/issues/192
2020-05-25 10:20:08 -04:00
Stefan Floeren
b5211c88af
Unify include file handling (#190)
The cmake file expects the parent folder to be named "utf8proc",
otherwise the target_include_directories won't work, as it references
an unknown path.

This deviates from the install targets (both cmake and makefile) in
putting the include file into a subfolder in contrast to the top level
folder. This also prevents using the library with the recent cmake
addition of FetchContent.

This change unifies the include file handling by using the local path
for cmake as well.

This might break existing uses. As a workaround, we could add a dummy
include file in the old location (new utf8proc subfolder). I'm not sure
if that is necessary.

Co-authored-by: Stefan Floeren <stefan-floeren@users.noreply.github.com>
2020-04-13 10:59:30 -04:00
Steven G. Johnson
11bb3d9dc7 fix grapheme test to work on unmodified data file 2020-03-29 08:53:11 -04:00
Andreas-Schniertshauer
98142acff9
Download data and execute commented out tests (#178)
* Add: tests to CMakeLists.txt

* Disable compilation of charwidth, graphemetest and normtest because of missing getline

* Refactoring: UTF8PROC_ENABLE_TESTING default Off, move tests that don't compile on windows to NOT MSVC section, add testing to appveyor.yml

* Add: testing to travis

* Changed: flag to WIN32 because MinGW has the same problem as MSVC

* Commented out graphemetest and normtest because they fail.

* Re-added: graphemetest and normtest added missing data to the path of the text files.

* Fix: last commit was party wrong normtest failed.

* * Commented out graphemetest and normtest because they fail, because in CMakeLists is missing building of data.

* Add: mingw_static, mingw_shared, msvc_shared, msvc_static to ignore list

* Add: downloading data and executing enabled tests that depend on the downloaded data.

* Fix: windows line endings CRLF replaced with linux LF

* Refactoring: (major) set UNICODE_VERSION to 13.0.0, replace curl with file DOWNLOAD, removed downloading unnecessary files, enabled normtest.

* Fix: woodhead error in revision adeac82ec9941667e3c3ad7f50769793547218c3 readded calling execute_process to strip GraphemeBreakTest.txt file

* Add: removing no more used file data/GraphemeBreakTestOrg.txt after stripping.

* Add: testing folder to ignore list

* Add: enabled graphemetest

* Update .gitignore

Co-authored-by: Andreas-Schniertshauer <Andreas-Schniertshauer@users.noreply.github.com>
Co-authored-by: Steven G. Johnson <stevenj@mit.edu>
2020-03-28 17:16:35 -04:00
Andreas-Schniertshauer
864f7f7b46
Tests with prefix utf8proc. (#177)
* Add: tests to CMakeLists.txt

* Disable compilation of charwidth, graphemetest and normtest because of missing getline

* Refactoring: UTF8PROC_ENABLE_TESTING default Off, move tests that don't compile on windows to NOT MSVC section, add testing to appveyor.yml

* Add: testing to travis

* Changed: flag to WIN32 because MinGW has the same problem as MSVC

* Commented out graphemetest and normtest because they fail.

* Re-added: graphemetest and normtest added missing data to the path of the text files.

* Fix: last commit was party wrong normtest failed.

* * Commented out graphemetest and normtest because they fail, because in CMakeLists is missing building of data.

* Add: mingw_static, mingw_shared, msvc_shared, msvc_static to ignore list

* Add: prefix utf8proc. to tests

* Add: prefix utf8proc. to tests

Co-authored-by: Andreas-Schniertshauer <Andreas-Schniertshauer@users.noreply.github.com>
Co-authored-by: Steven G. Johnson <stevenj@mit.edu>
2020-03-28 10:31:27 -04:00
Steven G. Johnson
6fff5f32bb
compile more tests on Windows (#183)
* compile more tests on Windows

* still disable charwidth tests

* silence warnings on MSVC about sscanf

* whoops

* silence warning
2020-03-28 10:00:18 -04:00
Steven G. Johnson
2bb7d884b5 version bump to 2.5 2020-03-27 17:22:21 -04:00
Andreas-Schniertshauer
47edf655b3
Add: tests to CMakeLists.txt (#173)
* Add: tests to CMakeLists.txt

* Disable compilation of charwidth, graphemetest and normtest because of missing getline

* Refactoring: UTF8PROC_ENABLE_TESTING default Off, move tests that don't compile on windows to NOT MSVC section, add testing to appveyor.yml

* Add: testing to travis

* Changed: flag to WIN32 because MinGW has the same problem as MSVC

* Commented out graphemetest and normtest because they fail.

* Re-added: graphemetest and normtest added missing data to the path of the text files.

* Fix: last commit was party wrong normtest failed.

* * Commented out graphemetest and normtest because they fail, because in CMakeLists is missing building of data.
2020-02-19 14:25:19 -05:00
Steven G. Johnson
5c632c5742 NEWS for 2.4, updated version numbers (which I forgot in 2.3, grrr) 2019-05-10 21:24:14 -04:00
past-due
416749803b [CMake] Add UTF8PROC_NO_INSTALL option (#152)
* [CMake] Add UTF8PROC_NO_INSTALL option

* change to UTF8PROC_INSTALL
2019-04-17 14:49:04 -04:00
Steven G. Johnson
5ae11afe8f
rebased cmake updates (#147)
* Use a target property instead of CMAKE_C_FLAGS

It is a global property, which is not great when importing utf8proc in other CMake projects.

* Use target properties instead of add_definitions

It modifies builds settings globally, which is not great when using
the library as part of a bigger CMake build

* Expose header search path with target_include_directories

This makes it possible to use utf8proc in a larger CMake based project
with

add_subdirectory(utf8proc)
target_link_libraries(my_app utf8proc)

* more rebase fixes
2019-03-30 13:37:34 -04:00
Nehal J Wani
0975bf9b6d Enhance CMakeLists.txt (#138)
* Change name of static library if building with msvc

* Add install target for cmake
2018-06-06 16:16:07 +02:00
Steven G. Johnson
8639450134 NEWS for upcoming 2.2 release, version bump 2018-05-02 08:23:40 -04:00
past-due
48949bd3eb Static library support improvements (#123)
* `#define UTF8PROC_STATIC` to disable DLLEXPORT

`#define UTF8PROC_STATIC` to disable DLLEXPORT

* [CMake] Automatically define UTF8PROC_STATIC if BUILD_SHARED_LIBS is off

* [Makefile] Support additional UTF8PROC_DEFINES, which can be used to specify flags like `-DUTF8PROC_STATIC`
2018-04-29 21:37:12 -04:00
past-due
fe3f6bda11 [CMake] Use target_compile_definitions to avoid affecting global definitions (#121) 2018-04-27 12:55:53 -04:00
Steven G. Johnson
d688ac1226
version bump to 2.1.1 (#131) 2018-04-27 09:58:34 -04:00
Steven G. Johnson
b4621f43c3 new utf8proc_map_custom for hooking in user-defined custom mappings (#89)
* new utf8proc_map_custom for hooking in user-defined custom mappings

* whoops, add test program

* NEWS, version bump for 2.1

* change test functions to static so that gcc doesn't complain about missing prototypes
2016-11-30 10:40:26 -05:00
Tony Kelman
8e3174f334 NEWS and version numbers for 2.0.2 (#81)
* Add NEWS.md items for #79 and #80

* Prepare version numbers for 2.0.2

* Also update API version to 2.0.2
2016-07-27 07:58:49 -04:00
Steven G. Johnson
f0bf106569 NEWS and version bump for 2.0.1 release, to come out shortly 2016-07-13 12:39:05 -04:00
Steven G. Johnson
cb2a3e464d the ABI version was already bumped in #62, does not need to be bumped again in #70 2016-07-13 11:00:17 -04:00
Keno Fischer
41c6b23aab Unicode 9 updates (#70)
* Updates for Unicode 9.0.0 TR29 Changes

- New rules GB10/(12/13) are used to combine emoji-zwj sequences/
  (force grapheme breaks every two RI codepoints). Unfortunately this
  breaks statelessness of grapheme-boundary determination. Deal with
  this by ignoring the problem in utf8proc_grapheme_break, and by
  hacking in a special case in decompose

- ZWJ moved to its own boundclass, update what is now GB9 accordingly.

- Add comments to indicate which rule a given case implements

- The Number of bound classes Now exceeds 4 bits, expand to 8 and
  reorganize fields

* Import Unicode 9 data

* Update Grapheme break API to expose state override

* Bump MAJOR version
2016-06-28 16:04:25 -04:00
Michaël Meyer
1f17487aa9 Fix overrun 2016-02-04 04:06:28 +01:00
Michaël Meyer
ee3c20e46b Bump version number. 2015-12-09 23:35:45 +01:00
Peter Colberg
44b1784de7 Increment patch version 2015-10-31 20:51:26 -04:00
Steven G. Johnson
d75985cf09 bump API/ABI version to 1.3, add NEWS 2015-05-29 23:07:29 -04:00
Tony Kelman
263421f9e8 Temporary fix for getting VERSION and SOVERSION into cmake
only use ${SO_MAJOR} for cmake SOVERSION

use 1.2.0 for version in cmake

use only abi version for VERSION property in cmake
2015-03-09 16:27:40 -07:00
Tony Kelman
a8b688c734 Minimal cmake build script
move flags for MSVC

rename lump.txt to lump.md, add data/*.txt to .gitignore
2015-03-08 17:30:09 -07:00