-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
utf8proc: Update subtree to JuliaStrings/utf8proc 462093b
- Loading branch information
Showing
36 changed files
with
18,329 additions
and
16,576 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: CIFuzz | ||
on: [pull_request] | ||
jobs: | ||
Fuzzing: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Build Fuzzers | ||
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master | ||
with: | ||
oss-fuzz-project-name: 'utf8proc' | ||
dry-run: false | ||
- name: Run Fuzzers | ||
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master | ||
with: | ||
oss-fuzz-project-name: 'utf8proc' | ||
fuzz-seconds: 600 | ||
dry-run: false | ||
- name: Upload Crash | ||
uses: actions/upload-artifact@v1 | ||
if: failure() | ||
with: | ||
name: artifacts | ||
path: ./out/artifacts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,15 @@ | ||
language: c | ||
compiler: | ||
- gcc | ||
- clang | ||
language: julia | ||
julia: | ||
- 1.1 | ||
notifications: | ||
email: false | ||
before_install: | ||
- sudo add-apt-repository ppa:staticfloat/julia-deps -y | ||
- sudo add-apt-repository ppa:staticfloat/juliareleases -y | ||
- sudo apt-get update -qq -y | ||
- sudo apt-get install libpcre3-dev julia fontforge -y | ||
include: | ||
- language: julia | ||
julia: 1.1 | ||
script: | ||
- make manifest && diff MANIFEST.new MANIFEST | ||
- make check | ||
- make data && diff data/utf8proc_data.c.new utf8proc_data.c | ||
- make clean && git status --ignored --porcelain && test -z "$(git status --ignored --porcelain)" | ||
- (mkdir build_static && cd build_static && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON && make) | ||
- (mkdir build_shared && cd build_shared && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON && make) | ||
env: | ||
# use JuliaLang caching (https://github.com/staticfloat/cache.julialang.org) | ||
# so that Travis builds do not depend on anyone's flaky servers but our own | ||
- URLCACHE=https://cache.e.ip.saba.us/ | ||
- (mkdir build_static && cd build_static && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DUTF8PROC_ENABLE_TESTING=On && make && ctest) | ||
- (mkdir build_shared && cd build_shared && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On && make && ctest) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,112 @@ | ||
cmake_minimum_required (VERSION 2.8) | ||
cmake_minimum_required (VERSION 2.8.12) | ||
|
||
include (utils.cmake) | ||
|
||
disallow_intree_builds() | ||
|
||
project (utf8proc C) | ||
|
||
# Be sure to also update these in Makefile! | ||
# This is the ABI version number, which may differ from the | ||
# API version number (defined in utf8proc.h). | ||
# Be sure to also update these in Makefile and MANIFEST! | ||
set(SO_MAJOR 2) | ||
set(SO_MINOR 0) | ||
set(SO_PATCH 0) | ||
set(SO_MINOR 4) | ||
set(SO_PATCH 1) | ||
|
||
add_definitions ( | ||
-DUTF8PROC_EXPORTS | ||
) | ||
|
||
if (NOT MSVC) | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -std=c99 -pedantic -Wall") | ||
endif () | ||
option(UTF8PROC_INSTALL "Enable installation of utf8proc" On) | ||
option(UTF8PROC_ENABLE_TESTING "Enable testing of utf8proc" Off) | ||
option(LIB_FUZZING_ENGINE "Fuzzing engine to link against" Off) | ||
|
||
add_library (utf8proc | ||
utf8proc.c | ||
utf8proc.h | ||
) | ||
|
||
# expose header path, for when this is part of a larger cmake project | ||
target_include_directories(utf8proc PUBLIC .) | ||
|
||
if (BUILD_SHARED_LIBS) | ||
# Building shared library | ||
else() | ||
# Building static library | ||
target_compile_definitions(utf8proc PUBLIC "UTF8PROC_STATIC") | ||
if (MSVC) | ||
set_target_properties(utf8proc PROPERTIES OUTPUT_NAME "utf8proc_static") | ||
endif() | ||
endif() | ||
|
||
target_compile_definitions(utf8proc PRIVATE "UTF8PROC_EXPORTS") | ||
|
||
if (NOT MSVC) | ||
set_target_properties( | ||
utf8proc PROPERTIES | ||
COMPILE_FLAGS "-O2 -std=c99 -pedantic -Wall" | ||
) | ||
endif () | ||
|
||
set_target_properties (utf8proc PROPERTIES | ||
POSITION_INDEPENDENT_CODE ON | ||
VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}" | ||
SOVERSION ${SO_MAJOR} | ||
) | ||
|
||
if (UTF8PROC_INSTALL) | ||
include(GNUInstallDirs) | ||
mark_as_advanced(CLEAR CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_INCLUDEDIR) | ||
install(TARGETS utf8proc | ||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} | ||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${INSTALL_SUFFIX} | ||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${INSTALL_SUFFIX}) | ||
|
||
install( | ||
FILES | ||
"${PROJECT_SOURCE_DIR}/utf8proc.h" | ||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX}) | ||
endif() | ||
|
||
if(UTF8PROC_ENABLE_TESTING) | ||
enable_testing() | ||
file(MAKE_DIRECTORY data) | ||
set(UNICODE_VERSION 13.0.0) | ||
file(DOWNLOAD https://www.unicode.org/Public/${UNICODE_VERSION}/ucd/NormalizationTest.txt ${CMAKE_BINARY_DIR}/data/NormalizationTest.txt SHOW_PROGRESS) | ||
file(DOWNLOAD https://www.unicode.org/Public/${UNICODE_VERSION}/ucd/auxiliary/GraphemeBreakTest.txt ${CMAKE_BINARY_DIR}/data/GraphemeBreakTest.txt SHOW_PROGRESS) | ||
add_executable(case test/tests.h test/tests.c utf8proc.h test/case.c) | ||
target_link_libraries(case utf8proc) | ||
add_executable(custom test/tests.h test/tests.c utf8proc.h test/custom.c) | ||
target_link_libraries(custom utf8proc) | ||
add_executable(iterate test/tests.h test/tests.c utf8proc.h test/iterate.c) | ||
target_link_libraries(iterate utf8proc) | ||
add_executable(misc test/tests.h test/tests.c utf8proc.h test/misc.c) | ||
target_link_libraries(misc utf8proc) | ||
add_executable(printproperty test/tests.h test/tests.c utf8proc.h test/printproperty.c) | ||
target_link_libraries(printproperty utf8proc) | ||
add_executable(valid test/tests.h test/tests.c utf8proc.h test/valid.c) | ||
target_link_libraries(valid utf8proc) | ||
add_test(utf8proc.testcase case) | ||
add_test(utf8proc.testcustom custom) | ||
add_test(utf8proc.testiterate iterate) | ||
add_test(utf8proc.testmisc misc) | ||
add_test(utf8proc.testprintproperty printproperty) | ||
add_test(utf8proc.testvalid valid) | ||
|
||
if (NOT WIN32) | ||
# no wcwidth function on Windows | ||
add_executable(charwidth test/tests.h test/tests.c utf8proc.h test/charwidth.c) | ||
target_link_libraries(charwidth utf8proc) | ||
add_test(utf8proc.testcharwidth charwidth) | ||
endif() | ||
add_executable(graphemetest test/tests.h test/tests.c utf8proc.h test/graphemetest.c) | ||
target_link_libraries(graphemetest utf8proc) | ||
add_executable(normtest test/tests.h test/tests.c utf8proc.h test/normtest.c) | ||
target_link_libraries(normtest utf8proc) | ||
add_test(utf8proc.testgraphemetest graphemetest data/GraphemeBreakTest.txt) | ||
add_test(utf8proc.testnormtest normtest data/NormalizationTest.txt) | ||
|
||
if(LIB_FUZZING_ENGINE) | ||
add_executable(fuzzer utf8proc.h test/fuzzer.c) | ||
target_link_libraries(fuzzer ${LIB_FUZZING_ENGINE} utf8proc) | ||
else() | ||
add_executable(fuzzer utf8proc.h test/fuzz_main.c test/fuzzer.c) | ||
target_link_libraries(fuzzer utf8proc) | ||
endif() | ||
endif() |
Oops, something went wrong.