15 |
# PCRE_SUPPORT_LIBBZ2. |
# PCRE_SUPPORT_LIBBZ2. |
16 |
# 2008-01-20 Brought up to date to include several new features by Christian |
# 2008-01-20 Brought up to date to include several new features by Christian |
17 |
# Ehrlicher. |
# Ehrlicher. |
18 |
# 2008-01-22 Sheri added options for backward compatibility of library names when |
# 2008-01-22 Sheri added options for backward compatibility of library names |
19 |
# building with minGW: |
# when building with minGW: |
20 |
# if "ON", NON_STANDARD_LIB_PREFIX causes shared libraries to |
# if "ON", NON_STANDARD_LIB_PREFIX causes shared libraries to |
21 |
# be built without "lib" as prefix. (The libraries will be named pcre.dll, |
# be built without "lib" as prefix. (The libraries will be named |
22 |
# pcreposix.dll and pcrecpp.dll). |
# pcre.dll, pcreposix.dll and pcrecpp.dll). |
23 |
# if "ON", NON_STANDARD_LIB_SUFFIX causes shared libraries to |
# if "ON", NON_STANDARD_LIB_SUFFIX causes shared libraries to |
24 |
# be built with suffix of "-0.dll". (The libraries will be named |
# be built with suffix of "-0.dll". (The libraries will be named |
25 |
# libpcre-0.dll, libpcreposix-0.dll and libpcrecpp-0.dll - same names |
# libpcre-0.dll, libpcreposix-0.dll and libpcrecpp-0.dll - same names |
27 |
# 2008-01-23 PH removed the automatic build of pcredemo. |
# 2008-01-23 PH removed the automatic build of pcredemo. |
28 |
# 2008-04-22 PH modified READLINE support so it finds NCURSES when needed. |
# 2008-04-22 PH modified READLINE support so it finds NCURSES when needed. |
29 |
# 2008-07-03 PH updated for revised UCP property support (change of files) |
# 2008-07-03 PH updated for revised UCP property support (change of files) |
30 |
|
# 2009-03-23 PH applied Steven Van Ingelgem's patch to change the name |
31 |
|
# CMAKE_BINARY_DIR to PROJECT_BINARY_DIR so that it works when PCRE |
32 |
|
# is included within another project. |
33 |
|
|
34 |
PROJECT(PCRE C CXX) |
PROJECT(PCRE C CXX) |
35 |
|
|
36 |
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.6) |
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.6) |
37 |
|
|
38 |
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) # for FindReadline.cmake |
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # for FindReadline.cmake |
39 |
|
|
40 |
# external packages |
# external packages |
41 |
FIND_PACKAGE( BZip2 ) |
FIND_PACKAGE( BZip2 ) |
235 |
ENDIF(PCRE_NO_RECURSE) |
ENDIF(PCRE_NO_RECURSE) |
236 |
|
|
237 |
# Output files |
# Output files |
|
|
|
238 |
CONFIGURE_FILE(config-cmake.h.in |
CONFIGURE_FILE(config-cmake.h.in |
239 |
${CMAKE_BINARY_DIR}/config.h |
${PROJECT_BINARY_DIR}/config.h |
240 |
@ONLY) |
@ONLY) |
241 |
|
|
242 |
CONFIGURE_FILE(pcre.h.generic |
CONFIGURE_FILE(pcre.h.generic |
243 |
${CMAKE_BINARY_DIR}/pcre.h |
${PROJECT_BINARY_DIR}/pcre.h |
244 |
COPYONLY) |
COPYONLY) |
245 |
|
|
246 |
# What about pcre-config and libpcre.pc? |
# What about pcre-config and libpcre.pc? |
247 |
|
|
248 |
IF(PCRE_BUILD_PCRECPP) |
IF(PCRE_BUILD_PCRECPP) |
249 |
CONFIGURE_FILE(pcre_stringpiece.h.in |
CONFIGURE_FILE(pcre_stringpiece.h.in |
250 |
${CMAKE_BINARY_DIR}/pcre_stringpiece.h |
${PROJECT_BINARY_DIR}/pcre_stringpiece.h |
251 |
@ONLY) |
@ONLY) |
252 |
|
|
253 |
CONFIGURE_FILE(pcrecpparg.h.in |
CONFIGURE_FILE(pcrecpparg.h.in |
254 |
${CMAKE_BINARY_DIR}/pcrecpparg.h |
${PROJECT_BINARY_DIR}/pcrecpparg.h |
255 |
@ONLY) |
@ONLY) |
256 |
ENDIF(PCRE_BUILD_PCRECPP) |
ENDIF(PCRE_BUILD_PCRECPP) |
257 |
|
|
267 |
COMMENT "Generating character tables (pcre_chartables.c) for current locale" |
COMMENT "Generating character tables (pcre_chartables.c) for current locale" |
268 |
DEPENDS dftables |
DEPENDS dftables |
269 |
COMMAND ${DFTABLES_EXE} |
COMMAND ${DFTABLES_EXE} |
270 |
ARGS ${CMAKE_BINARY_DIR}/pcre_chartables.c |
ARGS ${PROJECT_BINARY_DIR}/pcre_chartables.c |
271 |
OUTPUT ${CMAKE_BINARY_DIR}/pcre_chartables.c |
OUTPUT ${PROJECT_BINARY_DIR}/pcre_chartables.c |
272 |
) |
) |
273 |
ELSE(PCRE_REBUILD_CHARTABLES) |
ELSE(PCRE_REBUILD_CHARTABLES) |
274 |
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/pcre_chartables.c.dist |
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/pcre_chartables.c.dist |
275 |
${CMAKE_BINARY_DIR}/pcre_chartables.c |
${PROJECT_BINARY_DIR}/pcre_chartables.c |
276 |
COPYONLY) |
COPYONLY) |
277 |
ENDIF(PCRE_REBUILD_CHARTABLES) |
ENDIF(PCRE_REBUILD_CHARTABLES) |
278 |
|
|
279 |
# Source code |
# Source code |
280 |
|
|
281 |
SET(PCRE_HEADERS ${CMAKE_BINARY_DIR}/pcre.h) |
SET(PCRE_HEADERS ${PROJECT_BINARY_DIR}/pcre.h) |
282 |
|
|
283 |
SET(PCRE_SOURCES |
SET(PCRE_SOURCES |
284 |
${CMAKE_BINARY_DIR}/pcre_chartables.c |
${PROJECT_BINARY_DIR}/pcre_chartables.c |
285 |
pcre_compile.c |
pcre_compile.c |
286 |
pcre_config.c |
pcre_config.c |
287 |
pcre_dfa_exec.c |
pcre_dfa_exec.c |
310 |
SET(PCRECPP_HEADERS |
SET(PCRECPP_HEADERS |
311 |
pcrecpp.h |
pcrecpp.h |
312 |
pcre_scanner.h |
pcre_scanner.h |
313 |
${CMAKE_BINARY_DIR}/pcrecpparg.h |
${PROJECT_BINARY_DIR}/pcrecpparg.h |
314 |
${CMAKE_BINARY_DIR}/pcre_stringpiece.h |
${PROJECT_BINARY_DIR}/pcre_stringpiece.h |
315 |
) |
) |
316 |
|
|
317 |
SET(PCRECPP_SOURCES |
SET(PCRECPP_SOURCES |
337 |
|
|
338 |
# Libraries |
# Libraries |
339 |
# pcre |
# pcre |
340 |
ADD_LIBRARY(pcre ${PCRE_HEADERS} ${PCRE_SOURCES} ${CMAKE_BINARY_DIR}/config.h) |
ADD_LIBRARY(pcre ${PCRE_HEADERS} ${PCRE_SOURCES} ${PROJECT_BINARY_DIR}/config.h) |
341 |
ADD_LIBRARY(pcreposix ${PCREPOSIX_HEADERS} ${PCREPOSIX_SOURCES}) |
ADD_LIBRARY(pcreposix ${PCREPOSIX_HEADERS} ${PCREPOSIX_SOURCES}) |
342 |
TARGET_LINK_LIBRARIES(pcreposix pcre) |
TARGET_LINK_LIBRARIES(pcreposix pcre) |
343 |
IF(MINGW AND NOT PCRE_STATIC) |
IF(MINGW AND NOT PCRE_STATIC) |
420 |
# Write out a CTest configuration file that sets some needed environment |
# Write out a CTest configuration file that sets some needed environment |
421 |
# variables for the test scripts. |
# variables for the test scripts. |
422 |
# |
# |
423 |
FILE(WRITE ${CMAKE_BINARY_DIR}/CTestCustom.ctest |
FILE(WRITE ${PROJECT_BINARY_DIR}/CTestCustom.ctest |
424 |
"# This is a generated file. |
"# This is a generated file. |
425 |
SET(ENV{srcdir} ${CMAKE_SOURCE_DIR}) |
SET(ENV{srcdir} ${PROJECT_SOURCE_DIR}) |
426 |
SET(ENV{pcregrep} ${PCREGREP_EXE}) |
SET(ENV{pcregrep} ${PCREGREP_EXE}) |
427 |
SET(ENV{pcretest} ${PCRETEST_EXE}) |
SET(ENV{pcretest} ${PCRETEST_EXE}) |
428 |
") |
") |
429 |
|
|
430 |
IF(UNIX) |
IF(UNIX) |
431 |
ADD_TEST(pcre_test ${CMAKE_SOURCE_DIR}/RunTest) |
ADD_TEST(pcre_test ${PROJECT_SOURCE_DIR}/RunTest) |
432 |
ADD_TEST(pcre_grep_test ${CMAKE_SOURCE_DIR}/RunGrepTest) |
ADD_TEST(pcre_grep_test ${PROJECT_SOURCE_DIR}/RunGrepTest) |
433 |
ENDIF(UNIX) |
ENDIF(UNIX) |
434 |
IF(WIN32) |
IF(WIN32) |
435 |
ADD_TEST(pcre_test cmd /C ${CMAKE_SOURCE_DIR}/RunTest.bat) |
ADD_TEST(pcre_test cmd /C ${PROJECT_SOURCE_DIR}/RunTest.bat) |
436 |
ENDIF(WIN32) |
ENDIF(WIN32) |
437 |
|
|
438 |
GET_TARGET_PROPERTY(PCRECPP_UNITTEST_EXE |
GET_TARGET_PROPERTY(PCRECPP_UNITTEST_EXE |
462 |
|
|
463 |
INSTALL(FILES ${PCRE_HEADERS} ${PCREPOSIX_HEADERS} DESTINATION include) |
INSTALL(FILES ${PCRE_HEADERS} ${PCREPOSIX_HEADERS} DESTINATION include) |
464 |
|
|
465 |
FILE(GLOB html ${CMAKE_SOURCE_DIR}/doc/html/*.html) |
FILE(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html) |
466 |
FILE(GLOB man1 ${CMAKE_SOURCE_DIR}/doc/*.1) |
FILE(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1) |
467 |
FILE(GLOB man3 ${CMAKE_SOURCE_DIR}/doc/*.3) |
FILE(GLOB man3 ${PROJECT_SOURCE_DIR}/doc/*.3) |
468 |
|
|
469 |
IF(PCRE_BUILD_PCRECPP) |
IF(PCRE_BUILD_PCRECPP) |
470 |
INSTALL(TARGETS pcrecpp |
INSTALL(TARGETS pcrecpp |