103
103
PROJECT (PCRE2 C)
104
104
105
105
# Increased minimum to 2.8.5 to support GNUInstallDirs.
106
- # Increased minimum to 3.0.0 because older than 2.8.12 is deprecated .
107
- CMAKE_MINIMUM_REQUIRED (VERSION 3.0.0 )
106
+ # Increased minimum to 3.1 to support imported targets .
107
+ CMAKE_MINIMUM_REQUIRED (VERSION 3.1 )
108
108
109
109
# Set policy CMP0026 to avoid warnings for the use of LOCATION in
110
110
# GET_TARGET_PROPERTY. This should no longer be required.
@@ -382,7 +382,13 @@ IF(PCRE2_SUPPORT_UNICODE)
382
382
ENDIF (PCRE2_SUPPORT_UNICODE)
383
383
384
384
IF (PCRE2_SUPPORT_JIT)
385
- SET (SUPPORT_JIT 1)
385
+ SET (SUPPORT_JIT 1)
386
+ IF (UNIX )
387
+ FIND_PACKAGE (Threads REQUIRED)
388
+ IF (CMAKE_USE_PTHREADS_INIT)
389
+ SET (REQUIRE_PTHREAD 1)
390
+ ENDIF (CMAKE_USE_PTHREADS_INIT)
391
+ ENDIF (UNIX )
386
392
ENDIF (PCRE2_SUPPORT_JIT)
387
393
388
394
IF (PCRE2_SUPPORT_JIT_SEALLOC)
@@ -697,6 +703,9 @@ IF(PCRE2_BUILD_PCRE2_8)
697
703
VERSION ${LIBPCRE2_8_VERSION}
698
704
SOVERSION ${LIBPCRE2_8_SOVERSION} )
699
705
TARGET_COMPILE_DEFINITIONS (pcre2-8-static PUBLIC PCRE2_STATIC)
706
+ IF (REQUIRE_PTHREAD)
707
+ TARGET_LINK_LIBRARIES (pcre2-8-static Threads::Threads)
708
+ ENDIF (REQUIRE_PTHREAD)
700
709
SET (targets ${targets} pcre2-8-static )
701
710
ADD_LIBRARY (pcre2-posix-static STATIC ${PCRE2POSIX_HEADERS} ${PCRE2POSIX_SOURCES} )
702
711
SET_TARGET_PROPERTIES (pcre2-posix-static PROPERTIES
@@ -730,6 +739,9 @@ IF(PCRE2_BUILD_PCRE2_8)
730
739
VERSION ${LIBPCRE2_8_VERSION}
731
740
SOVERSION ${LIBPCRE2_8_SOVERSION}
732
741
OUTPUT_NAME pcre2-8)
742
+ IF (REQUIRE_PTHREAD)
743
+ TARGET_LINK_LIBRARIES (pcre2-8-shared Threads::Threads)
744
+ ENDIF (REQUIRE_PTHREAD)
733
745
SET (targets ${targets} pcre2-8-shared)
734
746
ADD_LIBRARY (pcre2-posix-shared SHARED ${PCRE2POSIX_HEADERS} ${PCRE2POSIX_SOURCES} )
735
747
SET_TARGET_PROPERTIES (pcre2-posix-shared PROPERTIES
@@ -773,6 +785,9 @@ IF(PCRE2_BUILD_PCRE2_16)
773
785
VERSION ${LIBPCRE2_16_VERSION}
774
786
SOVERSION ${LIBPCRE2_16_SOVERSION} )
775
787
TARGET_COMPILE_DEFINITIONS (pcre2-16-static PUBLIC PCRE2_STATIC)
788
+ IF (REQUIRE_PTHREAD)
789
+ TARGET_LINK_LIBRARIES (pcre2-16-static Threads::Threads)
790
+ ENDIF (REQUIRE_PTHREAD)
776
791
SET (targets ${targets} pcre2-16-static )
777
792
778
793
IF (MSVC )
@@ -794,6 +809,9 @@ IF(PCRE2_BUILD_PCRE2_16)
794
809
VERSION ${LIBPCRE2_16_VERSION}
795
810
SOVERSION ${LIBPCRE2_16_SOVERSION}
796
811
OUTPUT_NAME pcre2-16)
812
+ IF (REQUIRE_PTHREAD)
813
+ TARGET_LINK_LIBRARIES (pcre2-16-shared Threads::Threads)
814
+ ENDIF (REQUIRE_PTHREAD)
797
815
SET (targets ${targets} pcre2-16-shared)
798
816
799
817
IF (MINGW)
@@ -825,6 +843,9 @@ IF(PCRE2_BUILD_PCRE2_32)
825
843
VERSION ${LIBPCRE2_32_VERSION}
826
844
SOVERSION ${LIBPCRE2_32_SOVERSION} )
827
845
TARGET_COMPILE_DEFINITIONS (pcre2-32-static PUBLIC PCRE2_STATIC)
846
+ IF (REQUIRE_PTHREAD)
847
+ TARGET_LINK_LIBRARIES (pcre2-32-static Threads::Threads)
848
+ ENDIF (REQUIRE_PTHREAD)
828
849
SET (targets ${targets} pcre2-32-static )
829
850
830
851
IF (MSVC )
@@ -846,6 +867,9 @@ IF(PCRE2_BUILD_PCRE2_32)
846
867
VERSION ${LIBPCRE2_32_VERSION}
847
868
SOVERSION ${LIBPCRE2_32_SOVERSION}
848
869
OUTPUT_NAME pcre2-32)
870
+ IF (REQUIRE_PTHREAD)
871
+ TARGET_LINK_LIBRARIES (pcre2-32-shared Threads::Threads)
872
+ ENDIF (REQUIRE_PTHREAD)
849
873
SET (targets ${targets} pcre2-32-shared)
850
874
851
875
IF (MINGW)
0 commit comments