]> granicus.if.org Git - onig/blobdiff - CMakeLists.txt
fix by definition of ONIGURUMA_EXPORT in regposerr.c for Windows
[onig] / CMakeLists.txt
index b7ef62e125184da6c8975792eae8a3e7304b360d..613cd9c3db52cb5993bf9c1cbaecaff140465d35 100644 (file)
@@ -4,14 +4,27 @@ cmake_minimum_required(VERSION 2.8)
 project(oniguruma C)
 
 set(PACKAGE onig)
-set(PACKAGE_VERSION "5.9.6")
+set(PACKAGE_VERSION "6.6.0")
 
 set(USE_COMBINATION_EXPLOSION_CHECK 0)
 set(USE_CRNL_AS_LINE_TERMINATOR 0)
 set(VERSION ${PACKAGE_VERSION})
 
-include(cmake/dist.cmake)
+if(MSVC)
+  # Force to always compile with W4
+  if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
+    string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+  else()
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
+  endif()
+elseif(CMAKE_COMPILER_IS_GNUCXX)
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+elseif(CMAKE_COMPILER_IS_GNUCC)
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+endif()
+
 
+include(cmake/dist.cmake)
 include(CheckCSourceCompiles)
 include(CheckIncludeFiles)
 include(CheckFunctionExists)
@@ -27,39 +40,49 @@ check_include_files(stdint.h    HAVE_STDINT_H)
 check_include_files(stdlib.h    HAVE_STDLIB_H)
 check_include_files(strings.h   HAVE_STRINGS_H)
 check_include_files(string.h    HAVE_STRING_H)
+check_include_files(limits.h    HAVE_LIMITS_H)
 check_include_files(sys/times.h HAVE_SYS_TIMES_H)
 check_include_files(sys/time.h  HAVE_SYS_TIME_H)
 check_include_files(sys/types.h HAVE_SYS_TYPES_H)
 check_include_files(unistd.h    HAVE_UNISTD_H)
+check_include_files(inttypes.h  HAVE_INTTYPES_H)
 check_type_size(int SIZEOF_INT)
 check_type_size(long SIZEOF_LONG)
 check_type_size(short SIZEOF_SHORT)
 check_include_files("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS)
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/oniguruma.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/oniguruma.pc @ONLY)
 
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 
-set(_SRCS regint.h regparse.h regenc.h st.h
- regerror.c regparse.c regext.c regcomp.c regexec.c reggnu.c
- regenc.c regsyntax.c regtrav.c regversion.c st.c
- regposix.c regposerr.c
- enc/unicode.c enc/ascii.c enc/utf8.c enc/utf16_be.c enc/utf16_le.c
- enc/utf32_be.c enc/utf32_le.c enc/euc_jp.c enc/sjis.c enc/iso8859_1.c
- enc/iso8859_2.c enc/iso8859_3.c enc/iso8859_4.c enc/iso8859_5.c
- enc/iso8859_6.c enc/iso8859_7.c enc/iso8859_8.c enc/iso8859_9.c
- enc/iso8859_10.c enc/iso8859_11.c enc/iso8859_13.c enc/iso8859_14.c
- enc/iso8859_15.c enc/iso8859_16.c enc/euc_tw.c enc/euc_kr.c enc/big5.c
- enc/gb18030.c enc/koi8_r.c enc/cp1251.c)
+set(_SRCS src/regint.h src/regparse.h src/regenc.h src/st.h
+ src/regerror.c src/regparse.c src/regext.c src/regcomp.c src/regexec.c
+ src/reggnu.c src/regenc.c src/regsyntax.c src/regtrav.c src/regversion.c
+ src/st.c src/regposix.c src/regposerr.c src/onig_init.c
+ src/unicode.c src/ascii.c src/utf8.c src/utf16_be.c src/utf16_le.c
+ src/utf32_be.c src/utf32_le.c src/euc_jp.c src/sjis.c src/iso8859_1.c
+ src/iso8859_2.c src/iso8859_3.c src/iso8859_4.c src/iso8859_5.c
+ src/iso8859_6.c src/iso8859_7.c src/iso8859_8.c src/iso8859_9.c
+ src/iso8859_10.c src/iso8859_11.c src/iso8859_13.c src/iso8859_14.c
+ src/iso8859_15.c src/iso8859_16.c src/euc_tw.c src/euc_kr.c src/big5.c
+ src/gb18030.c src/koi8_r.c src/cp1251.c
+ src/euc_jp_prop.c src/sjis_prop.c
+ src/unicode_unfold_key.c
+ src/unicode_fold1_key.c src/unicode_fold2_key.c src/unicode_fold3_key.c)
 
 
 add_library(onig ${_SRCS})
 
 install_library(onig)
 
-install_header(oniguruma.h onigposix.h oniggnu.h)
+install_header(src/oniguruma.h src/onigposix.h src/oniggnu.h)
+
+install_doc(doc/API doc/API.ja doc/RE doc/RE.ja doc/UNICODE_PROPERTIES)
+install_data(AUTHORS COPYING HISTORY README.md)
 
-install_doc(doc)
-install_data(AUTHORS COPYING HISTORY README)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/oniguruma.pc
+  DESTINATION lib/pkgconfig)