fixed: compile issue
[opensg.git] / Support / pcre / CMakeLists.txt
blobaf62e2a5cf7bb7968f4f0104a91989903b1b881a
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
3 IF(OSGPcreSrcDir)
5   MESSAGE(STATUS "adding pcre from : ${OSGPcreSrcDir}")
7   PROJECT(OSGPcre)
9   SET(${PROJECT_NAME}SharedTargetPcre    osgpcre)
10   SET(${PROJECT_NAME}SharedTargetPcrecpp osgpcrecpp)
11   SET(${PROJECT_NAME}StaticTargetPcre    libosgpcre)
12   SET(${PROJECT_NAME}StaticTargetPcrecpp libosgpcrecpp)
14   SET(OSG_PCRE_SRCS ${OSGPcreSrcDir}/pcre_compile.c
15                     ${OSGPcreSrcDir}/pcre_config.c
16                     ${OSGPcreSrcDir}/pcre_dfa_exec.c
17                     ${OSGPcreSrcDir}/pcre_exec.c
18                     ${OSGPcreSrcDir}/pcre_fullinfo.c
19                     ${OSGPcreSrcDir}/pcre_get.c
20                     ${OSGPcreSrcDir}/pcre_globals.c
21                     ${OSGPcreSrcDir}/pcre_info.c
22                     ${OSGPcreSrcDir}/pcre_maketables.c
23                     ${OSGPcreSrcDir}/pcre_newline.c
24                     ${OSGPcreSrcDir}/pcre_ord2utf8.c
25                     ${OSGPcreSrcDir}/pcre_refcount.c
26                     ${OSGPcreSrcDir}/pcre_study.c
27                     ${OSGPcreSrcDir}/pcre_tables.c
28                     ${OSGPcreSrcDir}/pcre_try_flipped.c
29                     ${OSGPcreSrcDir}/pcre_ucd.c
30                     ${OSGPcreSrcDir}/pcre_valid_utf8.c
31                     ${OSGPcreSrcDir}/pcre_version.c
32                     ${OSGPcreSrcDir}/pcre_xclass.c
33                     ${CMAKE_BINARY_DIR}/pcre/pcre_chartables.c)
35   SET(OSG_PCRECPP_SRCS ${OSGPcreSrcDir}/pcre_scanner.cc
36                        ${OSGPcreSrcDir}/pcre_stringpiece.cc
37                        ${OSGPcreSrcDir}/pcrecpp.cc)
39   SET(OSG_PCRE_HDR ${OSGPSrcDir})
40   SET(OSG_PCRECPP_HDR ${OSGPSrcDir})
42   ADD_DEFINITIONS(-DHAVE_CONFIG_H)
44   EXECUTE_PROCESS(
45     COMMAND "${CMAKE_COMMAND}" -E copy_if_different
46                      "${OSGPcreSrcDir}/pcre_chartables.c.dist"
47                      "${CMAKE_BINARY_DIR}/pcre/pcre_chartables.c")
49   EXECUTE_PROCESS(
50     COMMAND "${CMAKE_COMMAND}" -E copy_if_different
51                      "${OSGPcreSrcDir}/pcre.h.generic"
52                      "${CMAKE_BINARY_DIR}/pcre/pcre.h")
54   SET(pcre_have_ulong_long 1)
55   SET(pcre_have_long_long 1)
57   CONFIGURE_FILE("${OSGPcreSrcDir}/pcrecpparg.h.in"
58                  "${CMAKE_BINARY_DIR}/pcre/pcrecpparg.h")
60   SET(pcre_have_type_traits 0)
61   SET(pcre_have_bits_type_traits 0)
63   CONFIGURE_FILE("${OSGPcreSrcDir}/pcre_stringpiece.h.in"
64                  "${CMAKE_BINARY_DIR}/pcre/pcre_stringpiece.h")
66   INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/pcre)
67   INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/pcre)
68   INCLUDE_DIRECTORIES(${OSGPcreSrcDir})
70   IF(BUILD_SHARED_LIBS)
72     ADD_LIBRARY(${${PROJECT_NAME}SharedTargetPcre} SHARED 
73                                                    ${OSG_PCRE_SRCS})
75     ADD_DEPENDENCIES(ALL_STANDARD_BUILD ${${PROJECT_NAME}SharedTargetPcre})
77     SET_TARGET_PROPERTIES(${${PROJECT_NAME}SharedTargetPcre} PROPERTIES
78                           DEBUG_POSTFIX "D")
80     INSTALL(TARGETS ${${PROJECT_NAME}SharedTargetPcre}
81                 CONFIGURATIONS Release
82                 RUNTIME DESTINATION bin COMPONENT release_runtimes
83                 LIBRARY DESTINATION lib COMPONENT release_libraries
84                 ARCHIVE DESTINATION lib COMPONENT release_libraries)
86     INSTALL(TARGETS ${${PROJECT_NAME}SharedTargetPcre}
87                 CONFIGURATIONS Debug
88                 RUNTIME DESTINATION bin COMPONENT debug_runtimes
89                 LIBRARY DESTINATION lib COMPONENT debug_libraries
90                 ARCHIVE DESTINATION lib COMPONENT debug_libraries)
92     ADD_LIBRARY(${${PROJECT_NAME}SharedTargetPcrecpp} SHARED 
93                                                       ${OSG_PCRECPP_SRCS})
95     ADD_DEPENDENCIES(ALL_STANDARD_BUILD ${${PROJECT_NAME}SharedTargetPcrecpp})
97     SET_TARGET_PROPERTIES(${${PROJECT_NAME}SharedTargetPcrecpp} PROPERTIES
98                           DEBUG_POSTFIX "D")
100     TARGET_LINK_LIBRARIES(${${PROJECT_NAME}SharedTargetPcrecpp} ${${PROJECT_NAME}SharedTargetPcre})
102     INSTALL(TARGETS ${${PROJECT_NAME}SharedTargetPcrecpp}
103                 CONFIGURATIONS Release
104                 RUNTIME DESTINATION bin COMPONENT release_runtimes
105                 LIBRARY DESTINATION lib COMPONENT release_libraries
106                 ARCHIVE DESTINATION lib COMPONENT release_libraries)
108     INSTALL(TARGETS ${${PROJECT_NAME}SharedTargetPcrecpp}
109                 CONFIGURATIONS Debug
110                 RUNTIME DESTINATION bin COMPONENT debug_runtimes
111                 LIBRARY DESTINATION lib COMPONENT debug_libraries
112                 ARCHIVE DESTINATION lib COMPONENT debug_libraries)
113   ENDIF(BUILD_SHARED_LIBS)
115   IF(BUILD_STATIC_LIBS)
116     ADD_LIBRARY(${${PROJECT_NAME}StaticTargetPcre} STATIC 
117                                                    ${OSG_PCRE_SRCS})
119     ADD_DEPENDENCIES(ALL_STANDARD_BUILD ${${PROJECT_NAME}StaticTargetPcre})
121     SET_TARGET_PROPERTIES(${${PROJECT_NAME}StaticTargetPcre} PROPERTIES
122                           DEBUG_POSTFIX "D"
123                           COMPILE_DEFINITIONS PCRE_STATIC)
125     INSTALL(TARGETS ${${PROJECT_NAME}StaticTargetPcre}
126                 CONFIGURATIONS Release
127                 RUNTIME DESTINATION lib COMPONENT release_libraries
128                 LIBRARY DESTINATION lib COMPONENT release_libraries
129                 ARCHIVE DESTINATION lib COMPONENT release_libraries)
131     INSTALL(TARGETS ${${PROJECT_NAME}StaticTargetPcre}
132                 CONFIGURATIONS Debug
133                 RUNTIME DESTINATION lib COMPONENT debug_libraries
134                 LIBRARY DESTINATION lib COMPONENT debug_libraries
135                 ARCHIVE DESTINATION lib COMPONENT debug_libraries)
137     ADD_LIBRARY(${${PROJECT_NAME}StaticTargetPcrecpp} STATIC 
138                                                       ${OSG_PCRECPP_SRCS})
140     ADD_DEPENDENCIES(ALL_STANDARD_BUILD ${${PROJECT_NAME}StaticTargetPcrecpp})
142     SET_TARGET_PROPERTIES(${${PROJECT_NAME}StaticTargetPcrecpp} PROPERTIES
143                           DEBUG_POSTFIX "D"
144                           COMPILE_DEFINITIONS PCRE_STATIC)
146     INSTALL(TARGETS ${${PROJECT_NAME}StaticTargetPcrecpp}
147                 CONFIGURATIONS Release
148                 RUNTIME DESTINATION lib COMPONENT release_libraries
149                 LIBRARY DESTINATION lib COMPONENT release_libraries
150                 ARCHIVE DESTINATION lib COMPONENT release_libraries)
152     INSTALL(TARGETS ${${PROJECT_NAME}StaticTargetPcrecpp}
153                 CONFIGURATIONS Debug
154                 RUNTIME DESTINATION lib COMPONENT debug_libraries
155                 LIBRARY DESTINATION lib COMPONENT debug_libraries
156                 ARCHIVE DESTINATION lib COMPONENT debug_libraries)
157   ENDIF(BUILD_STATIC_LIBS)
159   SET(OSG_PCRE_INCLUDE_DIR ${OSGPcreSrcDir};${CMAKE_BINARY_DIR}/pcre CACHE PATH "")
160   SET(OSG_PCRE_STATIC_LIBRARY ${${PROJECT_NAME}StaticTargetPcre} CACHE STRING "")
161 #  SET(OSG_PCRE_SHARED_LIBRARY ${${PROJECT_NAME}SharedTargetPcre} CACHE STRING "")
163 ELSE(OSGPcreSrcDir)
164   MESSAGE(STATUS "ignoring pcre")
166   SET(OSGPcreSrcDir "" CACHE PATH "")
167 ENDIF(OSGPcreSrcDir)