Lines Matching +full:cmake +full:- +full:version
1 C++ version of the libphonenumber project
4 This library is a port of the Java version.
6 This project uses some third-party code:
7 - src/phonenumbers/utf/ sources come from lib9 which is also used in Go.
11 -----------------------------------
12 In recent Debian-based distributions you may be able to simply install the
16 - Use this if you just need to use or link against the library:
17 $ sudo apt-get install libphonenumber8 libphonenumber-dev
20 - Use this if you wish to develop or debug the library:
21 $ sudo apt-get source libphonenumber
28 --------------------------------------------
31 The example command lines below assume that you have a Debian-based GNU/Linux
35 - In recent Debian-based distributions, it should be sufficient to run:
36 $ sudo apt-get install \
37 cmake cmake-curses-gui libprotobuf-dev libgtest-dev libre2-dev \
38 libicu-dev libboost-dev libboost-thread-dev libboost-system-dev \
39 protobuf-compiler
45 - CMake build system
46 http://www.cmake.org
49 $ sudo apt-get install cmake
52 $ sudo apt-get install cmake-curses-gui
54 - Protocol Buffers
56 Version 3.6.1 or more recent is required (this is available by default for
57 recent Debian-based GNU/Linux distributions).
59 You can check which version is available:
60 $ apt-cache show libprotobuf-dev
61 Package: libprotobuf-dev
63 Version: 3.6.1-9ubuntu1 <-- This must be >= 3.6.1
67 $ sudo apt-get install libprotobuf-dev
74 - Google Test
78 $ sudo apt-get install libgtest-dev
80 - RE2
84 $ sudo apt-get install libre2-dev
90 http://packages.ubuntu.com/utopic/libre2-1
91 http://packages.ubuntu.com/utopic/libre2-dev
93 You need to download both the libre2-dev and libre2-1 packages.
95 $ sudo dpkg -i libre2*.deb
102 - ICU
104 $ sudo apt-get install libicu-dev
106 Otherwise you need to download the source tarball for the latest version
108 http://site.icu-project.org/download
110 $ tar xzf icu4c-*-src.tgz
114 $ svn export http://source.icu-project.org/repos/icu/icu/tags/release-XX-y-z/
120 - A thread synchronization solution or more recent is required if you need
121 libphonenumber to be thread-safe. Supported solution are:
122 - Boost Version 1.40 or more recent
123 - Posix Thread. Linux or Apple (ios/mac) detection is automatic. On other
124 Posix environnement, uses -DUSE_POSIX_THREAD = ON
125 - C++ 2011 (and later) std::mutex. Uses -DUSE_STDMUTEX = ON to enable
127 - Windows Win32 synchronization API.
132 You can install it very easily on a Debian-based GNU/Linux distribution:
133 $ sudo apt-get install libboost-dev libboost-thread-dev libboost-system-dev
139 --------------------------------
143 $ cmake ..
149 --------------------------------------
155 $ /usr/bin/ruby -e "$(curl -fsSL \
157 $ brew install boost cmake icu4c pkg-config protobuf wget
159 See https://github.com/Homebrew/homebrew/issues/14099 - homebrew does not have
174 Replace XXX in the commands below with the appropriate version number:
175 $ cmake \
176 -DGTEST_SOURCE_DIR=~/googletest_clone/googletest/googletest/ \
177 -DGTEST_INCLUDE_DIR=~/googletest_clone/googletest/googletest/include/ \
178 -DICU_UC_INCLUDE_DIR=/usr/local/Cellar/icu4c/XXX/include/ \
179 -DICU_UC_LIB=/usr/local/Cellar/icu4c/XXX/lib/libicuuc.dylib \
180 -DICU_I18N_INCLUDE_DIR=/usr/local/Cellar/icu4c/XXX/include/ \
181 -DICU_I18N_LIB=/usr/local/Cellar/icu4c/XXX/lib/libicui18n.dylib \
182 -DUSE_STD_MAP=ON \
189 $ rm -rf ~/libphonenumber_clone ~/googletest_clone
193 $ brew uninstall boost cmake icu4c openssl pkg-config protobuf wget
195 $ /usr/bin/ruby -e "$(curl -fsSL \
204 Troubleshooting CMake via ccmake
205 --------------------------------
208 - Incorrect protocol buffer library issues
209 If the build process complains that the version of protoc being used is too
218 To make cmake use the manually installed version of the protocol buffer
219 libraries, install cmake-curses-gui and use ccmake as follows.
231 $ cmake ..
234 - Protoc binary not executing properly
242 # Use the manually installed version of the protocol buffer libraries.
249 - Incorrect ICU library issues
253 downloaded and installed a recent version of the ICU libraries into
265 $ cmake ..
270 -----------------------------------------------
272 Update 2 (https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update2-vs)
275 This enables support of plain UTF-8 source files, for which you also need to specify
276 the /utf-8 option in build files; see "New Options in VS2015 Update 2" at
277 …//blogs.msdn.microsoft.com/vcblog/2016/02/22/new-options-for-managing-character-sets-in-the-micros…
281 Without this version and the option, your compilation will have warnings when
282 setting the codepage for non-Unicode applications on Windows to one of the CJK
283 code pages, since libphonenumber has UTF-8 strings in source files. While these
285 suppressed, but we reserve the right to introduce UTF-8 string literals.
290 - CMake (tested with v2.8.6):
291 http://cmake.org/cmake/resources/software.html
294 - Boost (tested with v1.44) from BoostPro:
298 See Linux instructions for information about thread-safety.
300 - GTest (tested with v1.6.0):
302 * Open msvc/gtest-md.sln with Visual Studio and build the whole solution.
304 - ICU (MSVC binaries, tested with v4.8.1):
305 http://site.icu-project.org/download/48#ICU4C-Download
308 - Protocol Buffers:
313 Then run cmake-gui and specify the path to the libphonenumber's cpp directory
316 When clicking on "Configure", specify the appropriate Visual Studio version
319 Then CMake will need your help to locate the dependencies. You will have to set
323 GTEST_INCLUDE_DIR C:/gtest-1.6.0/include
324 GTEST_LIB C:/gtest-1.6.0/msvc/gtest-md/Release/gtest.lib
332 PROTOBUF_INCLUDE_DIR C:/protobuf-3.6.1/src
333 PROTOBUF_LIB C:/protobuf-3.6.1/vsprojects/Release/libprotobuf.lib
334 PROTOC_BIN C:/protobuf-3.6.1/vsprojects/Release/protoc.exe
336 Then you can click on "Configure" again. CMake should have located all the
345 with cmake-gui.
349 --------------------------
350 Build parameters can be specified invoking CMake with '-DKEY=VALUE' or using a
351 CMake user interface (ccmake or cmake-gui).
353 USE_ALTERNATE_FORMATS = ON | OFF [ON] -- Use alternate formats for the phone
355 USE_BOOST = ON | OFF [ON] -- Use Boost. This is only needed in
356 multi-threaded environments that
359 non-POSIX, non-Windows and non-C++ 2011
360 multi-threading.
361 USE_ICU_REGEXP = ON | OFF [ON] -- Use ICU regexp engine.
362 USE_LITE_METADATA = ON | OFF [OFF] -- Generates smaller metadata that
364 USE_POSIX_THREAD = ON | OFF [OFF] -- Use Posix thread for multi-threading.
365 USE_RE2 = ON | OFF [OFF] -- Use RE2.
366 USE_STD_MAP = ON | OFF [OFF] -- Force the use of std::map.
367 USE_STDMUTEX = ON | OFF [OFF] -- Detect and use C++2011 for multi-threading.
368 REGENERATE_METADATA = ON | OFF [ON] -- When this is set to OFF it will skip