diff --git a/CI/ci-mac-build.sh b/CI/ci-mac-build.sh index 44773c39..58b527de 100755 --- a/CI/ci-mac-build.sh +++ b/CI/ci-mac-build.sh @@ -13,6 +13,8 @@ echo "BuildPath: $BUILDPATH" echo "Path: $PATH" echo "Language: $LANGUAGE" +cmake --version + echo -e "${OUTPUT}" echo "" echo "======================================================================" @@ -58,4 +60,4 @@ if [ "$BUILD_TYPE_L" == "release" ]; then cd .. -fi \ No newline at end of file +fi diff --git a/cmake/ACGQt.cmake b/cmake/ACGQt.cmake index c3e6ed67..271d15df 100644 --- a/cmake/ACGQt.cmake +++ b/cmake/ACGQt.cmake @@ -101,5 +101,10 @@ macro (acg_qt5) # Enable automoc set(CMAKE_AUTOMOC ON) + if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17") + cmake_policy(SET CMP0100 NEW) + endif() + + endif (QT5_FOUND) endmacro () diff --git a/src/OpenMesh/Apps/Decimating/DecimaterGui/CMakeLists.txt b/src/OpenMesh/Apps/Decimating/DecimaterGui/CMakeLists.txt index f37d996b..9e86fba5 100644 --- a/src/OpenMesh/Apps/Decimating/DecimaterGui/CMakeLists.txt +++ b/src/OpenMesh/Apps/Decimating/DecimaterGui/CMakeLists.txt @@ -5,19 +5,17 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# source code directories -set (directories - ../../QtViewer - ../ +set (headers + ../DecimaterViewerWidget.hh + ../../QtViewer/QGLViewerWidget.hh + ../../QtViewer/MeshViewerWidgetT.hh + ../../QtViewer/MeshViewerWidget.hh + ../../QtViewer/MeshViewerWidgetT_impl.hh ) -# collect all header and source files -acg_append_files (headers "*.hh" ${directories}) -list (APPEND headers "../../QtViewer/MeshViewerWidgetT_impl.hh") - - set (sources ../../QtViewer/QGLViewerWidget.cc + ../../QtViewer/MeshViewerWidget.cc ../DecimaterViewerWidget.cc ../decimaterviewer.cc ) diff --git a/src/OpenMesh/Apps/Decimating/DecimaterViewerWidget.hh b/src/OpenMesh/Apps/Decimating/DecimaterViewerWidget.hh index 6069ca3b..3311521b 100644 --- a/src/OpenMesh/Apps/Decimating/DecimaterViewerWidget.hh +++ b/src/OpenMesh/Apps/Decimating/DecimaterViewerWidget.hh @@ -91,18 +91,18 @@ struct MyTraits : public DEFAULT_TRAITS }; typedef TRIMESH_KERNEL mesh_t; -typedef MeshViewerWidgetT MeshViewerWidget; +typedef MeshViewerWidgetT MeshViewerWidgetDecimaterBase; //== CLASS DEFINITION ========================================================= -class DecimaterViewerWidget : public MeshViewerWidget +class DecimaterViewerWidget : public MeshViewerWidgetDecimaterBase { Q_OBJECT public: - typedef MeshViewerWidget inherited_t; + typedef MeshViewerWidgetDecimaterBase inherited_t; typedef Decimater::DecimaterT decimater_t; typedef Decimater::ModQuadricT< mesh_t >::Handle mod_quadric_t; @@ -119,7 +119,7 @@ public: /// default constructor explicit DecimaterViewerWidget(QWidget* _parent=0) - : MeshViewerWidget(_parent), + : MeshViewerWidgetDecimaterBase(_parent), animate_(false), timer_(0), steps_(1) diff --git a/src/OpenMesh/Apps/Decimating/commandlineDecimater/CMakeLists.txt b/src/OpenMesh/Apps/Decimating/commandlineDecimater/CMakeLists.txt index daa3ec11..2fb5a47d 100644 --- a/src/OpenMesh/Apps/Decimating/commandlineDecimater/CMakeLists.txt +++ b/src/OpenMesh/Apps/Decimating/commandlineDecimater/CMakeLists.txt @@ -5,12 +5,7 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -set (sources - ../decimater.cc -) - -acg_add_executable (commandlineDecimater ${sources}) +acg_add_executable (commandlineDecimater ../decimater.cc) target_link_libraries (commandlineDecimater OpenMeshCore diff --git a/src/OpenMesh/Apps/Dualizer/CMakeLists.txt b/src/OpenMesh/Apps/Dualizer/CMakeLists.txt index 65a36fc2..59b60ea7 100644 --- a/src/OpenMesh/Apps/Dualizer/CMakeLists.txt +++ b/src/OpenMesh/Apps/Dualizer/CMakeLists.txt @@ -2,14 +2,9 @@ include (ACGCommon) include_directories ( ../../.. - ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -acg_append_files (headers "*.hh" .) -acg_append_files (sources "*.cc" .) - -acg_add_executable (Dualizer ${headers} ${sources}) +acg_add_executable (Dualizer dualizer.cc) target_link_libraries (Dualizer OpenMeshCore diff --git a/src/OpenMesh/Apps/ProgViewer/CMakeLists.txt b/src/OpenMesh/Apps/ProgViewer/CMakeLists.txt index f963a5e9..b2f5eb90 100644 --- a/src/OpenMesh/Apps/ProgViewer/CMakeLists.txt +++ b/src/OpenMesh/Apps/ProgViewer/CMakeLists.txt @@ -6,15 +6,18 @@ include_directories ( ) -# collect all header and source files -acg_append_files (headers "*.hh" .) -acg_append_files (sources "*.cc" .) +set( headers + ProgViewerWidget.hh + ../QtViewer/QGLViewerWidget.hh + ../QtViewer/MeshViewerWidgetT.hh + ../QtViewer/MeshViewerWidgetT_impl.hh +) -list (APPEND sources "../QtViewer/QGLViewerWidget.cc") - -list (APPEND headers "../QtViewer/QGLViewerWidget.hh") -list (APPEND headers "../QtViewer/MeshViewerWidgetT.hh") -list (APPEND headers "../QtViewer/MeshViewerWidgetT_impl.hh") +set( sources + ProgViewerWidget.cc + progviewer.cc + ../QtViewer/QGLViewerWidget.cc +) if (WIN32) acg_add_executable( ProgViewer WIN32 ${sources} ${headers}) diff --git a/src/OpenMesh/Apps/ProgViewer/ProgViewerWidget.hh b/src/OpenMesh/Apps/ProgViewer/ProgViewerWidget.hh index 4dbd182e..c62201af 100644 --- a/src/OpenMesh/Apps/ProgViewer/ProgViewerWidget.hh +++ b/src/OpenMesh/Apps/ProgViewer/ProgViewerWidget.hh @@ -63,7 +63,7 @@ using namespace OpenMesh; using namespace OpenMesh::Attributes; -struct MyTraits : public OpenMesh::DefaultTraits +struct ProgTraits : public OpenMesh::DefaultTraits { VertexAttributes ( OpenMesh::Attributes::Normal | OpenMesh::Attributes::Status ); @@ -74,28 +74,28 @@ struct MyTraits : public OpenMesh::DefaultTraits }; -typedef OpenMesh::TriMesh_ArrayKernelT MyMesh; -typedef MeshViewerWidgetT MeshViewerWidget; +typedef OpenMesh::TriMesh_ArrayKernelT MyMesh; +typedef MeshViewerWidgetT MeshViewerWidgetProgBase; //== CLASS DEFINITION ========================================================= -class ProgViewerWidget : public MeshViewerWidget +class ProgViewerWidget : public MeshViewerWidgetProgBase { Q_OBJECT public: - typedef MeshViewerWidget Base; + typedef MeshViewerWidgetProgBase Base; typedef ProgViewerWidget This; public: /// default constructor explicit ProgViewerWidget(QWidget* _parent=0) - : MeshViewerWidget(_parent), + : MeshViewerWidgetProgBase(_parent), n_base_vertices_(0), n_base_faces_(0), n_detail_vertices_(0), diff --git a/src/OpenMesh/Apps/QtViewer/CMakeLists.txt b/src/OpenMesh/Apps/QtViewer/CMakeLists.txt index 62a327b6..231fea48 100644 --- a/src/OpenMesh/Apps/QtViewer/CMakeLists.txt +++ b/src/OpenMesh/Apps/QtViewer/CMakeLists.txt @@ -10,9 +10,16 @@ set (directories . ) -# collect all header and source files -acg_append_files (headers "*.hh" ${directories}) -acg_append_files (sources "*.cc" ${directories}) +set (sources + MeshViewerWidget.cc + QGLViewerWidget.cc + meshviewer.cc +) + +set (headers + MeshViewerWidget.hh + QGLViewerWidget.hh +) if (WIN32) acg_add_executable (QtViewer WIN32 ${sources} ${headers}) diff --git a/src/OpenMesh/Apps/QtViewer/MeshViewerWidget.hh b/src/OpenMesh/Apps/QtViewer/MeshViewerWidget.hh index bace4cce..706fc0c9 100644 --- a/src/OpenMesh/Apps/QtViewer/MeshViewerWidget.hh +++ b/src/OpenMesh/Apps/QtViewer/MeshViewerWidget.hh @@ -61,12 +61,12 @@ using namespace OpenMesh; using namespace OpenMesh::Attributes; -struct MyTraits : public OpenMesh::DefaultTraits +struct MeshViewerWidgetTraits : public OpenMesh::DefaultTraits { HalfedgeAttributes(OpenMesh::Attributes::PrevHalfedge); }; -typedef OpenMesh::TriMesh_ArrayKernelT MyMesh; +typedef OpenMesh::TriMesh_ArrayKernelT MyMesh; diff --git a/src/OpenMesh/Apps/QtViewer/MeshViewerWidgetT.hh b/src/OpenMesh/Apps/QtViewer/MeshViewerWidgetT.hh index fcf6762d..d7223cd7 100644 --- a/src/OpenMesh/Apps/QtViewer/MeshViewerWidgetT.hh +++ b/src/OpenMesh/Apps/QtViewer/MeshViewerWidgetT.hh @@ -191,7 +191,7 @@ protected: //============================================================================= -#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESHAPPS_MESHVIEWERWIDGET_CC) +#if defined(OM_INCLUDE_TEMPLATES) # define OPENMESH_MESHVIEWERWIDGET_TEMPLATES # include "MeshViewerWidgetT_impl.hh" #endif diff --git a/src/OpenMesh/Apps/QtViewer/MeshViewerWidgetT_impl.hh b/src/OpenMesh/Apps/QtViewer/MeshViewerWidgetT_impl.hh index fb627d1f..e796f7ce 100644 --- a/src/OpenMesh/Apps/QtViewer/MeshViewerWidgetT_impl.hh +++ b/src/OpenMesh/Apps/QtViewer/MeshViewerWidgetT_impl.hh @@ -39,9 +39,7 @@ * * * ========================================================================= */ - - -#define OPENMESHAPPS_MESHVIEWERWIDGET_CC +#pragma once //== INCLUDES ================================================================= @@ -69,7 +67,6 @@ using namespace Qt; # undef max #endif -using namespace Qt; //== IMPLEMENTATION ========================================================== diff --git a/src/OpenMesh/Apps/Smoothing/CMakeLists.txt b/src/OpenMesh/Apps/Smoothing/CMakeLists.txt index e330787f..dc397424 100644 --- a/src/OpenMesh/Apps/Smoothing/CMakeLists.txt +++ b/src/OpenMesh/Apps/Smoothing/CMakeLists.txt @@ -5,11 +5,7 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -acg_append_files (headers "*.hh" .) -acg_append_files (sources "*.cc" .) - -acg_add_executable (Smoothing ${headers} ${sources}) +acg_add_executable (Smoothing smooth.cc) target_link_libraries (Smoothing OpenMeshCore diff --git a/src/OpenMesh/Apps/Subdivider/MeshViewerWidget.hh b/src/OpenMesh/Apps/Subdivider/MeshViewerWidget.hh index c5b5e81f..e8e96ca7 100644 --- a/src/OpenMesh/Apps/Subdivider/MeshViewerWidget.hh +++ b/src/OpenMesh/Apps/Subdivider/MeshViewerWidget.hh @@ -66,18 +66,18 @@ typedef OpenMesh::TriMesh_ArrayKernelT Mesh; -class MeshViewerWidget : public MeshViewerWidgetT +class MeshViewerWidgetSubdivider : public MeshViewerWidgetT { public: typedef MeshViewerWidgetT Base; /// default constructor - explicit MeshViewerWidget(QWidget* _parent=0) + explicit MeshViewerWidgetSubdivider(QWidget* _parent=0) : Base(_parent) {} /// destructor - ~MeshViewerWidget() {} + ~MeshViewerWidgetSubdivider() {} /// open mesh inline bool open_mesh(const char* _filename, OpenMesh::IO::Options _opt) override diff --git a/src/OpenMesh/Apps/Subdivider/SubdivideWidget.cc b/src/OpenMesh/Apps/Subdivider/SubdivideWidget.cc index 7434a8b9..64a9fcdc 100644 --- a/src/OpenMesh/Apps/Subdivider/SubdivideWidget.cc +++ b/src/OpenMesh/Apps/Subdivider/SubdivideWidget.cc @@ -98,7 +98,7 @@ SubdivideWidget(QWidget* _parent, const char* _name) // sel_topo_type will be set when adding the radio button.; // examiner widget - viewer_widget_ = new MeshViewerWidget(); + viewer_widget_ = new MeshViewerWidgetSubdivider(); vbox->addWidget(viewer_widget_); diff --git a/src/OpenMesh/Apps/Subdivider/SubdivideWidget.hh b/src/OpenMesh/Apps/Subdivider/SubdivideWidget.hh index c87b2210..2a247596 100644 --- a/src/OpenMesh/Apps/Subdivider/SubdivideWidget.hh +++ b/src/OpenMesh/Apps/Subdivider/SubdivideWidget.hh @@ -116,7 +116,7 @@ private slots: private: // widgets - MeshViewerWidget* viewer_widget_; + MeshViewerWidgetSubdivider* viewer_widget_; QTimer *timer_; diff --git a/src/OpenMesh/Apps/Subdivider/SubdividerGui/CMakeLists.txt b/src/OpenMesh/Apps/Subdivider/SubdividerGui/CMakeLists.txt index a092cc58..85bec8d4 100644 --- a/src/OpenMesh/Apps/Subdivider/SubdividerGui/CMakeLists.txt +++ b/src/OpenMesh/Apps/Subdivider/SubdividerGui/CMakeLists.txt @@ -5,18 +5,14 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# source code directories -set (directories - ../../QtViewer - ../ +set (headers + ../MeshViewerWidget.hh + ../SubdivideWidget.hh + ../../QtViewer/QGLViewerWidget.hh + ../../QtViewer/MeshViewerWidgetT.hh + ../../QtViewer/MeshViewerWidgetT_impl.hh ) -# collect all header and source files -acg_append_files (headers "*.hh" ${directories}) - -list (APPEND headers "../../QtViewer/MeshViewerWidgetT_impl.hh") - - set (sources ../../QtViewer/QGLViewerWidget.cc ../SubdivideWidget.cc diff --git a/src/OpenMesh/Apps/Subdivider/commandlineAdaptiveSubdivider/CMakeLists.txt b/src/OpenMesh/Apps/Subdivider/commandlineAdaptiveSubdivider/CMakeLists.txt index 35800704..fab21891 100644 --- a/src/OpenMesh/Apps/Subdivider/commandlineAdaptiveSubdivider/CMakeLists.txt +++ b/src/OpenMesh/Apps/Subdivider/commandlineAdaptiveSubdivider/CMakeLists.txt @@ -5,12 +5,7 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -set (sources - ../adaptive_subdivider.cc -) - -acg_add_executable (commandlineAdaptiveSubdivider ${sources}) +acg_add_executable (commandlineAdaptiveSubdivider ../adaptive_subdivider.cc) target_link_libraries (commandlineAdaptiveSubdivider OpenMeshCore diff --git a/src/OpenMesh/Apps/Subdivider/commandlineSubdivider/CMakeLists.txt b/src/OpenMesh/Apps/Subdivider/commandlineSubdivider/CMakeLists.txt index 0ef2b3bb..7382747e 100644 --- a/src/OpenMesh/Apps/Subdivider/commandlineSubdivider/CMakeLists.txt +++ b/src/OpenMesh/Apps/Subdivider/commandlineSubdivider/CMakeLists.txt @@ -5,12 +5,7 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -set (sources - ../subdivider.cc -) - -acg_add_executable (commandlineSubdivider ${sources}) +acg_add_executable (commandlineSubdivider ../subdivider.cc) target_link_libraries (commandlineSubdivider OpenMeshCore diff --git a/src/OpenMesh/Apps/VDProgMesh/Analyzer/CMakeLists.txt b/src/OpenMesh/Apps/VDProgMesh/Analyzer/CMakeLists.txt index f1e00640..e79f19ab 100644 --- a/src/OpenMesh/Apps/VDProgMesh/Analyzer/CMakeLists.txt +++ b/src/OpenMesh/Apps/VDProgMesh/Analyzer/CMakeLists.txt @@ -5,12 +5,7 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -set (sources - ./vdpmanalyzer.cc -) - -acg_add_executable (Analyzer ${sources}) +acg_add_executable (Analyzer vdpmanalyzer.cc) target_link_libraries (Analyzer OpenMeshCore diff --git a/src/OpenMesh/Apps/VDProgMesh/Synthesizer/CMakeLists.txt b/src/OpenMesh/Apps/VDProgMesh/Synthesizer/CMakeLists.txt index e17e6b55..ec97e48d 100644 --- a/src/OpenMesh/Apps/VDProgMesh/Synthesizer/CMakeLists.txt +++ b/src/OpenMesh/Apps/VDProgMesh/Synthesizer/CMakeLists.txt @@ -5,15 +5,16 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -acg_append_files (headers "*.hh" .) -acg_append_files (sources "*.cc" .) +set (headers + VDPMSynthesizerViewerWidget.hh +) -list (APPEND sources "../../QtViewer/QGLViewerWidget.cc") +set (sources + ../../QtViewer/QGLViewerWidget.cc + vdpmsynthesizer.cc + VDPMSynthesizerViewerWidget.cc +) -list (APPEND headers "../../QtViewer/QGLViewerWidget.hh") -list (APPEND headers "../../QtViewer/MeshViewerWidgetT.hh") -list (APPEND headers "../../QtViewer/MeshViewerWidgetT_impl.hh") if (WIN32) acg_add_executable (Synthesizer WIN32 ${sources} ${headers}) diff --git a/src/OpenMesh/Apps/VDProgMesh/mkbalancedpm/CMakeLists.txt b/src/OpenMesh/Apps/VDProgMesh/mkbalancedpm/CMakeLists.txt index f4662079..edb4ff54 100644 --- a/src/OpenMesh/Apps/VDProgMesh/mkbalancedpm/CMakeLists.txt +++ b/src/OpenMesh/Apps/VDProgMesh/mkbalancedpm/CMakeLists.txt @@ -5,12 +5,7 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -set (sources - ./mkbalancedpm.cc -) - -acg_add_executable (mkbalancedpm ${sources}) +acg_add_executable (mkbalancedpm mkbalancedpm.cc) target_link_libraries (mkbalancedpm OpenMeshCore diff --git a/src/OpenMesh/Apps/mconvert/CMakeLists.txt b/src/OpenMesh/Apps/mconvert/CMakeLists.txt index b4c29800..0ab863b1 100644 --- a/src/OpenMesh/Apps/mconvert/CMakeLists.txt +++ b/src/OpenMesh/Apps/mconvert/CMakeLists.txt @@ -2,14 +2,9 @@ include (ACGCommon) include_directories ( ../../.. - ${CMAKE_CURRENT_SOURCE_DIR} ) -# collect all header and source files -acg_append_files (headers "*.hh" .) -acg_append_files (sources "*.cc" .) - -acg_add_executable (mconvert ${headers} ${sources}) +acg_add_executable (mconvert mconvert.cc) target_link_libraries (mconvert OpenMeshCore