This is an old revision of the document!
Data Access
1. Script CMake:
cmake_minimum_required(VERSION 2.8.12) project(curso_terralib_data_access) add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_VERSION=3 -DBOOST_UBLAS_TYPE_CHECK=0 -DBOOST_LOG_DYN_LINK) if(APPLE) add_definitions(-ftemplate-depth-1024) endif() if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER MATCHES ".*clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -std=c++11") endif() find_package(Boost 1.54.0 REQUIRED system chrono timer filesystem) find_package(terralib REQUIRED) include_directories(${Boost_INCLUDE_DIR} ${terralib_INCLUDE_DIRS} ${terralib_DIR}) file(GLOB CURSO_SRC_FILES *.cpp) add_executable(curso_terralib_data_access ${CURSO_SRC_FILES}) target_link_libraries(curso_terralib_data_access terralib_mod_dataaccess terralib_mod_plugin terralib_mod_geometry ${BOOST_SYSTEM_LIBRARY})
2. Código:
// TerraLib #include <terralib/common.h> #include <terralib/plugin.h> // STL #include <iostream> #include <memory> void LoadModules() { te::plugin::PluginInfo* info; std::string plugins_path = te::common::FindInTerraLibPath("share/terralib/plugins"); info = te::plugin::GetInstalledPlugin(plugins_path + "/te.da.pgis.teplg"); te::plugin::PluginManager::getInstance().add(info); info = te::plugin::GetInstalledPlugin(plugins_path + "/te.da.gdal.teplg"); te::plugin::PluginManager::getInstance().add(info); info = te::plugin::GetInstalledPlugin(plugins_path + "/te.da.ogr.teplg"); te::plugin::PluginManager::getInstance().add(info); te::plugin::PluginManager::getInstance().loadAll(); } void UnloadModules() { te::plugin::PluginManager::getInstance().unloadAll(); } int main(int argc, char* argv[]) { TerraLib::getInstance().initialize(); LoadModules(); UnloadModules(); TerraLib::getInstance().finalize(); return EXIT_SUCCESS; }
3. Opções do CMake:
-DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_PREFIX_PATH:PATH="/home/terralib5/mylibs;/home/terralib5/mylibs/terralib5.1/lib/cmake"