OpenMesh cmake support

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@111 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
Jan Möbius
2009-05-01 21:17:01 +00:00
parent a6af59445a
commit c0eed05614
18 changed files with 912 additions and 26 deletions

View File

@@ -0,0 +1,37 @@
include (ACGCommon)
# find needed packages
find_package (OpenGL)
find_package (GLUT)
find_package (GLEW)
acg_qt4 ()
add_subdirectory (Decimating/commandlineDecimater)
add_subdirectory (Smoothing)
add_subdirectory (Subdivider/commandlineSubdivider)
add_subdirectory (Subdivider/commandlineAdaptiveSubdivider)
add_subdirectory (mconvert)
# check for OpenGL, GLEW and GLUT as our required dependencies
if (QT4_FOUND AND OPENGL_FOUND AND GLEW_FOUND AND GLUT_FOUND)
add_subdirectory (Decimating/DecimaterGui)
add_subdirectory (QtViewer)
add_subdirectory (Subdivider/SubdividerGui)
else ()
if (NOT QT4_FOUND)
message ("QT 4 not found! Skipping some apps.")
endif ()
if (NOT OPENGL_FOUND)
message ("OpengGL not found! Skipping some apps.")
endif ()
if (NOT GLEW_FOUND)
message ("GLEW not found! Skipping some apps.")
endif ()
if (NOT GLUT_FOUND)
message ("GLUT not found! Skipping some apps.")
endif ()
endif ()

View File

@@ -0,0 +1,48 @@
include (ACGCommon)
include_directories (
../../../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set (targetName DecimaterGui)
# source code directories
set (directories
../../QtViewer
../
)
# collect all header and source files
acg_append_files (headers "*.hh" ${directories})
set (sources
../../QtViewer/QGLViewerWidget.cc
../../QtViewer/MeshViewerWidgetT.cc
../DecimaterViewerWidget.cc
../decimaterviewer.cc
)
# remove template cc files from source file list
acg_drop_templates (sources)
# genereate uic and moc targets
acg_qt4_automoc (moc_targets ${headers})
if (WIN32)
acg_add_executable (${targetName} WIN32 ${sources} ${headers} ${moc_targets})
# link to qtmain library to get WinMain function for a non terminal app
target_link_libraries (${targetName} ${QT_QTMAIN_LIBRARY})
else ()
acg_add_executable (${targetName} ${sources} ${headers} ${moc_targets})
endif ()
target_link_libraries (${targetName}
OpenMeshCore
OpenMeshTools
${QT_LIBRARIES}
${OPENGL_LIBRARIES}
${GLEW_LIBRARY}
${GLUT_LIBRARIES}
)

View File

@@ -0,0 +1,21 @@
include (ACGCommon)
include_directories (
../../../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set (targetName commandlineDecimater)
# collect all header and source files
set (sources
../decimater.cc
)
acg_add_executable (${targetName} ${sources})
target_link_libraries (${targetName}
OpenMeshCore
OpenMeshTools
)

View File

@@ -0,0 +1,44 @@
include (ACGCommon)
include_directories (
../../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set (targetName QtViewer)
# source code directories
set (directories
.
)
# collect all header and source files
acg_append_files (headers "*.hh" ${directories})
acg_append_files (sources "*.cc" ${directories})
acg_append_files (ui "*.ui" ${directories})
# remove template cc files from source file list
acg_drop_templates (sources)
# genereate uic and moc targets
acg_qt4_autouic (uic_targets ${ui})
acg_qt4_automoc (moc_targets ${headers})
if (WIN32)
acg_add_executable (${targetName} WIN32 ${uic_targets} ${sources} ${headers} ${moc_targets})
# link to qtmain library to get WinMain function for a non terminal app
target_link_libraries (${targetName} ${QT_QTMAIN_LIBRARY})
else ()
acg_add_executable (${targetName} ${uic_targets} ${sources} ${headers} ${moc_targets})
endif ()
target_link_libraries (${targetName}
OpenMeshCore
OpenMeshTools
${QT_LIBRARIES}
${OPENGL_LIBRARIES}
${GLEW_LIBRARY}
${GLUT_LIBRARIES}
)

View File

@@ -0,0 +1,20 @@
include (ACGCommon)
include_directories (
../../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set (targetName Smoothing)
# collect all header and source files
acg_append_files (headers "*.hh" .)
acg_append_files (sources "*.cc" .)
acg_add_executable (${targetName} ${headers} ${sources})
target_link_libraries (${targetName}
OpenMeshCore
OpenMeshTools
)

View File

@@ -0,0 +1,48 @@
include (ACGCommon)
include_directories (
../../../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set (targetName SubdividerGui)
# source code directories
set (directories
../../QtViewer
../
)
# collect all header and source files
acg_append_files (headers "*.hh" ${directories})
set (sources
../../QtViewer/QGLViewerWidget.cc
../../QtViewer/MeshViewerWidgetT.cc
../SubdivideWidget.cc
../qtsubdivider.cc
)
# remove template cc files from source file list
acg_drop_templates (sources)
# genereate uic and moc targets
acg_qt4_automoc (moc_targets ${headers})
if (WIN32)
acg_add_executable (${targetName} WIN32 ${sources} ${headers} ${moc_targets})
# link to qtmain library to get WinMain function for a non terminal app
target_link_libraries (${targetName} ${QT_QTMAIN_LIBRARY})
else ()
acg_add_executable (${targetName} ${sources} ${headers} ${moc_targets})
endif ()
target_link_libraries (${targetName}
OpenMeshCore
OpenMeshTools
${QT_LIBRARIES}
${OPENGL_LIBRARIES}
${GLEW_LIBRARY}
${GLUT_LIBRARIES}
)

View File

@@ -0,0 +1,21 @@
include (ACGCommon)
include_directories (
../../../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set (targetName commandlineAdaptiveSubdivider)
# collect all header and source files
set (sources
../adaptive_subdivider.cc
)
acg_add_executable (${targetName} ${sources})
target_link_libraries (${targetName}
OpenMeshCore
OpenMeshTools
)

View File

@@ -0,0 +1,21 @@
include (ACGCommon)
include_directories (
../../../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set (targetName commandlineSubdivider)
# collect all header and source files
set (sources
../subdivider.cc
)
acg_add_executable (${targetName} ${sources})
target_link_libraries (${targetName}
OpenMeshCore
OpenMeshTools
)

View File

@@ -0,0 +1,20 @@
include (ACGCommon)
include_directories (
../../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set (targetName mconvert)
# collect all header and source files
acg_append_files (headers "*.hh" .)
acg_append_files (sources "*.cc" .)
acg_add_executable (${targetName} ${headers} ${sources})
target_link_libraries (${targetName}
OpenMeshCore
OpenMeshTools
)