Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:terralib5_build [2014/08/18 10:41] marisa [CMake command line] |
wiki:terralib5_build [2014/09/25 16:41] (current) marisa |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== TerraLib 5.0.0-alpha - Build and Install ====== | + | ====== TerraLib 5.0 - General guide for Building and Install ====== |
Useful links: | Useful links: | ||
- | * [[wiki:terralib5_build#Cmake-GUI| Using the Cmake-GUI]] | + | * [[wiki:terralib5_build#CMake_Command_Line_Notes| Using Cmake Command line]] |
- | * [[wiki:terralib5_build#Cmake_Command_Line| Using Cmake Command line]] | + | |
- | * [[wiki:terralib5_build#ccmake| Using Ccmake]] | + | |
===== Building Terralib ===== | ===== Building Terralib ===== | ||
- | This section explains how to build the TerraLib from source code in some platforms. The original instructions are in BUILD-INSTRUCTIONS file at the terralib codebase. | + | This section explains how to build the TerraLib from source code in some platforms. The most updated instructions are in BUILD-INSTRUCTIONS file located at the root of the terralib codebase directory. Here are the general instructions and might not have all variables needed for a specific release. |
==== 1. Build instructions on Linux with g++ (GNU gcc) ==== | ==== 1. Build instructions on Linux with g++ (GNU gcc) ==== | ||
Line 110: | Line 108: | ||
j) To run and debug terraview application, set it as StartUp Project at Microsoft Visual C++ 2010. | j) To run and debug terraview application, set it as StartUp Project at Microsoft Visual C++ 2010. | ||
- | k) To run and debug examples and/or unittests make sure the data used are located at the default directory: | + | k) To run and debug examples and/or unittests make sure the data (http://www.dpi.inpe.br/terralib5-devel/data.zip) used are located at the default directory: |
TERRALIB_DATA_DIR C:\terralib\build-win32\data | TERRALIB_DATA_DIR C:\terralib\build-win32\data | ||
l) Make sure the default directory used to save the reports generated by the unittests exist, otherwise no report will be saved: | l) Make sure the default directory used to save the reports generated by the unittests exist, otherwise no report will be saved: | ||
TERRALIB_REPORT_DIR C:\terralib\build-win32\report | TERRALIB_REPORT_DIR C:\terralib\build-win32\report | ||
+ | |||
+ | 2.2 On MacOs and Linux: | ||
+ | |||
+ | a) We will assume that the TerraLib source tree (git clone) is located at: | ||
+ | /home/user/terralib5 | ||
+ | |||
+ | b) We wil assume that the build tree where will be generated the binaries is located at: | ||
+ | /home/user/build_terralib5 | ||
+ | |||
+ | c) We will assume that all the third-party libraries that TerraLib needs to be compiled are installed in your system, and the Qt5 version is used. | ||
+ | |||
+ | d) Open CMake-GUI in order to generate a build project for MacOS or Linux: | ||
+ | |||
+ | e) Then assure that the following variables are set to the locations defined above: | ||
+ | Where is the source code => /home/user/terralib5 | ||
+ | Where to build the binaries => /home/user/build_terralib5 | ||
+ | |||
+ | f) Then press the Add Entry button containing the following CMake variables: | ||
+ | |||
+ | Name: CMAKE_PREFIX_PATH | ||
+ | Type: PATH | ||
+ | Value: /qt5_install_dir/lib/cmake/Qt5 and | ||
+ | Name: CMAKE_BUILD_TYPE | ||
+ | Type: String | ||
+ | Value: Release(or Debug) | ||
+ | |||
+ | g) Then press "Configure" button. If it is the first time that you press this button, select the Generator to be used (Makefile or a selected IDE like Eclipse for Linux, or XCode for MacOS) | ||
+ | |||
+ | Note: Some projects may be disabled through the following variables: | ||
+ | TERRALIB_BUILD_EXAMPLES_ENABLED => OFF | ||
+ | TERRALIB_BUILD_UNITTEST_ENABLED => OFF | ||
+ | |||
+ | h) According to the generator selected previously, in the build tree directory(/home/user/build_terralib5) will be generated a Makefile or the file corresponding to the IDE selected. | ||
+ | |||
+ | i) TerraLib/TerraView can be compiled calling make for the Makefile Generator, Eclipse (for Linux) or XCode (for MacOS). | ||
+ | |||
+ | j) To run and debug terralib_example_* and/or terralib_unittest_* make it the current project and make sure the data (http://www.dpi.inpe.br/terralib5-devel/data.zip) used are located at the build directory: | ||
+ | TERRALIB_DATA_DIR /home/user/build_terralib5/data | ||
+ | |||
+ | k) Make sure the default directory used to save the reports generated by the terralib_unittest_* exists, otherwise no report will be saved: | ||
+ | TERRALIB_REPORT_DIR /home/user/build_terralib5/report | ||
For more information on TerraLib, please, visit its main web page at: http://www.terralib.org. | For more information on TerraLib, please, visit its main web page at: http://www.terralib.org. | ||
- | ==== CMake command line ==== | + | ==== CMake command line notes==== |
Using the CMake command line to build the compilation projects. | Using the CMake command line to build the compilation projects. | ||
Line 131: | Line 170: | ||
^Variable^Effect^Example^ | ^Variable^Effect^Example^ | ||
| CMAKE_BUILD_TYPE | Sets the build type. Such as Debug or Release | -DCMAKE_BUILD_TYPE=Debug | | | CMAKE_BUILD_TYPE | Sets the build type. Such as Debug or Release | -DCMAKE_BUILD_TYPE=Debug | | ||
- | | TERRALIB_* | Enable/disable [ON/OFF] the TerraLib module | -DBUILD_TERRALIB_*=OFF | | ||
| QWT_INCLUDE_DIR | Sets the include path of the QWT library | -DQWT_INCLUDE_DIR=<DIRECTORY> | | | QWT_INCLUDE_DIR | Sets the include path of the QWT library | -DQWT_INCLUDE_DIR=<DIRECTORY> | | ||
| QWT_LIBRARY_DEBUG | Sets the path of the QWT library in Debug | -DQWT_LIBRARY_DEBUG=<LIBRARY_FILE_PATH> | | | QWT_LIBRARY_DEBUG | Sets the path of the QWT library in Debug | -DQWT_LIBRARY_DEBUG=<LIBRARY_FILE_PATH> | | ||
Line 161: | Line 199: | ||
A few examples of how to call CMake to build terralib: | A few examples of how to call CMake to build terralib: | ||
+ | |||
+ | * Calling from a building dir while pointing to the source (main CmakeLists location), specifying Unix Makefiles as a generator, compiling in Release | ||
+ | |||
+ | $ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH="/usr/local/terralib" ../codebase/build/ | ||
* Specifying Visual Studio 10 as the generator, using source code located at C:\Dev\Terralib\build and setting the option to generate a NSIS installer as true: | * Specifying Visual Studio 10 as the generator, using source code located at C:\Dev\Terralib\build and setting the option to generate a NSIS installer as true: | ||
- | cmake -G 'Visual Studio 10' C:\Dev\Terralib\build -DTE_DEPENDENCIES_DIR=C:/Libs/terralib_3rdparty_win32 -DCPACK_BINARY_NSIS=True | + | $ cmake -G 'Visual Studio 10' C:\Dev\Terralib\build -DTE_DEPENDENCIES_DIR=C:/Libs/terralib_3rdparty_win32 -DCPACK_BINARY_NSIS=True |
* Calling from a building dir while pointing to the source (main CmakeLists location), specifying Unix Makefiles as a generator, compiling in Release and adjusting the QWT references to the path of a locally compiled version: | * Calling from a building dir while pointing to the source (main CmakeLists location), specifying Unix Makefiles as a generator, compiling in Release and adjusting the QWT references to the path of a locally compiled version: | ||
- | cmake -G 'Unix Makefiles' /home/<user>/terralib5/build -DCMAKE_BUILD_TYPE=Release -DQWT_INCLUDE_DIR=/usr/local/qwt-6.1.0/ include -DQWT_LIBRARY_RELEASE=/usr/local/qwt-6.1.0/lib/libqwt.so.6.1.0 | + | $ cmake -G 'Unix Makefiles' /home/<user>/terralib5/build -DCMAKE_BUILD_TYPE=Release -DQWT_INCLUDE_DIR=/usr/local/qwt-6.1.0/include -DQWT_LIBRARY_RELEASE=/usr/local/qwt-6.1.0/lib/libqwt.so.6.1.0 |
== Notes for Linux build == | == Notes for Linux build == | ||
Line 176: | Line 218: | ||
^Variable^Effect^Example^ | ^Variable^Effect^Example^ | ||
| LD_LIBRARY_PATH | A colon-separated set of directories where third party libraries should be searched for first, before the standard set of directories | LD_LIBRARY_PATH=/home/user/mylibraries | | | LD_LIBRARY_PATH | A colon-separated set of directories where third party libraries should be searched for first, before the standard set of directories | LD_LIBRARY_PATH=/home/user/mylibraries | | ||
- | |||
- | ==== CCmake ==== | ||
- | |||
- | Using the curses based Interface (ccmake) to build the compilation projects. | ||
- | |||
- | On some Unix platforms, you can install a curses based cmake gui that is a terminal based text application and can be used as well. The commands are basically the same as before, but instead of using "cmake" use "ccmake" instead. | ||
- | |||
- | Example: ccmake /home/<username>/source/terralib5/build (Executed from the <building_dir>) | ||
- | |||
- | {{ :wiki:ccmake.png?1080 |}} | ||
- | |||
- | Once executed, the user can manually adjust the variables and customize the compilation. Once the options have been adjusted type c to configure the project and then type g to generate the build files and exit ccmake. | ||