/[pcre]/code/trunk/CMakeLists.txt
ViewVC logotype

Diff of /code/trunk/CMakeLists.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 685 by ph10, Tue Sep 6 15:02:07 2011 UTC revision 1055 by chpe, Tue Oct 16 15:53:30 2012 UTC
# Line 41  Line 41 
41  # 2011-08-22 PH added PCRE_SUPPORT_JIT  # 2011-08-22 PH added PCRE_SUPPORT_JIT
42  # 2011-09-06 PH modified WIN32 ADD_TEST line as suggested by Sergey Cherepanov  # 2011-09-06 PH modified WIN32 ADD_TEST line as suggested by Sergey Cherepanov
43  # 2011-09-06 PH added PCRE_SUPPORT_PCREGREP_JIT  # 2011-09-06 PH added PCRE_SUPPORT_PCREGREP_JIT
44    # 2011-10-04 Sheri added support for including coff data in windows shared libraries
45    #            compiled with MINGW if pcre.rc and/or pcreposix.rc are placed in
46    #            the source dir by the user prior to building
47    # 2011-10-04 Sheri changed various add_test's to use exes' location built instead
48    #            of DEBUG location only (likely only matters in MSVC)
49    # 2011-10-04 Sheri added scripts to provide needed variables to RunTest and
50    #            RunGrepTest (used for UNIX and Msys)
51    # 2011-10-04 Sheri added scripts to provide needed variables and to execute
52    #            RunTest.bat in Win32 (for effortless testing with "make test")
53    # 2011-10-04 Sheri Increased minimum required cmake version
54    # 2012-01-06 PH removed pcre_info.c and added pcre_string_utils.c
55    # 2012-01-10 Zoltan Herczeg added libpcre16 support
56    # 2012-01-13 Stephen Kelly added out of source build support
57    # 2012-01-17 PH applied Stephen Kelly's patch to parse the version data out
58    #            of the configure.ac file
59    # 2012-02-26 PH added support for libedit
60    # 2012-09-06 PH added support for PCRE_EBCDIC_NL25
61    # 2012-09-08 ChPe added PCRE32 support
62    
63  PROJECT(PCRE C CXX)  PROJECT(PCRE C CXX)
64    
65  CMAKE_MINIMUM_REQUIRED(VERSION 2.4.6)  # Increased minimum to 2.8.0 to support newer add_test features
66    
67    CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
68    
69  SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # for FindReadline.cmake  SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # for FindReadline.cmake
70    
# Line 52  SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_D Line 72  SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_D
72  FIND_PACKAGE( BZip2 )  FIND_PACKAGE( BZip2 )
73  FIND_PACKAGE( ZLIB )  FIND_PACKAGE( ZLIB )
74  FIND_PACKAGE( Readline )  FIND_PACKAGE( Readline )
75    FIND_PACKAGE( Editline )
76    
77  # Configuration checks  # Configuration checks
78    
# Line 89  CHECK_TYPE_SIZE("unsigned long long" Line 110  CHECK_TYPE_SIZE("unsigned long long"
110  SET(BUILD_SHARED_LIBS OFF CACHE BOOL  SET(BUILD_SHARED_LIBS OFF CACHE BOOL
111      "Build shared libraries instead of static ones.")      "Build shared libraries instead of static ones.")
112    
113    OPTION(PCRE_BUILD_PCRE8 "Build 8 bit PCRE library" ON)
114    
115    OPTION(PCRE_BUILD_PCRE16 "Build 16 bit PCRE library" OFF)
116    
117    OPTION(PCRE_BUILD_PCRE32 "Build 32 bit PCRE library" OFF)
118    
119  OPTION(PCRE_BUILD_PCRECPP "Build the PCRE C++ library (pcrecpp)." ON)  OPTION(PCRE_BUILD_PCRECPP "Build the PCRE C++ library (pcrecpp)." ON)
120    
121  SET(PCRE_EBCDIC OFF CACHE BOOL  SET(PCRE_EBCDIC OFF CACHE BOOL
122      "Use EBCDIC coding instead of ASCII. (This is rarely used outside of mainframe systems)")      "Use EBCDIC coding instead of ASCII. (This is rarely used outside of mainframe systems.)")
123    
124    SET(PCRE_EBCDIC_NL25 OFF CACHE BOOL
125        "Use 0x25 as EBCDIC NL character instead of 0x15; implies EBCDIC.")
126    
127  SET(PCRE_LINK_SIZE "2" CACHE STRING  SET(PCRE_LINK_SIZE "2" CACHE STRING
128      "Internal link size (2, 3 or 4 allowed). See LINK_SIZE in config.h.in for details.")      "Internal link size (2, 3 or 4 allowed). See LINK_SIZE in config.h.in for details.")
# Line 117  SET(PCRE_POSIX_MALLOC_THRESHOLD "10" CAC Line 147  SET(PCRE_POSIX_MALLOC_THRESHOLD "10" CAC
147    
148  SET(PCRE_SUPPORT_JIT OFF CACHE BOOL  SET(PCRE_SUPPORT_JIT OFF CACHE BOOL
149      "Enable support for Just-in-time compiling.")      "Enable support for Just-in-time compiling.")
150    
151  SET(PCRE_SUPPORT_PCREGREP_JIT ON CACHE BOOL  SET(PCRE_SUPPORT_PCREGREP_JIT ON CACHE BOOL
152      "Enable use of Just-in-time compiling in pcregrep.")      "Enable use of Just-in-time compiling in pcregrep.")
   
 SET(PCRE_SUPPORT_UNICODE_PROPERTIES OFF CACHE BOOL  
     "Enable support for Unicode properties. (If set, UTF-8 support will be enabled as well)")  
153    
154  SET(PCRE_SUPPORT_UTF8 OFF CACHE BOOL  SET(PCRE_SUPPORT_UTF OFF CACHE BOOL
155      "Enable support for the Unicode UTF-8 encoding.")      "Enable support for Unicode Transformation Format (UTF-8/UTF-16/UTF-32) encoding.")
156    
157    SET(PCRE_SUPPORT_UNICODE_PROPERTIES OFF CACHE BOOL
158        "Enable support for Unicode properties (if set, UTF support will be enabled as well).")
159    
160  SET(PCRE_SUPPORT_BSR_ANYCRLF OFF CACHE BOOL  SET(PCRE_SUPPORT_BSR_ANYCRLF OFF CACHE BOOL
161      "ON=Backslash-R matches only LF CR and CRLF, OFF=Backslash-R matches all Unicode Linebreaks")      "ON=Backslash-R matches only LF CR and CRLF, OFF=Backslash-R matches all Unicode Linebreaks")
# Line 134  OPTION(PCRE_SHOW_REPORT    "Show the fin Line 164  OPTION(PCRE_SHOW_REPORT    "Show the fin
164  OPTION(PCRE_BUILD_PCREGREP "Build pcregrep" ON)  OPTION(PCRE_BUILD_PCREGREP "Build pcregrep" ON)
165  OPTION(PCRE_BUILD_TESTS    "Build the tests" ON)  OPTION(PCRE_BUILD_TESTS    "Build the tests" ON)
166    
 IF (PCRE_BUILD_TESTS)  
   IF (NOT PCRE_BUILD_PCREGREP)  
     MESSAGE(STATUS "** Building tests requires pcregrep: PCRE_BUILD_PCREGREP forced ON")  
     SET(PCRE_BUILD_PCREGREP ON)  
   ENDIF(NOT PCRE_BUILD_PCREGREP)  
 ENDIF(PCRE_BUILD_TESTS)  
   
167  IF (MINGW)  IF (MINGW)
168    OPTION(NON_STANDARD_LIB_PREFIX    OPTION(NON_STANDARD_LIB_PREFIX
169           "ON=Shared libraries built in mingw will be named pcre.dll, etc., instead of libpcre.dll, etc."           "ON=Shared libraries built in mingw will be named pcre.dll, etc., instead of libpcre.dll, etc."
# Line 167  IF(PCRE_SUPPORT_LIBZ) Line 190  IF(PCRE_SUPPORT_LIBZ)
190    INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})    INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
191  ENDIF(PCRE_SUPPORT_LIBZ)  ENDIF(PCRE_SUPPORT_LIBZ)
192    
193    # editline lib
194    IF(EDITLINE_FOUND)
195      OPTION (PCRE_SUPPORT_LIBEDIT  "Enable support for linking pcretest with libedit." OFF)
196    ENDIF(EDITLINE_FOUND)
197    IF(PCRE_SUPPORT_LIBEDIT)
198      INCLUDE_DIRECTORIES(${EDITLINE_INCLUDE_DIR})
199    ENDIF(PCRE_SUPPORT_LIBEDIT)
200    
201  # readline lib  # readline lib
202  IF(READLINE_FOUND)  IF(READLINE_FOUND)
203    OPTION (PCRE_SUPPORT_LIBREADLINE  "Enable support for linking pcretest with libreadline." ON)    OPTION (PCRE_SUPPORT_LIBREADLINE  "Enable support for linking pcretest with libreadline." ON)
# Line 203  IF(NOT BUILD_SHARED_LIBS) Line 234  IF(NOT BUILD_SHARED_LIBS)
234          SET(PCRE_STATIC 1)          SET(PCRE_STATIC 1)
235  ENDIF(NOT BUILD_SHARED_LIBS)  ENDIF(NOT BUILD_SHARED_LIBS)
236    
237    IF(NOT PCRE_BUILD_PCRE8 AND NOT PCRE_BUILD_PCRE16 AND NOT PCRE_BUILD_PCRE32)
238            MESSAGE(FATAL_ERROR "Either PCRE_BUILD_PCRE8, PCRE_BUILD_PCRE16 or PCRE_BUILD_PCRE32 must be enabled")
239    ENDIF(NOT PCRE_BUILD_PCRE8 AND NOT PCRE_BUILD_PCRE16 AND NOT PCRE_BUILD_PCRE32)
240    
241    IF(PCRE_BUILD_PCRE8)
242            SET(SUPPORT_PCRE8 1)
243    ENDIF(PCRE_BUILD_PCRE8)
244    
245    IF(PCRE_BUILD_PCRE16)
246            SET(SUPPORT_PCRE16 1)
247    ENDIF(PCRE_BUILD_PCRE16)
248    
249    IF(PCRE_BUILD_PCRE32)
250            SET(SUPPORT_PCRE32 1)
251    ENDIF(PCRE_BUILD_PCRE32)
252    
253    IF(PCRE_BUILD_PCRECPP AND NOT PCRE_BUILD_PCRE8)
254            MESSAGE(STATUS "** PCRE_BUILD_PCRE8 must be enabled for the C++ library support")
255            SET(PCRE_BUILD_PCRECPP OFF)
256    ENDIF(PCRE_BUILD_PCRECPP AND NOT PCRE_BUILD_PCRE8)
257    
258    IF(PCRE_BUILD_PCREGREP AND NOT PCRE_BUILD_PCRE8)
259            MESSAGE(STATUS "** PCRE_BUILD_PCRE8 must be enabled for the pcregrep program")
260            SET(PCRE_BUILD_PCREGREP OFF)
261    ENDIF(PCRE_BUILD_PCREGREP AND NOT PCRE_BUILD_PCRE8)
262    
263    IF(PCRE_SUPPORT_LIBREADLINE AND PCRE_SUPPORT_LIBEDIT)
264            MESSAGE(FATAL_ERROR "Only one of libreadline or libeditline can be specified")
265    ENDIF(PCRE_SUPPORT_LIBREADLINE AND PCRE_SUPPORT_LIBEDIT)
266    
267  IF(PCRE_SUPPORT_BSR_ANYCRLF)  IF(PCRE_SUPPORT_BSR_ANYCRLF)
268          SET(BSR_ANYCRLF 1)          SET(BSR_ANYCRLF 1)
269  ENDIF(PCRE_SUPPORT_BSR_ANYCRLF)  ENDIF(PCRE_SUPPORT_BSR_ANYCRLF)
270    
271  IF(PCRE_SUPPORT_UTF8 OR PCRE_SUPPORT_UNICODE_PROPERTIES)  IF(PCRE_SUPPORT_UTF OR PCRE_SUPPORT_UNICODE_PROPERTIES)
272          SET(SUPPORT_UTF8 1)          SET(SUPPORT_UTF 1)
273  ENDIF(PCRE_SUPPORT_UTF8 OR PCRE_SUPPORT_UNICODE_PROPERTIES)          SET(PCRE_SUPPORT_UTF ON)
274    ENDIF(PCRE_SUPPORT_UTF OR PCRE_SUPPORT_UNICODE_PROPERTIES)
275    
276  IF(PCRE_SUPPORT_UNICODE_PROPERTIES)  IF(PCRE_SUPPORT_UNICODE_PROPERTIES)
277          SET(SUPPORT_UCP 1)          SET(SUPPORT_UCP 1)
# Line 217  ENDIF(PCRE_SUPPORT_UNICODE_PROPERTIES) Line 279  ENDIF(PCRE_SUPPORT_UNICODE_PROPERTIES)
279    
280  IF(PCRE_SUPPORT_JIT)  IF(PCRE_SUPPORT_JIT)
281          SET(SUPPORT_JIT 1)          SET(SUPPORT_JIT 1)
282  ELSE  ENDIF(PCRE_SUPPORT_JIT)
         SET(PCRE_SUPPORT_PCREGREP_JIT 0)  
 ENDIF(PCRE_SUPPORT_JIT)  
283    
284  IF(PCRE_SUPPORT_PCREGREP_JIT)  IF(PCRE_SUPPORT_PCREGREP_JIT)
285          SET(SUPPORT_PCREGREP_JIT 1)          SET(SUPPORT_PCREGREP_JIT 1)
286  ENDIF(PCRE_SUPPORT_PCREGREP_JIT)  ENDIF(PCRE_SUPPORT_PCREGREP_JIT)
287    
288  # This next one used to contain  # This next one used to contain
289  #       SET(PCRETEST_LIBS ${READLINE_LIBRARY})  #       SET(PCRETEST_LIBS ${READLINE_LIBRARY})
# Line 236  IF(PCRE_SUPPORT_LIBREADLINE) Line 296  IF(PCRE_SUPPORT_LIBREADLINE)
296          SET(PCRETEST_LIBS ${READLINE_LIBRARY} ${NCURSES_LIBRARY})          SET(PCRETEST_LIBS ${READLINE_LIBRARY} ${NCURSES_LIBRARY})
297  ENDIF(PCRE_SUPPORT_LIBREADLINE)  ENDIF(PCRE_SUPPORT_LIBREADLINE)
298    
299    # libedit is a plug-compatible alternative to libreadline
300    
301    IF(PCRE_SUPPORT_LIBEDIT)
302            SET(SUPPORT_LIBEDIT 1)
303            SET(PCRETEST_LIBS ${EDITLINE_LIBRARY} ${NCURSES_LIBRARY})
304    ENDIF(PCRE_SUPPORT_LIBEDIT)
305    
306  IF(PCRE_SUPPORT_LIBZ)  IF(PCRE_SUPPORT_LIBZ)
307          SET(SUPPORT_LIBZ 1)          SET(SUPPORT_LIBZ 1)
308          SET(PCREGREP_LIBS ${PCREGREP_LIBS} ${ZLIB_LIBRARIES})          SET(PCREGREP_LIBS ${PCREGREP_LIBS} ${ZLIB_LIBRARIES})
# Line 270  ENDIF(NEWLINE STREQUAL "") Line 337  ENDIF(NEWLINE STREQUAL "")
337    
338  IF(PCRE_EBCDIC)  IF(PCRE_EBCDIC)
339          SET(EBCDIC 1)          SET(EBCDIC 1)
340    IF(PCRE_NEWLINE STREQUAL "LF")
341            SET(NEWLINE "21")
342    ENDIF(PCRE_NEWLINE STREQUAL "LF")
343    IF(PCRE_NEWLINE STREQUAL "CRLF")
344            SET(NEWLINE "3349")
345    ENDIF(PCRE_NEWLINE STREQUAL "CRLF")
346  ENDIF(PCRE_EBCDIC)  ENDIF(PCRE_EBCDIC)
347    
348    IF(PCRE_EBCDIC_NL25)
349            SET(EBCDIC 1)
350            SET(EBCDIC_NL25 1)
351    IF(PCRE_NEWLINE STREQUAL "LF")
352            SET(NEWLINE "37")
353    ENDIF(PCRE_NEWLINE STREQUAL "LF")
354    IF(PCRE_NEWLINE STREQUAL "CRLF")
355            SET(NEWLINE "3365")
356    ENDIF(PCRE_NEWLINE STREQUAL "CRLF")
357    ENDIF(PCRE_EBCDIC_NL25)
358    
359  IF(PCRE_NO_RECURSE)  IF(PCRE_NO_RECURSE)
360          SET(NO_RECURSE 1)          SET(NO_RECURSE 1)
361  ENDIF(PCRE_NO_RECURSE)  ENDIF(PCRE_NO_RECURSE)
# Line 281  CONFIGURE_FILE(config-cmake.h.in Line 365  CONFIGURE_FILE(config-cmake.h.in
365                 ${PROJECT_BINARY_DIR}/config.h                 ${PROJECT_BINARY_DIR}/config.h
366                 @ONLY)                 @ONLY)
367    
368  CONFIGURE_FILE(pcre.h.generic  # Parse version numbers and date out of configure.ac
369    
370    file(STRINGS ${PROJECT_SOURCE_DIR}/configure.ac
371      configure_lines
372      LIMIT_COUNT 50 # Read only the first 50 lines of the file
373    )
374    
375    set(SEARCHED_VARIABLES "pcre_major" "pcre_minor" "pcre_prerelease" "pcre_date")
376    foreach(configure_line ${configure_lines})
377        foreach(_substitution_variable ${SEARCHED_VARIABLES})
378            string(TOUPPER ${_substitution_variable} _substitution_variable_upper)
379            if (NOT ${_substitution_variable_upper})
380                string(REGEX MATCH "m4_define\\(${_substitution_variable}, \\[(.*)\\]" MACTHED_STRING ${configure_line})
381                if (CMAKE_MATCH_1)
382                    set(${_substitution_variable_upper} ${CMAKE_MATCH_1})
383                endif()
384            endif()
385        endforeach()
386    endforeach()
387    
388    CONFIGURE_FILE(pcre.h.in
389                 ${PROJECT_BINARY_DIR}/pcre.h                 ${PROJECT_BINARY_DIR}/pcre.h
390                 COPYONLY)                 @ONLY)
391    
392  # What about pcre-config and libpcre.pc?  # What about pcre-config and libpcre.pc?
393    
# Line 322  ENDIF(PCRE_REBUILD_CHARTABLES) Line 426  ENDIF(PCRE_REBUILD_CHARTABLES)
426    
427  SET(PCRE_HEADERS ${PROJECT_BINARY_DIR}/pcre.h)  SET(PCRE_HEADERS ${PROJECT_BINARY_DIR}/pcre.h)
428    
429    IF(PCRE_BUILD_PCRE8)
430  SET(PCRE_SOURCES  SET(PCRE_SOURCES
431    ${PROJECT_BINARY_DIR}/pcre_chartables.c    pcre_byte_order.c
432      pcre_chartables.c
433    pcre_compile.c    pcre_compile.c
434    pcre_config.c    pcre_config.c
435    pcre_dfa_exec.c    pcre_dfa_exec.c
# Line 331  SET(PCRE_SOURCES Line 437  SET(PCRE_SOURCES
437    pcre_fullinfo.c    pcre_fullinfo.c
438    pcre_get.c    pcre_get.c
439    pcre_globals.c    pcre_globals.c
   pcre_info.c  
440    pcre_jit_compile.c    pcre_jit_compile.c
   pcre_newline.c  
441    pcre_maketables.c    pcre_maketables.c
442      pcre_newline.c
443    pcre_ord2utf8.c    pcre_ord2utf8.c
444    pcre_refcount.c    pcre_refcount.c
445      pcre_string_utils.c
446    pcre_study.c    pcre_study.c
447    pcre_tables.c    pcre_tables.c
   pcre_try_flipped.c  
448    pcre_ucd.c    pcre_ucd.c
449    pcre_valid_utf8.c    pcre_valid_utf8.c
450    pcre_version.c    pcre_version.c
# Line 350  SET(PCREPOSIX_HEADERS pcreposix.h) Line 455  SET(PCREPOSIX_HEADERS pcreposix.h)
455    
456  SET(PCREPOSIX_SOURCES pcreposix.c)  SET(PCREPOSIX_SOURCES pcreposix.c)
457    
458    ENDIF(PCRE_BUILD_PCRE8)
459    
460    IF(PCRE_BUILD_PCRE16)
461    SET(PCRE16_SOURCES
462      pcre16_byte_order.c
463      pcre16_chartables.c
464      pcre16_compile.c
465      pcre16_config.c
466      pcre16_dfa_exec.c
467      pcre16_exec.c
468      pcre16_fullinfo.c
469      pcre16_get.c
470      pcre16_globals.c
471      pcre16_jit_compile.c
472      pcre16_maketables.c
473      pcre16_newline.c
474      pcre16_ord2utf16.c
475      pcre16_refcount.c
476      pcre16_string_utils.c
477      pcre16_study.c
478      pcre16_tables.c
479      pcre16_ucd.c
480      pcre16_utf16_utils.c
481      pcre16_valid_utf16.c
482      pcre16_version.c
483      pcre16_xclass.c
484    )
485    ENDIF(PCRE_BUILD_PCRE16)
486    
487    IF(PCRE_BUILD_PCRE32)
488    SET(PCRE32_SOURCES
489      pcre32_byte_order.c
490      pcre32_chartables.c
491      pcre32_compile.c
492      pcre32_config.c
493      pcre32_dfa_exec.c
494      pcre32_exec.c
495      pcre32_fullinfo.c
496      pcre32_get.c
497      pcre32_globals.c
498      pcre32_jit_compile.c
499      pcre32_maketables.c
500      pcre32_newline.c
501      pcre32_ord2utf32.c
502      pcre32_refcount.c
503      pcre32_string_utils.c
504      pcre32_study.c
505      pcre32_tables.c
506      pcre32_ucd.c
507      pcre32_utf32_utils.c
508      pcre32_valid_utf32.c
509      pcre32_version.c
510      pcre32_xclass.c
511    )
512    ENDIF(PCRE_BUILD_PCRE32)
513    
514    IF(MINGW AND NOT PCRE_STATIC)
515    IF (EXISTS ${PROJECT_SOURCE_DIR}/pcre.rc)
516    ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/pcre.o
517    PRE-LINK
518    COMMAND windres ARGS pcre.rc pcre.o
519    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
520    COMMENT Using pcre coff info in mingw build)
521    SET(PCRE_SOURCES
522      ${PCRE_SOURCES} ${PROJECT_SOURCE_DIR}/pcre.o
523    )
524    ENDIF(EXISTS ${PROJECT_SOURCE_DIR}/pcre.rc)
525    IF (EXISTS ${PROJECT_SOURCE_DIR}/pcreposix.rc)
526    ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/pcreposix.o
527    PRE-LINK
528    COMMAND windres ARGS pcreposix.rc pcreposix.o
529    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
530    COMMENT Using pcreposix coff info in mingw build)
531    SET(PCREPOSIX_SOURCES
532      ${PCREPOSIX_SOURCES} ${PROJECT_SOURCE_DIR}/pcreposix.o
533    )
534    ENDIF(EXISTS ${PROJECT_SOURCE_DIR}/pcreposix.rc)
535    ENDIF(MINGW AND NOT PCRE_STATIC)
536    
537  SET(PCRECPP_HEADERS  SET(PCRECPP_HEADERS
538    pcrecpp.h    pcrecpp.h
539    pcre_scanner.h    pcre_scanner.h
# Line 382  SET(targets) Line 566  SET(targets)
566    
567  # Libraries  # Libraries
568  # pcre  # pcre
569    IF(PCRE_BUILD_PCRE8)
570  ADD_LIBRARY(pcre ${PCRE_HEADERS} ${PCRE_SOURCES} ${PROJECT_BINARY_DIR}/config.h)  ADD_LIBRARY(pcre ${PCRE_HEADERS} ${PCRE_SOURCES} ${PROJECT_BINARY_DIR}/config.h)
571  SET(targets ${targets} pcre)  SET(targets ${targets} pcre)
572  ADD_LIBRARY(pcreposix ${PCREPOSIX_HEADERS} ${PCREPOSIX_SOURCES})  ADD_LIBRARY(pcreposix ${PCREPOSIX_HEADERS} ${PCREPOSIX_SOURCES})
573  SET(targets ${targets} pcreposix)  SET(targets ${targets} pcreposix)
574  TARGET_LINK_LIBRARIES(pcreposix pcre)  TARGET_LINK_LIBRARIES(pcreposix pcre)
575    
576  IF(MINGW AND NOT PCRE_STATIC)  IF(MINGW AND NOT PCRE_STATIC)
577    IF(NON_STANDARD_LIB_PREFIX)    IF(NON_STANDARD_LIB_PREFIX)
578      SET_TARGET_PROPERTIES(pcre pcreposix      SET_TARGET_PROPERTIES(pcre pcreposix
# Line 401  IF(MINGW AND NOT PCRE_STATIC) Line 587  IF(MINGW AND NOT PCRE_STATIC)
587    ENDIF(NON_STANDARD_LIB_SUFFIX)    ENDIF(NON_STANDARD_LIB_SUFFIX)
588  ENDIF(MINGW AND NOT PCRE_STATIC)  ENDIF(MINGW AND NOT PCRE_STATIC)
589    
590    ENDIF(PCRE_BUILD_PCRE8)
591    
592    IF(PCRE_BUILD_PCRE16)
593    ADD_LIBRARY(pcre16 ${PCRE_HEADERS} ${PCRE16_SOURCES} ${PROJECT_BINARY_DIR}/config.h)
594    SET(targets ${targets} pcre16)
595    
596    IF(MINGW AND NOT PCRE_STATIC)
597      IF(NON_STANDARD_LIB_PREFIX)
598        SET_TARGET_PROPERTIES(pcre16
599                            PROPERTIES PREFIX ""
600        )
601      ENDIF(NON_STANDARD_LIB_PREFIX)
602    
603      IF(NON_STANDARD_LIB_SUFFIX)
604        SET_TARGET_PROPERTIES(pcre16
605                            PROPERTIES SUFFIX "-0.dll"
606        )
607      ENDIF(NON_STANDARD_LIB_SUFFIX)
608    ENDIF(MINGW AND NOT PCRE_STATIC)
609    
610    ENDIF(PCRE_BUILD_PCRE16)
611    
612    IF(PCRE_BUILD_PCRE32)
613    ADD_LIBRARY(pcre32 ${PCRE_HEADERS} ${PCRE32_SOURCES} ${PROJECT_BINARY_DIR}/config.h)
614    SET(targets ${targets} pcre32)
615    
616    IF(MINGW AND NOT PCRE_STATIC)
617      IF(NON_STANDARD_LIB_PREFIX)
618        SET_TARGET_PROPERTIES(pcre32
619                            PROPERTIES PREFIX ""
620        )
621      ENDIF(NON_STANDARD_LIB_PREFIX)
622    
623      IF(NON_STANDARD_LIB_SUFFIX)
624        SET_TARGET_PROPERTIES(pcre32
625                            PROPERTIES SUFFIX "-0.dll"
626        )
627      ENDIF(NON_STANDARD_LIB_SUFFIX)
628    ENDIF(MINGW AND NOT PCRE_STATIC)
629    
630    ENDIF(PCRE_BUILD_PCRE32)
631    
632  # pcrecpp  # pcrecpp
633  IF(PCRE_BUILD_PCRECPP)  IF(PCRE_BUILD_PCRECPP)
634    ADD_LIBRARY(pcrecpp ${PCRECPP_HEADERS} ${PCRECPP_SOURCES})  ADD_LIBRARY(pcrecpp ${PCRECPP_HEADERS} ${PCRECPP_SOURCES})
635  SET(targets ${targets} pcrecpp)  SET(targets ${targets} pcrecpp)
636    TARGET_LINK_LIBRARIES(pcrecpp pcre)  TARGET_LINK_LIBRARIES(pcrecpp pcre)
637    
638    IF(MINGW AND NOT PCRE_STATIC)    IF(MINGW AND NOT PCRE_STATIC)
639      IF(NON_STANDARD_LIB_PREFIX)      IF(NON_STANDARD_LIB_PREFIX)
# Line 441  IF(PCRE_BUILD_PCREGREP) Line 668  IF(PCRE_BUILD_PCREGREP)
668    TARGET_LINK_LIBRARIES(pcregrep pcreposix ${PCREGREP_LIBS})    TARGET_LINK_LIBRARIES(pcregrep pcreposix ${PCREGREP_LIBS})
669  ENDIF(PCRE_BUILD_PCREGREP)  ENDIF(PCRE_BUILD_PCREGREP)
670    
   
671  # Testing  # Testing
672  IF(PCRE_BUILD_TESTS)  IF(PCRE_BUILD_TESTS)
673    ENABLE_TESTING()    ENABLE_TESTING()
674    
675    ADD_EXECUTABLE(pcretest pcretest.c)    SET(PCRETEST_SOURCES pcretest.c)
676      IF(PCRE_BUILD_PCRE8)
677        LIST(APPEND PCRETEST_SOURCES pcre_printint.c)
678      ENDIF(PCRE_BUILD_PCRE8)
679      IF(PCRE_BUILD_PCRE16)
680        LIST(APPEND PCRETEST_SOURCES pcre16_printint.c)
681      ENDIF(PCRE_BUILD_PCRE16)
682      IF(PCRE_BUILD_PCRE32)
683        LIST(APPEND PCRETEST_SOURCES pcre32_printint.c)
684      ENDIF(PCRE_BUILD_PCRE32)
685    
686      ADD_EXECUTABLE(pcretest ${PCRETEST_SOURCES})
687    SET(targets ${targets} pcretest)    SET(targets ${targets} pcretest)
688    TARGET_LINK_LIBRARIES(pcretest pcreposix ${PCRETEST_LIBS})    IF(PCRE_BUILD_PCRE8)
689        LIST(APPEND PCRETEST_LIBS pcreposix pcre)
690      ENDIF(PCRE_BUILD_PCRE8)
691      IF(PCRE_BUILD_PCRE16)
692        LIST(APPEND PCRETEST_LIBS pcre16)
693      ENDIF(PCRE_BUILD_PCRE16)
694      IF(PCRE_BUILD_PCRE32)
695        LIST(APPEND PCRETEST_LIBS pcre32)
696      ENDIF(PCRE_BUILD_PCRE32)
697      TARGET_LINK_LIBRARIES(pcretest ${PCRETEST_LIBS})
698    
699    IF(PCRE_SUPPORT_JIT)    IF(PCRE_SUPPORT_JIT)
700      ADD_EXECUTABLE(pcre_jit_test pcre_jit_test.c)      ADD_EXECUTABLE(pcre_jit_test pcre_jit_test.c)
701      SET(targets ${targets} pcre_jit_test)      SET(targets ${targets} pcre_jit_test)
702      TARGET_LINK_LIBRARIES(pcre_jit_test pcre)      SET(PCRE_JIT_TEST_LIBS )
703    ENDIF(PCRE_SUPPORT_JIT)      IF(PCRE_BUILD_PCRE8)
704          LIST(APPEND PCRE_JIT_TEST_LIBS pcre)
705        ENDIF(PCRE_BUILD_PCRE8)
706        IF(PCRE_BUILD_PCRE16)
707          LIST(APPEND PCRE_JIT_TEST_LIBS pcre16)
708        ENDIF(PCRE_BUILD_PCRE16)
709        IF(PCRE_BUILD_PCRE32)
710          LIST(APPEND PCRE_JIT_TEST_LIBS pcre32)
711        ENDIF(PCRE_BUILD_PCRE32)
712        TARGET_LINK_LIBRARIES(pcre_jit_test ${PCRE_JIT_TEST_LIBS})
713      ENDIF(PCRE_SUPPORT_JIT)
714    
715    IF(PCRE_BUILD_PCRECPP)    IF(PCRE_BUILD_PCRECPP)
716      ADD_EXECUTABLE(pcrecpp_unittest pcrecpp_unittest.cc)      ADD_EXECUTABLE(pcrecpp_unittest pcrecpp_unittest.cc)
# Line 475  IF(PCRE_BUILD_TESTS) Line 731  IF(PCRE_BUILD_TESTS)
731      TARGET_LINK_LIBRARIES(pcre_stringpiece_unittest pcrecpp)      TARGET_LINK_LIBRARIES(pcre_stringpiece_unittest pcrecpp)
732    ENDIF(PCRE_BUILD_PCRECPP)    ENDIF(PCRE_BUILD_PCRECPP)
733    
734    GET_TARGET_PROPERTY(PCREGREP_EXE pcregrep DEBUG_LOCATION)    # exes in Debug location tested by the RunTest shell script
735      # via "make test"
736      IF(PCRE_BUILD_PCREGREP)
737        GET_TARGET_PROPERTY(PCREGREP_EXE pcregrep DEBUG_LOCATION)
738      ENDIF(PCRE_BUILD_PCREGREP)
739    
740    GET_TARGET_PROPERTY(PCRETEST_EXE pcretest DEBUG_LOCATION)    GET_TARGET_PROPERTY(PCRETEST_EXE pcretest DEBUG_LOCATION)
741    
742    # Write out a CTest configuration file that sets some needed environment  # =================================================
743    # variables for the test scripts.    # Write out a CTest configuration file
744    #    #
745    FILE(WRITE ${PROJECT_BINARY_DIR}/CTestCustom.ctest    FILE(WRITE ${PROJECT_BINARY_DIR}/CTestCustom.ctest
746    "# This is a generated file.    "# This is a generated file.
747    SET(ENV{srcdir} ${PROJECT_SOURCE_DIR})  MESSAGE(\"When testing is complete, review test output in the
748    SET(ENV{pcregrep} ${PCREGREP_EXE})  \\\"${PROJECT_BINARY_DIR}/Testing/Temporary\\\" folder.\")
749    SET(ENV{pcretest} ${PCRETEST_EXE})  MESSAGE(\" \")
750    ")  ")
751    
752      FILE(WRITE ${PROJECT_BINARY_DIR}/pcre_test.sh
753      "#! /bin/sh
754    # This is a generated file.
755    srcdir=${PROJECT_SOURCE_DIR}
756    pcretest=${PCRETEST_EXE}
757    source ${PROJECT_SOURCE_DIR}/RunTest
758    if test \"$?\" != \"0\"; then exit 1; fi
759    # End
760    ")
761    
762    IF(UNIX)    IF(UNIX)
763            ADD_TEST(pcre_test      ${PROJECT_SOURCE_DIR}/RunTest)      ADD_TEST(pcre_test      sh ${PROJECT_BINARY_DIR}/pcre_test.sh)
           ADD_TEST(pcre_grep_test ${PROJECT_SOURCE_DIR}/RunGrepTest)  
764    ENDIF(UNIX)    ENDIF(UNIX)
765    
766      IF(PCRE_BUILD_PCREGREP)
767        FILE(WRITE ${PROJECT_BINARY_DIR}/pcre_grep_test.sh
768        "#! /bin/sh
769    # This is a generated file.
770    srcdir=${PROJECT_SOURCE_DIR}
771    pcregrep=${PCREGREP_EXE}
772    pcretest=${PCRETEST_EXE}
773    source ${PROJECT_SOURCE_DIR}/RunGrepTest
774    if test \"$?\" != \"0\"; then exit 1; fi
775    # End
776    ")
777    
778        IF(UNIX)
779          ADD_TEST(pcre_grep_test sh ${PROJECT_BINARY_DIR}/pcre_grep_test.sh)
780        ENDIF(UNIX)
781      ENDIF(PCRE_BUILD_PCREGREP)
782    
783    IF(WIN32)    IF(WIN32)
784            # ADD_TEST(pcre_test cmd /C ${PROJECT_SOURCE_DIR}/RunTest.bat)      # Provide environment for executing the bat file version of RunTest
785            ADD_TEST(pcre_test ${PROJECT_SOURCE_DIR}/RunTest.bat)      FILE(TO_NATIVE_PATH ${PROJECT_SOURCE_DIR} winsrc)
786        FILE(TO_NATIVE_PATH ${PROJECT_BINARY_DIR} winbin)
787        FILE(TO_NATIVE_PATH ${PCRETEST_EXE} winexe)
788    
789        FILE(WRITE ${PROJECT_BINARY_DIR}/pcre_test.bat
790        "\@REM This is a generated file.
791    \@echo off
792    setlocal
793    SET srcdir=\"${winsrc}\"
794    SET pcretest=\"${winexe}\"
795    if not [%CMAKE_CONFIG_TYPE%]==[] SET pcretest=\"${winbin}\\%CMAKE_CONFIG_TYPE%\\pcretest.exe\"
796    call %srcdir%\\RunTest.Bat
797    if errorlevel 1 exit /b 1
798    echo RunTest.bat tests successfully completed
799    ")
800    
801      ADD_TEST(NAME pcre_test_bat
802      COMMAND pcre_test.bat)
803      SET_TESTS_PROPERTIES(pcre_test_bat PROPERTIES
804      PASS_REGULAR_EXPRESSION "RunTest\\.bat tests successfully completed")
805    
806        IF("$ENV{OSTYPE}" STREQUAL "msys")
807          # Both the sh and bat file versions of RunTest are run if make test is used
808          # in msys
809          ADD_TEST(pcre_test_sh    sh.exe ${PROJECT_BINARY_DIR}/pcre_test.sh)
810          IF(PCRE_BUILD_PCREGREP)
811            ADD_TEST(pcre_grep_test  sh.exe ${PROJECT_BINARY_DIR}/pcre_grep_test.sh)
812          ENDIF(PCRE_BUILD_PCREGREP)
813        ENDIF("$ENV{OSTYPE}" STREQUAL "msys")
814    
815    ENDIF(WIN32)    ENDIF(WIN32)
816    
817    IF(PCRE_SUPPORT_JIT)    # Changed to accommodate testing whichever location was just built
   GET_TARGET_PROPERTY(PCRE_JIT_TEST_EXE  
                       pcre_jit_test  
                       DEBUG_LOCATION)  
   ENDIF(PCRE_SUPPORT_JIT)  
   
   GET_TARGET_PROPERTY(PCRECPP_UNITTEST_EXE  
                       pcrecpp_unittest  
                       DEBUG_LOCATION)  
   
   GET_TARGET_PROPERTY(PCRE_SCANNER_UNITTEST_EXE  
                       pcre_scanner_unittest  
                       DEBUG_LOCATION)  
   
   GET_TARGET_PROPERTY(PCRE_STRINGPIECE_UNITTEST_EXE  
                       pcre_stringpiece_unittest  
                       DEBUG_LOCATION)  
818    
819    IF(PCRE_SUPPORT_JIT)    IF(PCRE_SUPPORT_JIT)
820    ADD_TEST(pcre_jit_test         ${PCRE_JIT_TEST_EXE})      ADD_TEST(pcre_jit_test         pcre_jit_test)
821    ENDIF(PCRE_SUPPORT_JIT)    ENDIF(PCRE_SUPPORT_JIT)
822    ADD_TEST(pcrecpp_test          ${PCRECPP_UNITTEST_EXE})  
823    ADD_TEST(pcre_scanner_test     ${PCRE_SCANNER_UNITTEST_EXE})    IF(PCRE_BUILD_PCRECPP)
824    ADD_TEST(pcre_stringpiece_test ${PCRE_STRINGPIECE_UNITTEST_EXE})      ADD_TEST(pcrecpp_test          pcrecpp_unittest)
825        ADD_TEST(pcre_scanner_test     pcre_scanner_unittest)
826        ADD_TEST(pcre_stringpiece_test pcre_stringpiece_unittest)
827      ENDIF(PCRE_BUILD_PCRECPP)
828    
829  ENDIF(PCRE_BUILD_TESTS)  ENDIF(PCRE_BUILD_TESTS)
830    
831  # Installation  # Installation
# Line 550  ELSE(PCRE_BUILD_PCRECPP) Line 855  ELSE(PCRE_BUILD_PCRECPP)
855          SET(man3 ${man3_new})          SET(man3 ${man3_new})
856  ENDIF(PCRE_BUILD_PCRECPP)  ENDIF(PCRE_BUILD_PCRECPP)
857    
   
858  INSTALL(FILES ${man1} DESTINATION man/man1)  INSTALL(FILES ${man1} DESTINATION man/man1)
859  INSTALL(FILES ${man3} DESTINATION man/man3)  INSTALL(FILES ${man3} DESTINATION man/man3)
860  INSTALL(FILES ${html} DESTINATION share/doc/pcre/html)  INSTALL(FILES ${html} DESTINATION share/doc/pcre/html)
# Line 580  IF(PCRE_SHOW_REPORT) Line 884  IF(PCRE_SHOW_REPORT)
884    MESSAGE(STATUS "  C compiler flags ................ : ${CMAKE_C_FLAGS}${cfsp}${CMAKE_C_FLAGS_${buildtype}}")    MESSAGE(STATUS "  C compiler flags ................ : ${CMAKE_C_FLAGS}${cfsp}${CMAKE_C_FLAGS_${buildtype}}")
885    MESSAGE(STATUS "  C++ compiler flags .............. : ${CMAKE_CXX_FLAGS}${cxxfsp}${CMAKE_CXX_FLAGS_${buildtype}}")    MESSAGE(STATUS "  C++ compiler flags .............. : ${CMAKE_CXX_FLAGS}${cxxfsp}${CMAKE_CXX_FLAGS_${buildtype}}")
886    MESSAGE(STATUS "")    MESSAGE(STATUS "")
887      MESSAGE(STATUS "  Build 8 bit PCRE library ........ : ${PCRE_BUILD_PCRE8}")
888      MESSAGE(STATUS "  Build 16 bit PCRE library ....... : ${PCRE_BUILD_PCRE16}")
889      MESSAGE(STATUS "  Build 32 bit PCRE library ....... : ${PCRE_BUILD_PCRE32}")
890    MESSAGE(STATUS "  Build C++ library ............... : ${PCRE_BUILD_PCRECPP}")    MESSAGE(STATUS "  Build C++ library ............... : ${PCRE_BUILD_PCRECPP}")
891    MESSAGE(STATUS "  Enable JIT compiling support .... : ${PCRE_SUPPORT_JIT}")    MESSAGE(STATUS "  Enable JIT compiling support .... : ${PCRE_SUPPORT_JIT}")
892    MESSAGE(STATUS "  Enable UTF-8 support ............ : ${PCRE_SUPPORT_UNICODE_PROPERTIES}")    MESSAGE(STATUS "  Enable UTF support .............. : ${PCRE_SUPPORT_UTF}")
893    MESSAGE(STATUS "  Unicode properties .............. : ${PCRE_SUPPORT_UNICODE_PROPERTIES}")    MESSAGE(STATUS "  Unicode properties .............. : ${PCRE_SUPPORT_UNICODE_PROPERTIES}")
894    MESSAGE(STATUS "  Newline char/sequence ........... : ${PCRE_NEWLINE}")    MESSAGE(STATUS "  Newline char/sequence ........... : ${PCRE_NEWLINE}")
895    MESSAGE(STATUS "  \\R matches only ANYCRLF ......... : ${PCRE_SUPPORT_BSR_ANYCRLF}")    MESSAGE(STATUS "  \\R matches only ANYCRLF ......... : ${PCRE_SUPPORT_BSR_ANYCRLF}")
896    MESSAGE(STATUS "  EBCDIC coding ................... : ${PCRE_EBCDIC}")    MESSAGE(STATUS "  EBCDIC coding ................... : ${PCRE_EBCDIC}")
897      MESSAGE(STATUS "  EBCDIC coding with NL=0x25 ...... : ${PCRE_EBCDIC_NL25}")
898    MESSAGE(STATUS "  Rebuild char tables ............. : ${PCRE_REBUILD_CHARTABLES}")    MESSAGE(STATUS "  Rebuild char tables ............. : ${PCRE_REBUILD_CHARTABLES}")
899    MESSAGE(STATUS "  No stack recursion .............. : ${PCRE_NO_RECURSE}")    MESSAGE(STATUS "  No stack recursion .............. : ${PCRE_NO_RECURSE}")
900    MESSAGE(STATUS "  POSIX mem threshold ............. : ${PCRE_POSIX_MALLOC_THRESHOLD}")    MESSAGE(STATUS "  POSIX mem threshold ............. : ${PCRE_POSIX_MALLOC_THRESHOLD}")
# Line 598  IF(PCRE_SHOW_REPORT) Line 906  IF(PCRE_SHOW_REPORT)
906    MESSAGE(STATUS "  Build pcregrep .................. : ${PCRE_BUILD_PCREGREP}")    MESSAGE(STATUS "  Build pcregrep .................. : ${PCRE_BUILD_PCREGREP}")
907    MESSAGE(STATUS "  Enable JIT in pcregrep .......... : ${PCRE_SUPPORT_PCREGREP_JIT}")    MESSAGE(STATUS "  Enable JIT in pcregrep .......... : ${PCRE_SUPPORT_PCREGREP_JIT}")
908    MESSAGE(STATUS "  Buffer size for pcregrep ........ : ${PCREGREP_BUFSIZE}")    MESSAGE(STATUS "  Buffer size for pcregrep ........ : ${PCREGREP_BUFSIZE}")
909    MESSAGE(STATUS "  Build tests (implies pcretest) .. : ${PCRE_BUILD_TESTS}")    MESSAGE(STATUS "  Build tests (implies pcretest  .. : ${PCRE_BUILD_TESTS}")
910      MESSAGE(STATUS "               and pcregrep)")
911    IF(ZLIB_FOUND)    IF(ZLIB_FOUND)
912      MESSAGE(STATUS "  Link pcregrep with libz ......... : ${PCRE_SUPPORT_LIBZ}")      MESSAGE(STATUS "  Link pcregrep with libz ......... : ${PCRE_SUPPORT_LIBZ}")
913    ELSE(ZLIB_FOUND)    ELSE(ZLIB_FOUND)
914      MESSAGE(STATUS "  Link pcregrep with libz ......... : None" )      MESSAGE(STATUS "  Link pcregrep with libz ......... : Library not found" )
915    ENDIF(ZLIB_FOUND)    ENDIF(ZLIB_FOUND)
916    IF(BZIP2_FOUND)    IF(BZIP2_FOUND)
917      MESSAGE(STATUS "  Link pcregrep with libbz2 ....... : ${PCRE_SUPPORT_LIBBZ2}")      MESSAGE(STATUS "  Link pcregrep with libbz2 ....... : ${PCRE_SUPPORT_LIBBZ2}")
918    ELSE(BZIP2_FOUND)    ELSE(BZIP2_FOUND)
919      MESSAGE(STATUS "  Link pcregrep with libbz2 ....... : None" )      MESSAGE(STATUS "  Link pcregrep with libbz2 ....... : Library not found" )
920    ENDIF(BZIP2_FOUND)    ENDIF(BZIP2_FOUND)
921    IF(NOT PCRE_SUPPORT_LIBREADLINE)    IF(EDITLINE_FOUND)
922      MESSAGE(STATUS "  Link pcretest with libreadline .. : None" )      MESSAGE(STATUS "  Link pcretest with libeditline .. : ${PCRE_SUPPORT_LIBEDIT}")
923    ELSE(NOT PCRE_SUPPORT_LIBREADLINE)    ELSE(EDITLINE_FOUND)
924        MESSAGE(STATUS "  Link pcretest with libeditline .. : Library not found" )
925      ENDIF(EDITLINE_FOUND)
926      IF(READLINE_FOUND)
927      MESSAGE(STATUS "  Link pcretest with libreadline .. : ${PCRE_SUPPORT_LIBREADLINE}")      MESSAGE(STATUS "  Link pcretest with libreadline .. : ${PCRE_SUPPORT_LIBREADLINE}")
928    ENDIF(NOT PCRE_SUPPORT_LIBREADLINE)    ELSE(READLINE_FOUND)
929        MESSAGE(STATUS "  Link pcretest with libreadline .. : Library not found" )
930      ENDIF(READLINE_FOUND)
931    
932    IF(MINGW AND NOT PCRE_STATIC)    IF(MINGW AND NOT PCRE_STATIC)
933      MESSAGE(STATUS "  Non-standard dll names (prefix) . : ${NON_STANDARD_LIB_PREFIX}")      MESSAGE(STATUS "  Non-standard dll names (prefix) . : ${NON_STANDARD_LIB_PREFIX}")
934      MESSAGE(STATUS "  Non-standard dll names (suffix) . : ${NON_STANDARD_LIB_SUFFIX}")      MESSAGE(STATUS "  Non-standard dll names (suffix) . : ${NON_STANDARD_LIB_SUFFIX}")

Legend:
Removed from v.685  
changed lines
  Added in v.1055

  ViewVC Help
Powered by ViewVC 1.1.5