Annotation of embedaddon/curl/docs/INSTALL.cmake, revision 1.1.1.1
1.1 misho 1: _ _ ____ _
2: ___| | | | _ \| |
3: / __| | | | |_) | |
4: | (__| |_| | _ <| |___
5: \___|\___/|_| \_\_____|
6:
7: How To Compile with CMake
8:
9: Building with CMake
10: ==========================
11: This document describes how to compile, build and install curl and libcurl
12: from source code using the CMake build tool. To build with CMake, you will
13: of course have to first install CMake. The minimum required version of
14: CMake is specified in the file CMakeLists.txt found in the top of the curl
15: source tree. Once the correct version of CMake is installed you can follow
16: the instructions below for the platform you are building on.
17:
18: CMake builds can be configured either from the command line, or from one
19: of CMake's GUI's.
20:
21: Current flaws in the curl CMake build
22: =====================================
23:
24: Missing features in the cmake build:
25:
26: - Builds libcurl without large file support
27: - Does not support all SSL libraries (only OpenSSL, WinSSL, DarwinSSL, and
28: mbed TLS)
29: - Doesn't build with SCP and SFTP support (libssh2) (see issue #1155)
30: - Doesn't allow different resolver backends (no c-ares build support)
31: - No RTMP support built
32: - Doesn't allow build curl and libcurl debug enabled
33: - Doesn't allow a custom CA bundle path
34: - Doesn't allow you to disable specific protocols from the build
35: - Doesn't find or use krb4 or GSS
36: - Rebuilds test files too eagerly, but still can't run the tests
37: - Doesn't detect the correct strerror_r flavor when cross-compiling (issue #1123)
38:
39:
40: Command Line CMake
41: ==================
42: A CMake build of curl is similar to the autotools build of curl. It
43: consists of the following steps after you have unpacked the source.
44:
45: 1. Create an out of source build tree parallel to the curl source
46: tree and change into that directory
47:
48: $ mkdir curl-build
49: $ cd curl-build
50:
51: 2. Run CMake from the build tree, giving it the path to the top of
52: the curl source tree. CMake will pick a compiler for you. If you
53: want to specify the compile, you can set the CC environment
54: variable prior to running CMake.
55:
56: $ cmake ../curl
57: $ make
58:
59: 3. Install to default location:
60:
61: $ make install
62:
63: (The test suite does not work with the cmake build)
64:
65: ccmake
66: =========
67: CMake comes with a curses based interface called ccmake. To run ccmake on
68: a curl use the instructions for the command line cmake, but substitute
69: ccmake ../curl for cmake ../curl. This will bring up a curses interface
70: with instructions on the bottom of the screen. You can press the "c" key
71: to configure the project, and the "g" key to generate the project. After
72: the project is generated, you can run make.
73:
74: cmake-gui
75: =========
76: CMake also comes with a Qt based GUI called cmake-gui. To configure with
77: cmake-gui, you run cmake-gui and follow these steps:
78: 1. Fill in the "Where is the source code" combo box with the path to
79: the curl source tree.
80: 2. Fill in the "Where to build the binaries" combo box with the path
81: to the directory for your build tree, ideally this should not be the
82: same as the source tree, but a parallel directory called curl-build or
83: something similar.
84: 3. Once the source and binary directories are specified, press the
85: "Configure" button.
86: 4. Select the native build tool that you want to use.
87: 5. At this point you can change any of the options presented in the
88: GUI. Once you have selected all the options you want, click the
89: "Generate" button.
90: 6. Run the native build tool that you used CMake to generate.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>