Commits (3)
......@@ -12,6 +12,7 @@
<b>Breaking changes:</b>
<ul>
<li>Don't run and test on VS2013 anymore. As VS2013 still lacks some C++11 features, we remove it from our list of supported platforms</li>
<li>(Only internally breaking change:)Get rid of the T.cc naming for template implementations. New names end with T_impl.hh. This avoids all the missing files in the IDE GUIs due to the filtered T.cc files. Also the install targets could be simplified due to this change. For OpenMesh users, this change should be transparent.</li>
</ul>
<b>Core</b>
......
......@@ -7,6 +7,7 @@ The following naming conventions are used for the %OpenMesh code:
<b>Files:</b>
\li \c MyClass.cc for C++-Implementation of class \c MyClass
\li \c MyClassT_impl.hh for Header only C++-Implementation of template class \c MyClass
\li \c MyClass.hh for C++-Header of class \c MyClass
<b>Classes:</b>
......
......@@ -158,15 +158,6 @@ macro (acg_append_files ret ext)
endforeach ()
endmacro ()
# drop all "*T.cc" files from list
macro (acg_drop_templates list)
foreach (_file ${${list}})
if (_file MATCHES "T.cc$")
list (REMOVE_ITEM ${list} ${_file})
endif ()
endforeach ()
endmacro ()
# get all files in directory, but ignore svn
macro (acg_get_files_in_dir ret dir)
file (GLOB_RECURSE __files RELATIVE "${dir}" "${dir}/*")
......
......@@ -13,17 +13,15 @@ set (directories
# 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/MeshViewerWidgetT.cc
../DecimaterViewerWidget.cc
../decimaterviewer.cc
)
# remove template cc files from source file list
acg_drop_templates (sources)
if (WIN32)
acg_add_executable (DecimaterGui WIN32 ${sources} ${headers})
else ()
......
......@@ -11,13 +11,10 @@ acg_append_files (headers "*.hh" .)
acg_append_files (sources "*.cc" .)
list (APPEND sources "../QtViewer/QGLViewerWidget.cc")
list (APPEND sources "../QtViewer/MeshViewerWidgetT.cc")
list (APPEND headers "../QtViewer/QGLViewerWidget.hh")
list (APPEND headers "../QtViewer/MeshViewerWidgetT.hh")
# remove template cc files from source file list
acg_drop_templates (sources)
list (APPEND headers "../QtViewer/MeshViewerWidgetT_impl.hh")
if (WIN32)
acg_add_executable( ProgViewer WIN32 ${sources} ${headers})
......
......@@ -14,9 +14,6 @@ set (directories
acg_append_files (headers "*.hh" ${directories})
acg_append_files (sources "*.cc" ${directories})
# remove template cc files from source file list
acg_drop_templates (sources)
if (WIN32)
acg_add_executable (QtViewer WIN32 ${sources} ${headers})
else ()
......
......@@ -192,7 +192,7 @@ protected:
//=============================================================================
#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESHAPPS_MESHVIEWERWIDGET_CC)
# define OPENMESH_MESHVIEWERWIDGET_TEMPLATES
# include "MeshViewerWidgetT.cc"
# include "MeshViewerWidgetT_impl.hh"
#endif
//=============================================================================
......@@ -14,16 +14,15 @@ set (directories
# 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/MeshViewerWidgetT.cc
../SubdivideWidget.cc
../qtsubdivider.cc
)
# remove template cc files from source file list
acg_drop_templates (sources)
if (WIN32)
acg_add_executable (SubdividerGui WIN32 ${sources} ${headers})
else ()
......
......@@ -123,7 +123,7 @@ private:
//=============================================================================
#if defined(INCLUDE_TEMPLATES) && !defined(OPENMESH_SOOPENMESHNODE_CC)
# define OPENMESH_SOOPENMESHMODE_TEMPLATES
# include "SoOpenMeshNodeT.cc"
# include "SoOpenMeshNodeT_impl.hh"
#endif
//=============================================================================
#endif // OPENMESH_SOOPENMESHNODE_HH
......
......@@ -168,7 +168,7 @@ protected:
//=============================================================================
#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESHAPPS_MESHVIEWERWIDGET_CC)
# define OPENMESH_MESHVIEWERWIDGET_TEMPLATES
# include "MeshViewerWidgetT.cc"
# include "MeshViewerWidgetT_impl.hh"
#endif
//=============================================================================
#endif // OPENMESHAPPS_MESHVIEWERWIDGETT_HH defined
......
......@@ -168,7 +168,7 @@ protected:
//=============================================================================
#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESHAPPS_MESHVIEWERWIDGET_CC)
# define OPENMESH_MESHVIEWERWIDGET_TEMPLATES
# include "MeshViewerWidgetT.cc"
# include "MeshViewerWidgetT_impl.hh"
#endif
//=============================================================================
#endif // OPENMESHAPPS_MESHVIEWERWIDGETT_HH defined
......
......@@ -10,13 +10,10 @@ acg_append_files (headers "*.hh" .)
acg_append_files (sources "*.cc" .)
list (APPEND sources "../../QtViewer/QGLViewerWidget.cc")
list (APPEND sources "../../QtViewer/MeshViewerWidgetT.cc")
list (APPEND headers "../../QtViewer/QGLViewerWidget.hh")
list (APPEND headers "../../QtViewer/MeshViewerWidgetT.hh")
# remove template cc files from source file list
acg_drop_templates (sources)
list (APPEND headers "../../QtViewer/MeshViewerWidgetT_impl.hh")
if (WIN32)
acg_add_executable (Synthesizer WIN32 ${sources} ${headers})
......
......@@ -24,10 +24,6 @@ set (directories
acg_append_files (headers "*.hh" ${directories})
acg_append_files (sources "*.cc" ${directories})
#Drop the template only cc files
acg_drop_templates(sources)
# Disable Library installation when not building OpenMesh on its own but as part of another project!
if ( NOT ${PROJECT_NAME} MATCHES "OpenMesh")
set(ACG_NO_LIBRARY_INSTALL true)
......@@ -81,16 +77,16 @@ endif()
# Install Header Files (Apple)
if ( NOT ACG_PROJECT_MACOS_BUNDLE AND APPLE )
FILE(GLOB files_install_Geometry "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*T.cc" )
FILE(GLOB files_install_IO "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*T.cc" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.inl" )
FILE(GLOB files_install_IO_importer "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*T.cc" )
FILE(GLOB files_install_IO_exporter "${CMAKE_CURRENT_SOURCE_DIR}/IO/exporter/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/exporter/*T.cc" )
FILE(GLOB files_install_IO_reader "${CMAKE_CURRENT_SOURCE_DIR}/IO/reader/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/reader/*T.cc" )
FILE(GLOB files_install_IO_writer "${CMAKE_CURRENT_SOURCE_DIR}/IO/writer/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/writer/*T.cc" )
FILE(GLOB files_install_Mesh "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/*T.cc" )
FILE(GLOB files_install_Mesh_Gen "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/gen/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/gen/*T.cc" )
FILE(GLOB files_install_System "${CMAKE_CURRENT_SOURCE_DIR}/System/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/System/*T.cc" "${CMAKE_CURRENT_SOURCE_DIR}/System/config.h" )
FILE(GLOB files_install_Utils "${CMAKE_CURRENT_SOURCE_DIR}/Utils/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Utils/*T.cc" )
FILE(GLOB files_install_Geometry "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*.hh" )
FILE(GLOB files_install_IO "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.inl" )
FILE(GLOB files_install_IO_importer "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*.hh" )
FILE(GLOB files_install_IO_exporter "${CMAKE_CURRENT_SOURCE_DIR}/IO/exporter/*.hh" )
FILE(GLOB files_install_IO_reader "${CMAKE_CURRENT_SOURCE_DIR}/IO/reader/*.hh" )
FILE(GLOB files_install_IO_writer "${CMAKE_CURRENT_SOURCE_DIR}/IO/writer/*.hh" )
FILE(GLOB files_install_Mesh "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/*.hh" )
FILE(GLOB files_install_Mesh_Gen "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/gen/*.hh" )
FILE(GLOB files_install_System "${CMAKE_CURRENT_SOURCE_DIR}/System/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/System/config.h" )
FILE(GLOB files_install_Utils "${CMAKE_CURRENT_SOURCE_DIR}/Utils/*.hh" )
INSTALL(FILES ${files_install_Geometry} DESTINATION include/OpenMesh/Core/Geometry )
INSTALL(FILES ${files_install_IO} DESTINATION include/OpenMesh/Core/IO )
INSTALL(FILES ${files_install_IO_importer} DESTINATION include/OpenMesh/Core/IO/importer )
......@@ -118,17 +114,6 @@ install(DIRECTORY .
PATTERN "Templates" EXCLUDE
PATTERN "Debian*" EXCLUDE)
#install Template cc files (required by headers)
install(DIRECTORY .
DESTINATION include/OpenMesh/Core
FILES_MATCHING
PATTERN "*T.cc"
PATTERN "CVS" EXCLUDE
PATTERN ".svn" EXCLUDE
PATTERN "tmp" EXCLUDE
PATTERN "Templates" EXCLUDE
PATTERN "Debian*" EXCLUDE)
#install the config file
install(FILES System/config.h DESTINATION include/OpenMesh/Core/System)
......@@ -138,14 +123,13 @@ install(DIRECTORY IO/
FILES_MATCHING
PATTERN "*.inl"
PATTERN "CVS" EXCLUDE
PATTERN ".svn" EXCLUDE
PATTERN "reader" EXCLUDE
PATTERN "writer" EXCLUDE
PATTERN "importer" EXCLUDE
PATTERN "exporter" EXCLUDE
PATTERN "tmp" EXCLUDE
PATTERN "Debian*" EXCLUDE )
PATTERN ".svn" EXCLUDE
PATTERN "reader" EXCLUDE
PATTERN "writer" EXCLUDE
PATTERN "importer" EXCLUDE
PATTERN "exporter" EXCLUDE
PATTERN "tmp" EXCLUDE
PATTERN "Debian*" EXCLUDE )
endif ()
......@@ -119,7 +119,7 @@ private:
//=============================================================================
#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_NORMALCONE_C)
#define OPENMESH_NORMALCONE_TEMPLATES
#include "NormalConeT.cc"
#include "NormalConeT_impl.hh"
#endif
//=============================================================================
#endif // OPENMESH_NORMALCONE_HH defined
......
......@@ -741,7 +741,7 @@ namespace OMFormat {
//=============================================================================
#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_IO_OMFORMAT_CC)
# define OPENMESH_IO_OMFORMAT_TEMPLATES
# include "OMFormatT.cc"
# include "OMFormatT_impl.hh"
#endif
//=============================================================================
#endif
......