Merge pull request #28 from tkelman/tk/cmake
WIP: Minimal cmake build script
This commit is contained in:
commit
08f101a9e8
2
.gitignore
vendored
2
.gitignore
vendored
@ -8,8 +8,8 @@
|
||||
*.dll
|
||||
*.dylib
|
||||
*.dSYM
|
||||
*.txt
|
||||
*.out
|
||||
data/*.txt
|
||||
bench/bench
|
||||
bench/icu
|
||||
bench/unistring
|
||||
|
||||
@ -8,3 +8,11 @@ script:
|
||||
- make prefix=`pwd`/local install
|
||||
- make check
|
||||
- make utf8proc_data.c.new && (diff utf8proc_data.c.new utf8proc_data.c > /dev/null)
|
||||
- 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
|
||||
|
||||
31
CMakeLists.txt
Normal file
31
CMakeLists.txt
Normal file
@ -0,0 +1,31 @@
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
|
||||
include (utils.cmake)
|
||||
|
||||
disallow_intree_builds()
|
||||
|
||||
project (utf8proc C)
|
||||
|
||||
# Be sure to also update these in Makefile!
|
||||
set(SO_MAJOR 1)
|
||||
set(SO_MINOR 2)
|
||||
set(SO_PATCH 0)
|
||||
|
||||
add_definitions (
|
||||
-DUTF8PROC_EXPORTS
|
||||
)
|
||||
|
||||
if (NOT MSVC)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -std=c99 -pedantic -Wall")
|
||||
endif ()
|
||||
|
||||
add_library (utf8proc
|
||||
utf8proc.c
|
||||
utf8proc.h
|
||||
)
|
||||
|
||||
set_target_properties (utf8proc PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}"
|
||||
SOVERSION ${SO_MAJOR}
|
||||
)
|
||||
1
Makefile
1
Makefile
@ -16,6 +16,7 @@ cc = $(CC) $(cflags)
|
||||
# from the utf8proc version number because it indicates ABI compatibility,
|
||||
# not API compatibility: MAJOR should be incremented whenever *binary*
|
||||
# compatibility is broken, even if the API is backward-compatible
|
||||
# Be sure to also update these in CMakeLists.txt!
|
||||
MAJOR=1
|
||||
MINOR=2
|
||||
PATCH=0
|
||||
|
||||
2
NEWS.md
2
NEWS.md
@ -105,7 +105,7 @@ Release of version 1.0.1
|
||||
|
||||
2006-09-17:
|
||||
|
||||
- added the `LUMP` option, which lumps certain characters together (see `lump.txt`) (also used for the PostgreSQL `unifold` function)
|
||||
- added the `LUMP` option, which lumps certain characters together (see `lump.md`) (also used for the PostgreSQL `unifold` function)
|
||||
- added the `STRIPMARK` option, which strips marking characters (or marks of composed characters)
|
||||
- deprecated ruby method `String#char_ary` in favour of `String#utf8chars`
|
||||
|
||||
|
||||
35
appveyor.yml
Normal file
35
appveyor.yml
Normal file
@ -0,0 +1,35 @@
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
notifications:
|
||||
- provider: Email
|
||||
on_build_success: false
|
||||
on_build_failure: false
|
||||
on_build_status_changed: false
|
||||
|
||||
build_script:
|
||||
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
|
||||
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
|
||||
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
|
||||
throw "There are newer queued builds for this pull request, failing early." }
|
||||
- mkdir msvc_static
|
||||
- cd msvc_static
|
||||
- cmake ..
|
||||
- cmake --build .
|
||||
- mkdir ..\msvc_shared
|
||||
- cd ..\msvc_shared
|
||||
- cmake .. -DBUILD_SHARED_LIBS=ON
|
||||
- cmake --build .
|
||||
- C:\MinGW\msys\1.0\bin\sh --login -c "
|
||||
echo 'C:\MinGW\ /MinGW' > /etc/fstab;
|
||||
cd /c/projects/utf8proc;
|
||||
mkdir mingw_static;
|
||||
cd mingw_static;
|
||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -G'MSYS Makefiles';
|
||||
make;
|
||||
mkdir ../mingw_shared;
|
||||
cd ../mingw_shared;
|
||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -G'MSYS Makefiles';
|
||||
make
|
||||
"
|
||||
@ -1,3 +1,4 @@
|
||||
```
|
||||
U+0020 <-- all space characters (general category Zs)
|
||||
U+0027 ' <-- left/right single quotation mark U+2018..2019,
|
||||
modifier letter apostrophe U+02BC,
|
||||
@ -23,4 +24,4 @@ U+005F _ <-- all connector characters (general category Pc),
|
||||
U+0060 ` <-- modifier letter grave accent U+02CB
|
||||
U+007C | <-- divides U+2223
|
||||
U+007E ~ <-- tilde operator U+223C
|
||||
|
||||
```
|
||||
@ -140,7 +140,7 @@ extern "C" {
|
||||
* is representing a single grapheme cluster (see UAX#29).
|
||||
* LUMP: Lumps certain characters together
|
||||
* (e.g. HYPHEN U+2010 and MINUS U+2212 to ASCII "-").
|
||||
* (See lump.txt for details.)
|
||||
* (See lump.md for details.)
|
||||
* If NLF2LF is set, this includes a transformation of
|
||||
* paragraph and line separators to ASCII line-feed (LF).
|
||||
* STRIPMARK: Strips all character markings
|
||||
|
||||
20
utils.cmake
Normal file
20
utils.cmake
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
function (disallow_intree_builds)
|
||||
# Adapted from LLVM's toplevel CMakeLists.txt file
|
||||
if( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE )
|
||||
message(FATAL_ERROR "
|
||||
In-source builds are not allowed. CMake would overwrite the
|
||||
makefiles distributed with utf8proc. Please create a directory
|
||||
and run cmake from there. Building in a subdirectory is
|
||||
fine, e.g.:
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
|
||||
This process created the file `CMakeCache.txt' and the
|
||||
directory `CMakeFiles'. Please delete them.
|
||||
|
||||
")
|
||||
endif()
|
||||
endfunction()
|
||||
Loading…
Reference in New Issue
Block a user