Annotation of embedaddon/curl/docs/INSTALL.cmake, revision 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>