From 0b881d5dd5237e545efd6ada1010c51f1f50badd Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Tue, 28 Apr 2015 11:34:43 +0000 Subject: GudhUI compilation issue and generate version for GudhUI issue fixes git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/trunk@583 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: beea454e849615bb9d087ccdcb0110a146a42564 --- CMakeLists.txt | 3 + scripts/generate_version.sh | 4 ++ src/CMakeLists.txt | 6 ++ src/GudhUI/CMakeLists.txt | 115 +++++++++++++++------------------- src/GudhUI/model/Model.h | 4 +- src/cmake/modules/FindQGLViewer.cmake | 61 ++++++++++++++++++ 6 files changed, 126 insertions(+), 67 deletions(-) create mode 100644 src/cmake/modules/FindQGLViewer.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index f30c1785..02e0c614 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,6 +78,9 @@ else() add_subdirectory(src/Bottleneck/example) add_subdirectory(src/Bottleneck/test) + # GudhUI + add_subdirectory(src/GudhUI) + # data points generator add_subdirectory(data/points/generator) diff --git a/scripts/generate_version.sh b/scripts/generate_version.sh index 1a8ce4ab..4d28cf53 100755 --- a/scripts/generate_version.sh +++ b/scripts/generate_version.sh @@ -62,6 +62,10 @@ do then # SPECIFIC FOR CMAKE MODULES cp -R $ROOT_DIR/src/$package $VERSION_DIR + elif [ "$package" == "GudhUI" ] + then + # SPECIFIC FOR GUDHI USER INTERFACE + cp -R $ROOT_DIR/src/$package $VERSION_DIR else # PACKAGE COPY if [ -d "$ROOT_DIR/src/$package$PACKAGE_INC_DIR" ] diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 55aa8a65..3be05c4f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -47,4 +47,10 @@ else() add_subdirectory(example/Alpha_shapes) add_subdirectory(example/Bottleneck) + # GudhUI + add_subdirectory(GudhUI) + + # data points generator + add_subdirectory(data/points/generator) + endif() diff --git a/src/GudhUI/CMakeLists.txt b/src/GudhUI/CMakeLists.txt index b62be8ff..ddbae969 100644 --- a/src/GudhUI/CMakeLists.txt +++ b/src/GudhUI/CMakeLists.txt @@ -1,82 +1,69 @@ cmake_minimum_required(VERSION 2.8) project(GudhUI) -#Specify Gudhi's path here -#for instance -#set(Gudhi_Path "C:/Users/dsalinas/Documents/Recherche/Code/c++/Gudhi_library_1.1.0/include") -set(Gudhi_Path "/home/dsalinas/Documents/CodeSVN/gudhi/src/include") -if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4668 /wd4311 /wd4800 /wd4820 /wd4503 /wd4244 /wd4345 /wd4996 /wd4396 /wd4018 -frounding-math") -else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -pedantic -frounding-math") -endif() - -set(EXECUTABLE_OUTPUT_PATH bin/${CMAKE_BUILD_TYPE}) - -find_package(Boost REQUIRED COMPONENTS) find_package(CGAL COMPONENTS Qt4) find_package(Qt4) find_package(QGLViewer) find_package(OpenGL) +message("CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}") +message("CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}") +message("CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}") if ( CGAL_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND ) - set( QT_USE_QTXML TRUE ) - set( QT_USE_QTMAIN TRUE ) - set( QT_USE_QTSCRIPT TRUE ) - set( QT_USE_QTOPENGL TRUE ) - SET(Boost_USE_STATIC_LIBS ON) - SET(Boost_USE_MULTITHREAD OFF) - - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) - LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) - - include(${QT_USE_FILE}) - include(${CGAL_USE_FILE}) - - include_directories (${QGLVIEWER_INCLUDE_DIR}) - include_directories(.) - include_directories(${Gudhi_Path}) + set( QT_USE_QTXML TRUE ) + set( QT_USE_QTMAIN TRUE ) + set( QT_USE_QTSCRIPT TRUE ) + set( QT_USE_QTOPENGL TRUE ) + SET(Boost_USE_STATIC_LIBS ON) + SET(Boost_USE_MULTITHREAD OFF) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) + LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) + + include(${QT_USE_FILE}) + include(${CGAL_USE_FILE}) + include_directories (${QGLVIEWER_INCLUDE_DIR}) + include_directories(.) - # qt : ui file, created wih Qt Designer ############### - set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/gui") - qt4_wrap_ui( uis - gui/main_window.ui - gui/MenuEdgeContraction.ui - gui/KNearestNeighborsMenu.ui - gui/UniformNeighborsMenu.ui - gui/PersistenceMenu.ui - ) + # qt : ui file, created wih Qt Designer ############### + set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/gui") + qt4_wrap_ui( uis + gui/main_window.ui + gui/MenuEdgeContraction.ui + gui/KNearestNeighborsMenu.ui + gui/UniformNeighborsMenu.ui + gui/PersistenceMenu.ui + ) - set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/gui") - qt4_automoc( - gui/MainWindow.cpp - gui/Menu_k_nearest_neighbors.cpp - gui/Menu_uniform_neighbors.cpp - gui/Menu_edge_contraction.cpp - gui/Menu_persistence.cpp - ) + set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/gui") + qt4_automoc( + gui/MainWindow.cpp + gui/Menu_k_nearest_neighbors.cpp + gui/Menu_uniform_neighbors.cpp + gui/Menu_edge_contraction.cpp + gui/Menu_persistence.cpp + ) - set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/view") - qt4_automoc(view/Viewer_instructor.cpp - view/Viewer.cpp - ) - ##################################################################### + set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/view") + qt4_automoc(view/Viewer_instructor.cpp + view/Viewer.cpp + ) + ##################################################################### - add_executable ( GudhUI - gui/gudhui.cpp - gui/MainWindow.cpp - gui/Menu_k_nearest_neighbors.cpp - gui/Menu_uniform_neighbors.cpp - gui/Menu_edge_contraction.cpp - gui/Menu_persistence.cpp - view/Viewer_instructor.cpp - view/Viewer.cpp - ${uis} - ) + add_executable ( GudhUI + gui/gudhui.cpp + gui/MainWindow.cpp + gui/Menu_k_nearest_neighbors.cpp + gui/Menu_uniform_neighbors.cpp + gui/Menu_edge_contraction.cpp + gui/Menu_persistence.cpp + view/Viewer_instructor.cpp + view/Viewer.cpp + ${uis} + ) - target_link_libraries( GudhUI ${QT_LIBRARIES} ${QGLVIEWER_LIBRARIES} ) - target_link_libraries( GudhUI ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ) + target_link_libraries( GudhUI ${QT_LIBRARIES} ${QGLVIEWER_LIBRARIES} ) + target_link_libraries( GudhUI ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ) else() message(STATUS "NOTICE: This demo requires CGAL, the QGLViewer, OpenGL and Qt4, and will not be compiled.") diff --git a/src/GudhUI/model/Model.h b/src/GudhUI/model/Model.h index 6ac971d0..87545989 100644 --- a/src/GudhUI/model/Model.h +++ b/src/GudhUI/model/Model.h @@ -72,8 +72,6 @@ class Model{ public: Complex complex_; typedef Complex::Vertex_handle Vertex_handle; - typedef Complex::CVI CVI; - Model():complex_(){ } @@ -317,7 +315,7 @@ private: void run_chomp(){ save_complex_in_file_for_chomp(); std::cout << "Call CHOMP library\n"; - system("../src/utils/homsimpl chomp.sim"); + system("utils/homsimpl chomp.sim"); } void save_complex_in_file_for_chomp(){ diff --git a/src/cmake/modules/FindQGLViewer.cmake b/src/cmake/modules/FindQGLViewer.cmake new file mode 100644 index 00000000..65723d67 --- /dev/null +++ b/src/cmake/modules/FindQGLViewer.cmake @@ -0,0 +1,61 @@ +# - Try to find QGLViewer +# Once done this will define +# +# QGLVIEWER_FOUND - system has QGLViewer +# QGLVIEWER_INCLUDE_DIR - the QGLViewer include directory +# QGLVIEWER_LIBRARIES - Link these to use QGLViewer +# QGLVIEWER_DEFINITIONS - Compiler switches required for using QGLViewer +# + +find_path(QGLVIEWER_INCLUDE_DIR + NAMES QGLViewer/qglviewer.h + PATHS /usr/include + /usr/local/include + ENV QGLVIEWERROOT + ) + +find_library(QGLVIEWER_LIBRARY_RELEASE + NAMES qglviewer-qt4 qglviewer QGLViewer QGLViewer2 + PATHS /usr/lib + /usr/local/lib + ENV QGLVIEWERROOT + ENV LD_LIBRARY_PATH + ENV LIBRARY_PATH + PATH_SUFFIXES QGLViewer QGLViewer/release + ) + +find_library(QGLVIEWER_LIBRARY_DEBUG + NAMES dqglviewer dQGLViewer dQGLViewer2 QGLViewerd2 + PATHS /usr/lib + /usr/local/lib + ENV QGLVIEWERROOT + ENV LD_LIBRARY_PATH + ENV LIBRARY_PATH + PATH_SUFFIXES QGLViewer QGLViewer/debug + ) + +if(QGLVIEWER_LIBRARY_RELEASE) + if(QGLVIEWER_LIBRARY_DEBUG) + set(QGLVIEWER_LIBRARIES_ optimized ${QGLVIEWER_LIBRARY_RELEASE} debug ${QGLVIEWER_LIBRARY_DEBUG}) + else() + set(QGLVIEWER_LIBRARIES_ ${QGLVIEWER_LIBRARY_RELEASE}) + endif() + + set(QGLVIEWER_LIBRARIES ${QGLVIEWER_LIBRARIES_} CACHE FILEPATH "The QGLViewer library") + +endif() + +IF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES) + SET(QGLVIEWER_FOUND TRUE) +ENDIF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES) + +IF(QGLVIEWER_FOUND) + IF(NOT QGLViewer_FIND_QUIETLY) + MESSAGE(STATUS "Found QGLViewer: ${QGLVIEWER_LIBRARIES}") + ENDIF(NOT QGLViewer_FIND_QUIETLY) +ELSE(QGLVIEWER_FOUND) + IF(QGLViewer_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find QGLViewer") + ENDIF(QGLViewer_FIND_REQUIRED) +ENDIF(QGLVIEWER_FOUND) + -- cgit v1.2.3