This will silence the following warning:
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
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>
* 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 adeac82ec9 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>
* 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>
* 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.
* 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
* `#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`
* 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
* 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