diff --git a/CMakeLists.txt b/CMakeLists.txt index c70e2711f5ddf7627c0bf1b2253feb1a3c623824..2bb4b62bf78ac242a761589294c2c74f216df4dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,8 +13,8 @@ ENDIF (NOT VTK_FOUND) INCLUDE( ${VTK_USE_FILE} ) # Find libgeotiff -FIND_PACKAGE( LibTiff REQUIRED ) -FIND_PACKAGE( LibGeoTiff REQUIRED ) +FIND_PACKAGE( LibTiff ) +FIND_PACKAGE( LibGeoTiff ) SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /ZI /Od /Ob0") diff --git a/DataView/CMakeLists.txt b/DataView/CMakeLists.txt index 5732033964649fa627754f239e08689091960751..8ae693bc6a6905f6053e4dee8c8eb40eb83696c8 100644 --- a/DataView/CMakeLists.txt +++ b/DataView/CMakeLists.txt @@ -25,7 +25,6 @@ set( SOURCES MshTabWidget.cpp OGSRaster.cpp QueryResultsDialog.cpp - SHPImportDialog.cpp StationTabWidget.cpp StationTreeModel.cpp StationTreeView.cpp @@ -54,7 +53,6 @@ set( MOC_HEADERS MshQualitySelectionDialog.h MshTabWidget.h QueryResultsDialog.h - SHPImportDialog.h StationTabWidget.h StationTreeModel.h StationTreeView.h @@ -118,12 +116,9 @@ include_directories( ./DiagramView ./StratView ../VtkVis - ${CMAKE_SOURCE_DIR} - ${Shapelib_INCLUDE_DIR} + ${CMAKE_SOURCE_DIR} #${OpenSG_INCLUDE_DIR} #${OpenSGSupportlibs_INCLUDE_DIR} - ${libtiff_INCLUDE_DIR} - ${libgeotiff_INCLUDE_DIR} ) if (OGS_COMPILE_QVTK) @@ -138,6 +133,15 @@ IF (OGS_USE_OPENSG) INCLUDE_DIRECTORIES( ${OpenSG_INCLUDE_DIRS} ) ENDIF (OGS_USE_OPENSG) +IF (Shapelib_FOUND) + SET( ${SOURCES} SHPImportDialog.cpp) + SET( ${MOC_HEADERS} SHPImportDialog.h) + INCLUDE_DIRECTORIES( ${Shapelib_INCLUDE_DIR} ) +ENDIF () # Shapelib_FOUND +IF (libtiff_FOUND AND libgeotiff_FOUND) + INCLUDE_DIRECTORIES( ${libtiff_INCLUDE_DIR} ${libgeotiff_INCLUDE_DIR} ) +ENDIF () # libtiff_FOUND AND libgeotiff_FOUND + # Put moc files in a project folder source_group("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") source_group("Moc Files" REGULAR_EXPRESSION "moc_.*") @@ -156,13 +160,18 @@ add_library( QtDataView STATIC # Link Qt library target_link_libraries( QtDataView ${QT_LIBRARIES} - ${libtiff_LIBRARIES} - ${libgeotiff_LIBRARIES} FEM FileIO GEO MSH QtBase DiagramView - ${Shapelib_LIBRARIES} + StratView ) + +IF (Shapelib_FOUND) + TARGET_LINK_LIBRARIES( QtDataView ${Shapelib_LIBRARIES} ) +ENDIF () # Shapelib_FOUND +IF (libtiff_FOUND AND libgeotiff_FOUND) + TARGET_LINK_LIBRARIES( QtDataView ${libtiff_LIBRARIES} ${libgeotiff_LIBRARIES} ) +ENDIF () # libtiff_FOUND AND libgeotiff_FOUND diff --git a/DataView/OGSRaster.cpp b/DataView/OGSRaster.cpp index b0bcf895cf50134ca183b53d626fb0d845270b81..74b0b081e2617ea72b41ce39edfd10906c75b7b7 100644 --- a/DataView/OGSRaster.cpp +++ b/DataView/OGSRaster.cpp @@ -16,10 +16,10 @@ #include "StringTools.h" #include "OGSError.h" -// libgeotiff includes +#ifdef libgeotiff_FOUND #include "geo_tiffp.h" #include "xtiffio.h" - +#endif bool OGSRaster::loadImage(const QString &fileName, QImage &raster, QPointF &origin, double &scalingFactor, bool autoscale /* = true */, bool mirrorX /* = false */) @@ -35,12 +35,14 @@ bool OGSRaster::loadImage(const QString &fileName, QImage &raster, QPointF &orig if (mirrorX) raster = raster.transformed(QTransform(1, 0, 0, -1, 0, 0), Qt::FastTransformation); } +#ifdef libgeotiff_FOUND else if (fileInfo.suffix().toLower() == "tif") { if (!loadImageFromTIFF(fileName, raster, origin, scalingFactor)) return false; if (!mirrorX) raster = raster.transformed(QTransform(1, 0, 0, -1, 0, 0), Qt::FastTransformation); } +#endif else { if (!loadImageFromFile(fileName, raster)) return false; @@ -189,6 +191,7 @@ double* OGSRaster::loadDataFromASC(const QString &fileName, double &x0, double & return NULL; } +#ifdef libgeotiff_FOUND bool OGSRaster::loadImageFromTIFF(const QString &fileName, QImage &raster, QPointF &origin, double &cellsize) { TIFF* tiff = XTIFFOpen(fileName.toStdString().c_str(), "r"); @@ -284,7 +287,7 @@ bool OGSRaster::loadImageFromTIFF(const QString &fileName, QImage &raster, QPoin std::cout << "OGSRaster::loadImageFromTIFF() - File not recognised as TIFF-Image." << std::endl; return false; } - +#endif bool OGSRaster::loadImageFromFile(const QString &fileName, QImage &raster) { diff --git a/DataView/OGSRaster.h b/DataView/OGSRaster.h index 05b7aa02e0f16abfaead40980d13ea62dc83b344..918397539c858ccf60f9e8504c4a5f5d844146fe 100644 --- a/DataView/OGSRaster.h +++ b/DataView/OGSRaster.h @@ -7,6 +7,7 @@ #define OGSRASTER_H #include <fstream> +#include "Configure.h" class QImage; class QPointF; @@ -95,7 +96,9 @@ private: * \param cellsize The size of each pixel in the image which is needed for re-scaling the data * \return True if the raster data was loaded correctly, false otherwise. */ +#ifdef libgeotiff_FOUND static bool loadImageFromTIFF(const QString &fileName, QImage &raster, QPointF &origin, double &scalingFactor); +#endif /** * Loads image files into a QPixmap object. Since images are not geo-referenced no origin point will be returned. diff --git a/DataView/StationTreeView.cpp b/DataView/StationTreeView.cpp index ec3b8568c770076e0026c9b05f3eedecfaf94e6e..ca0204256e9ab629ce9faecd7dba2fc6d097e51a 100644 --- a/DataView/StationTreeView.cpp +++ b/DataView/StationTreeView.cpp @@ -7,6 +7,7 @@ #include <QFileDialog> #include <QMenu> +#include "Configure.h" #include "Station.h" #include "StationIO.h" #include "GMSInterface.h" diff --git a/Gui/CMakeLists.txt b/Gui/CMakeLists.txt index 24a8cd3952c1f305a9c097f33c92398b79f416e3..5b5df2e16381a0c51b22a5668d0aca697a7be984 100644 --- a/Gui/CMakeLists.txt +++ b/Gui/CMakeLists.txt @@ -45,9 +45,12 @@ INCLUDE_DIRECTORIES( ../StratView ../VtkVis ../VtkAct - ${Shapelib_INCLUDE_DIR} ) +IF (Shapelib_FOUND) + INCLUDE_DIRECTORIES( ${Shapelib_INCLUDE_DIR} ) +ENDIF () # Shapelib_FOUND + if (OGS_COMPILE_QVTK) INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/Qt/QVTK ../QVTK) endif (OGS_COMPILE_QVTK) @@ -56,7 +59,6 @@ endif (OGS_COMPILE_QVTK) SOURCE_GROUP("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") SOURCE_GROUP("Moc Files" REGULAR_EXPRESSION "moc_.*") - # Create the library ADD_EXECUTABLE( ogs-gui main.cpp @@ -67,7 +69,6 @@ ADD_EXECUTABLE( ogs-gui ${UIS} ) -# Link Qt library TARGET_LINK_LIBRARIES( ogs-gui ${QT_LIBRARIES} Base @@ -79,18 +80,23 @@ TARGET_LINK_LIBRARIES( ogs-gui QtBase QtDataView StratView - ${Shapelib_LIBRARIES} - ${libtiff_LIBRARIES} - ${libgeotiff_LIBRARIES} QVTK VtkVis VtkAct ) +IF (Shapelib_FOUND) + TARGET_LINK_LIBRARIES( ogs-gui ${Shapelib_LIBRARIES} ) +ENDIF () # Shapelib_FOUND + +IF (libtiff_FOUND AND libgeotiff_FOUND) + TARGET_LINK_LIBRARIES( ogs-gui ${libtiff_LIBRARIES} ${libgeotiff_LIBRARIES} ) +ENDIF () # libtiff_FOUND AND libgeotiff_FOUND + ADD_DEPENDENCIES ( ogs-gui VtkVis OGSProject ) -# Set linker flags IF(MSVC) + # Set linker flags SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:MSVCRT") ENDIF(MSVC) diff --git a/Gui/mainwindow.cpp b/Gui/mainwindow.cpp index 0057275bb1f4b13b67f9fcd37ced7f16fa6d0257..75759f3e7d928a191571f80035c60d2b6af93a00 100644 --- a/Gui/mainwindow.cpp +++ b/Gui/mainwindow.cpp @@ -20,10 +20,13 @@ #include "LineEditDialog.h" #include "ListPropertiesDialog.h" #include "MshQualitySelectionDialog.h" -#include "SHPImportDialog.h" #include "VtkAddFilterDialog.h" #include "VisPrefsDialog.h" +#ifdef shapelib_FOUND +#include "SHPImportDialog.h" +#endif + #include "OGSRaster.h" #include "OGSError.h" #include "Configure.h" @@ -224,7 +227,7 @@ MainWindow::MainWindow(QWidget *parent /* = 0*/) const unsigned int screenCount = desktopWidget->screenCount(); #endif // OGS_QT_VERSION < 46 for (size_t i = 0; i < screenCount; ++i) - _screenGeometries.push_back(desktopWidget->availableGeometry(i)); + _screenGeometries.push_back(desktopWidget->availableGeometry((int)i)); // Setup import files menu menu_File->insertMenu(action_Exit, createImportFilesMenu()); @@ -653,8 +656,10 @@ QMenu* MainWindow::createImportFilesMenu() QAction* rasterPolyFiles = importFiles->addAction("R&aster Files as PolyData..."); connect(rasterPolyFiles, SIGNAL(triggered()), this, SLOT(importRasterAsPoly())); #endif +#ifdef shapelib_FOUND QAction* shapeFiles = importFiles->addAction("&Shape Files..."); connect(shapeFiles, SIGNAL(triggered()), this, SLOT(importShape())); +#endif QAction* vtkFiles = importFiles->addAction("&VTK Files..."); connect( vtkFiles, SIGNAL(triggered()), this, SLOT(importVtk()) ); @@ -743,6 +748,7 @@ void MainWindow::importRasterAsPoly() OGSError::box("File extension not supported."); } +#ifdef shapelib_FOUND void MainWindow::importShape() { QSettings settings("UFZ", "OpenGeoSys-5"); @@ -760,6 +766,7 @@ void MainWindow::importShape() settings.setValue("lastOpenedFileDirectory", dir.absolutePath()); } } +#endif void MainWindow::importPetrel() { diff --git a/Gui/mainwindow.h b/Gui/mainwindow.h index f60aa821e60924b5bcdee3bdf0095f5d0a2b56ad..b9552505e491a8ffee38c204d339428647ddb25c 100644 --- a/Gui/mainwindow.h +++ b/Gui/mainwindow.h @@ -61,7 +61,9 @@ protected slots: void importGoCad(); void importRaster(); void importRasterAsPoly(); +#ifdef shapelib_FOUND void importShape(); +#endif void importPetrel(); void importNetcdf(); //YW 07.2010 void importVtk();