Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: third_party/protobuf/cmake/CMakeLists.txt

Issue 2495533002: third_party/protobuf: Update to HEAD (83d681ee2c) (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Minimum CMake required 1 # Minimum CMake required
2 cmake_minimum_required(VERSION 2.8) 2 cmake_minimum_required(VERSION 2.8.12)
3
4 if(protobuf_VERBOSE)
5 message(STATUS "Protocol Buffers Configuring...")
6 endif()
7
8 # CMake policies
9 cmake_policy(SET CMP0022 NEW)
3 10
4 # Project 11 # Project
5 project(protobuf C CXX) 12 project(protobuf C CXX)
6 13
7 # CMake policies
8 cmake_policy(SET CMP0022 NEW)
9
10 # Options 14 # Options
11 option(protobuf_VERBOSE "Enable for verbose output" OFF)
12 option(protobuf_BUILD_TESTS "Build tests" ON) 15 option(protobuf_BUILD_TESTS "Build tests" ON)
16 option(protobuf_BUILD_EXAMPLES "Build examples" OFF)
13 if (BUILD_SHARED_LIBS) 17 if (BUILD_SHARED_LIBS)
14 set(protobuf_BUILD_SHARED_LIBS_DEFAULT ON) 18 set(protobuf_BUILD_SHARED_LIBS_DEFAULT ON)
15 else (BUILD_SHARED_LIBS) 19 else (BUILD_SHARED_LIBS)
16 set(protobuf_BUILD_SHARED_LIBS_DEFAULT OFF) 20 set(protobuf_BUILD_SHARED_LIBS_DEFAULT OFF)
17 endif (BUILD_SHARED_LIBS) 21 endif (BUILD_SHARED_LIBS)
18 option(protobuf_BUILD_SHARED_LIBS "Build Shared Libraries" ${protobuf_BUILD_SHAR ED_LIBS_DEFAULT}) 22 option(protobuf_BUILD_SHARED_LIBS "Build Shared Libraries" ${protobuf_BUILD_SHAR ED_LIBS_DEFAULT})
19 option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime libraries" ON) 23 include(CMakeDependentOption)
24 cmake_dependent_option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime librari es" ON
25 "NOT protobuf_BUILD_SHARED_LIBS" OFF)
20 if (MSVC) 26 if (MSVC)
21 set(protobuf_WITH_ZLIB_DEFAULT OFF) 27 set(protobuf_WITH_ZLIB_DEFAULT OFF)
22 else (MSVC) 28 else (MSVC)
23 set(protobuf_WITH_ZLIB_DEFAULT ON) 29 set(protobuf_WITH_ZLIB_DEFAULT ON)
24 endif (MSVC) 30 endif (MSVC)
25 option(protobuf_WITH_ZLIB "Build with zlib support" ${protobuf_WITH_ZLIB_DEFAULT }) 31 option(protobuf_WITH_ZLIB "Build with zlib support" ${protobuf_WITH_ZLIB_DEFAULT })
26 set(protobuf_DEBUG_POSTFIX "d" 32 set(protobuf_DEBUG_POSTFIX "d"
27 CACHE STRING "Default debug postfix") 33 CACHE STRING "Default debug postfix")
34 mark_as_advanced(protobuf_DEBUG_POSTFIX)
35 # User options
36 include(protobuf-options.cmake)
28 37
29 # Path to main configure script 38 # Path to main configure script
30 set(protobuf_CONFIGURE_SCRIPT "../configure.ac") 39 set(protobuf_CONFIGURE_SCRIPT "../configure.ac")
31 40
32 # Parse configure script 41 # Parse configure script
33 set(protobuf_AC_INIT_REGEX 42 set(protobuf_AC_INIT_REGEX
34 "^AC_INIT\\(\\[([^]]+)\\],\\[([^]]+)\\],\\[([^]]+)\\],\\[([^]]+)\\]\\)$") 43 "^AC_INIT\\(\\[([^]]+)\\],\\[([^]]+)\\],\\[([^]]+)\\],\\[([^]]+)\\]\\)$")
35 file(STRINGS "${protobuf_CONFIGURE_SCRIPT}" protobuf_AC_INIT_LINE 44 file(STRINGS "${protobuf_CONFIGURE_SCRIPT}" protobuf_AC_INIT_LINE
36 LIMIT_COUNT 1 REGEX "^AC_INIT") 45 LIMIT_COUNT 1 REGEX "^AC_INIT")
37 # Description 46 # Description
38 string(REGEX REPLACE "${protobuf_AC_INIT_REGEX}" "\\1" 47 string(REGEX REPLACE "${protobuf_AC_INIT_REGEX}" "\\1"
39 protobuf_DESCRIPTION "${protobuf_AC_INIT_LINE}") 48 protobuf_DESCRIPTION "${protobuf_AC_INIT_LINE}")
40 # Version 49 # Version
41 string(REGEX REPLACE "${protobuf_AC_INIT_REGEX}" "\\2" 50 string(REGEX REPLACE "${protobuf_AC_INIT_REGEX}" "\\2"
42 protobuf_VERSION_STRING "${protobuf_AC_INIT_LINE}") 51 protobuf_VERSION_STRING "${protobuf_AC_INIT_LINE}")
43 # Contact 52 # Contact
44 string(REGEX REPLACE "${protobuf_AC_INIT_REGEX}" "\\3" 53 string(REGEX REPLACE "${protobuf_AC_INIT_REGEX}" "\\3"
45 protobuf_CONTACT "${protobuf_AC_INIT_LINE}") 54 protobuf_CONTACT "${protobuf_AC_INIT_LINE}")
46 # Parse version tweaks 55 # Parse version tweaks
47 set(protobuf_VERSION_REGEX "^([0-9]+)\\.([0-9]+)\\.([0-9]+).*$") 56 set(protobuf_VERSION_REGEX "^([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)$")
48 string(REGEX REPLACE "${protobuf_VERSION_REGEX}" "\\1" 57 string(REGEX REPLACE "${protobuf_VERSION_REGEX}" "\\1"
49 protobuf_VERSION_MAJOR "${protobuf_VERSION_STRING}") 58 protobuf_VERSION_MAJOR "${protobuf_VERSION_STRING}")
50 string(REGEX REPLACE "${protobuf_VERSION_REGEX}" "\\2" 59 string(REGEX REPLACE "${protobuf_VERSION_REGEX}" "\\2"
51 protobuf_VERSION_MINOR "${protobuf_VERSION_STRING}") 60 protobuf_VERSION_MINOR "${protobuf_VERSION_STRING}")
52 string(REGEX REPLACE "${protobuf_VERSION_REGEX}" "\\3" 61 string(REGEX REPLACE "${protobuf_VERSION_REGEX}" "\\3"
53 protobuf_VERSION_PATCH "${protobuf_VERSION_STRING}") 62 protobuf_VERSION_PATCH "${protobuf_VERSION_STRING}")
63 string(REGEX REPLACE "${protobuf_VERSION_REGEX}" "\\4"
64 protobuf_VERSION_PRERELEASE "${protobuf_VERSION_STRING}")
65
54 # Package version 66 # Package version
55 set(protobuf_VERSION 67 set(protobuf_VERSION
56 "${protobuf_VERSION_MAJOR}.${protobuf_VERSION_MINOR}.${protobuf_VERSION_PATCH} ") 68 "${protobuf_VERSION_MAJOR}.${protobuf_VERSION_MINOR}.${protobuf_VERSION_PATCH} ")
57 69
70 if(protobuf_VERSION_PRERELEASE)
71 set(protobuf_VERSION "${protobuf_VERSION}-${protobuf_VERSION_PRERELEASE}")
72 endif()
73
58 if(protobuf_VERBOSE) 74 if(protobuf_VERBOSE)
59 message(STATUS "Configuration script parsing status [") 75 message(STATUS "Configuration script parsing status [")
60 message(STATUS " Description : ${protobuf_DESCRIPTION}") 76 message(STATUS " Description : ${protobuf_DESCRIPTION}")
61 message(STATUS " Version : ${protobuf_VERSION} (${protobuf_VERSION_STRING })") 77 message(STATUS " Version : ${protobuf_VERSION} (${protobuf_VERSION_STRING })")
62 message(STATUS " Contact : ${protobuf_CONTACT}") 78 message(STATUS " Contact : ${protobuf_CONTACT}")
63 message(STATUS "]") 79 message(STATUS "]")
64 endif() 80 endif()
65 81
66 add_definitions(-DGOOGLE_PROTOBUF_CMAKE_BUILD) 82 add_definitions(-DGOOGLE_PROTOBUF_CMAKE_BUILD)
67 83
68 find_package(Threads REQUIRED) 84 find_package(Threads REQUIRED)
69 if (CMAKE_USE_PTHREADS_INIT) 85 if (CMAKE_USE_PTHREADS_INIT)
70 add_definitions(-DHAVE_PTHREAD) 86 add_definitions(-DHAVE_PTHREAD)
71 endif (CMAKE_USE_PTHREADS_INIT) 87 endif (CMAKE_USE_PTHREADS_INIT)
72 88
89 set(_protobuf_FIND_ZLIB)
73 if (protobuf_WITH_ZLIB) 90 if (protobuf_WITH_ZLIB)
74 find_package(ZLIB) 91 find_package(ZLIB)
75 if (ZLIB_FOUND) 92 if (ZLIB_FOUND)
76 set(HAVE_ZLIB 1) 93 set(HAVE_ZLIB 1)
77 # FindZLIB module define ZLIB_INCLUDE_DIRS variable 94 # FindZLIB module define ZLIB_INCLUDE_DIRS variable
78 # Set ZLIB_INCLUDE_DIRECTORIES for compatible 95 # Set ZLIB_INCLUDE_DIRECTORIES for compatible
79 set(ZLIB_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS }) 96 set(ZLIB_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS })
80 # Using imported target if exists 97 # Using imported target if exists
81 if (TARGET ZLIB::ZLIB) 98 if (TARGET ZLIB::ZLIB)
82 set(ZLIB_LIBRARIES ZLIB::ZLIB) 99 set(ZLIB_LIBRARIES ZLIB::ZLIB)
100 set(_protobuf_FIND_ZLIB "if(NOT ZLIB_FOUND)\n find_package(ZLIB)\nendif() ")
83 endif (TARGET ZLIB::ZLIB) 101 endif (TARGET ZLIB::ZLIB)
84 else (ZLIB_FOUND) 102 else (ZLIB_FOUND)
85 set(HAVE_ZLIB 0) 103 set(HAVE_ZLIB 0)
86 # Explicitly set these to empty (override NOT_FOUND) so cmake doesn't 104 # Explicitly set these to empty (override NOT_FOUND) so cmake doesn't
87 # complain when we use them later. 105 # complain when we use them later.
88 set(ZLIB_INCLUDE_DIRECTORIES) 106 set(ZLIB_INCLUDE_DIRECTORIES)
89 set(ZLIB_LIBRARIES) 107 set(ZLIB_LIBRARIES)
90 endif (ZLIB_FOUND) 108 endif (ZLIB_FOUND)
91 endif (protobuf_WITH_ZLIB) 109 endif (protobuf_WITH_ZLIB)
92 110
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 152
135 if (MSVC) 153 if (MSVC)
136 # Add the "lib" prefix for generated .lib outputs. 154 # Add the "lib" prefix for generated .lib outputs.
137 set(LIB_PREFIX lib) 155 set(LIB_PREFIX lib)
138 else (MSVC) 156 else (MSVC)
139 # When building with "make", "lib" prefix will be added automatically by 157 # When building with "make", "lib" prefix will be added automatically by
140 # the build tool. 158 # the build tool.
141 set(LIB_PREFIX) 159 set(LIB_PREFIX)
142 endif (MSVC) 160 endif (MSVC)
143 161
162 if (protobuf_UNICODE)
163 add_definitions(-DUNICODE -D_UNICODE)
164 endif (protobuf_UNICODE)
165
144 include(libprotobuf-lite.cmake) 166 include(libprotobuf-lite.cmake)
145 include(libprotobuf.cmake) 167 include(libprotobuf.cmake)
146 include(libprotoc.cmake) 168 include(libprotoc.cmake)
147 include(protoc.cmake) 169 include(protoc.cmake)
148 170
149 if (protobuf_BUILD_TESTS) 171 if (protobuf_BUILD_TESTS)
150 include(tests.cmake) 172 include(tests.cmake)
151 endif (protobuf_BUILD_TESTS) 173 endif (protobuf_BUILD_TESTS)
152 174
153 include(install.cmake) 175 include(install.cmake)
176
177 if (protobuf_BUILD_EXAMPLES)
178 include(examples.cmake)
179 endif (protobuf_BUILD_EXAMPLES)
180
181 if(protobuf_VERBOSE)
182 message(STATUS "Protocol Buffers Configuring done")
183 endif()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698