TerraLib and TerraView Wiki Page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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.