mirror of https://github.com/CGAL/cgal
Conditional compilation, for that huge demo!
This commit is contained in:
parent
6b222421bb
commit
482560eb2d
|
|
@ -22,100 +22,141 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../GraphicsView/src/CGALQt4)
|
||||||
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../GraphicsView/src/CGALQt4)
|
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../GraphicsView/src/CGALQt4)
|
||||||
endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../GraphicsView/src/CGALQt4)
|
endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../GraphicsView/src/CGALQt4)
|
||||||
|
|
||||||
find_package(CGAL REQUIRED Qt4)
|
# Find CGAL and CGAL Qt4
|
||||||
|
find_package(CGAL QUIET COMPONENTS Qt4)
|
||||||
include( ${CGAL_USE_FILE} )
|
include( ${CGAL_USE_FILE} )
|
||||||
|
|
||||||
find_package(Boost 1.34.1 COMPONENTS thread REQUIRED)
|
# Find Boost and Boost.Thread
|
||||||
|
find_package(Boost 1.34.1 QUIET COMPONENTS thread)
|
||||||
|
|
||||||
|
# Find Qt4 itself
|
||||||
set( QT_USE_QTXML TRUE )
|
set( QT_USE_QTXML TRUE )
|
||||||
set( QT_USE_QTMAIN TRUE )
|
set( QT_USE_QTMAIN TRUE )
|
||||||
set( QT_USE_QTSCRIPT TRUE )
|
set( QT_USE_QTSCRIPT TRUE )
|
||||||
set( QT_USE_QTOPENGL TRUE )
|
set( QT_USE_QTOPENGL TRUE )
|
||||||
|
find_package(Qt4 QUIET)
|
||||||
|
|
||||||
|
# Find OpenGL
|
||||||
|
find_package(OpenGL QUIET)
|
||||||
|
|
||||||
|
# Find QGLViewer
|
||||||
|
if(QT_FOUND)
|
||||||
|
include(${QT_USE_FILE})
|
||||||
|
find_package(QGLViewer QUIET )
|
||||||
|
endif(QT_FOUND)
|
||||||
|
|
||||||
|
# Find TAUCS (optionnal)
|
||||||
find_package(TAUCS QUIET)
|
find_package(TAUCS QUIET)
|
||||||
if(TAUCS_FOUND)
|
|
||||||
include_directories( ${TAUCS_INCLUDE_DIR} )
|
|
||||||
add_definitions(-DCGAL_TAUCS_ENABLED)
|
|
||||||
else(TAUCS_FOUND)
|
|
||||||
message(STATUS "warning: TAUCS is not found. parametrization will not be available.")
|
|
||||||
endif(TAUCS_FOUND)
|
|
||||||
|
|
||||||
find_package(Qt4 REQUIRED)
|
if(CGAL_Qt4_FOUND AND Boost_FOUND AND Boost_THREAD_FOUND AND QT_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
|
||||||
|
|
||||||
include(${QT_USE_FILE})
|
|
||||||
|
|
||||||
find_package(OpenGL REQUIRED)
|
|
||||||
|
|
||||||
find_package(QGLViewer REQUIRED )
|
|
||||||
include_directories( ${QGLVIEWER_INCLUDE_DIR} )
|
|
||||||
qt4_wrap_ui( UI_FILES MainWindow.ui )
|
|
||||||
|
|
||||||
include(AddFileDependencies)
|
|
||||||
|
|
||||||
qt4_generate_moc( MainWindow.h MainWindow_moc.cpp )
|
|
||||||
add_file_dependencies( MainWindow_moc.cpp MainWindow.h )
|
|
||||||
|
|
||||||
qt4_generate_moc( Viewer.h Viewer_moc.cpp )
|
|
||||||
add_file_dependencies( Viewer_moc.cpp Viewer.h )
|
|
||||||
|
|
||||||
qt4_generate_moc( Scene.h Scene_moc.cpp )
|
|
||||||
add_file_dependencies( Scene_moc.cpp Scene.h )
|
|
||||||
|
|
||||||
qt4_add_resources ( RESOURCE_FILES Polyhedron_3.qrc )
|
|
||||||
|
|
||||||
if(ENABLE_FORWARD_DECL)
|
|
||||||
add_definitions(-DUSE_FORWARD_DECL)
|
|
||||||
add_executable ( Polyhedron_3 MainWindow.cpp
|
|
||||||
Polyhedron_3.cpp
|
|
||||||
Viewer.cpp
|
|
||||||
Scene.cpp
|
|
||||||
Scene_nef_polyhedron_operations.cpp
|
|
||||||
Scene_polyhedron_operations.cpp
|
|
||||||
Scene_nef_and_polyhedron_operations.cpp
|
|
||||||
Scene_rendering.cpp
|
|
||||||
Scene_nef_rendering.cpp
|
|
||||||
MainWindow_boolean_operations.cpp
|
|
||||||
MainWindow_convex_hull.cpp
|
|
||||||
MainWindow_curvature_estimation.cpp
|
|
||||||
MainWindow_inside_out.cpp
|
|
||||||
MainWindow_kernel.cpp
|
|
||||||
MainWindow_pca.cpp
|
|
||||||
MainWindow_remeshing.cpp
|
|
||||||
MainWindow_self_intersection.cpp
|
|
||||||
MainWindow_simplify.cpp
|
|
||||||
MainWindow_subdivision_methods.cpp
|
|
||||||
MainWindow_parameterization.cpp
|
|
||||||
MainWindow_moc.cpp
|
|
||||||
Scene_moc.cpp
|
|
||||||
Viewer_moc.cpp
|
|
||||||
texture.cpp
|
|
||||||
${UI_FILES} ${RESOURCE_FILES} )
|
|
||||||
if(TAUCS_FOUND)
|
if(TAUCS_FOUND)
|
||||||
add_executable( Polyhedron_3 Scene_tex_rendering.cpp Scene_tex_polyhedron_operations.cpp )
|
include_directories( ${TAUCS_INCLUDE_DIR} )
|
||||||
|
add_definitions(-DCGAL_TAUCS_ENABLED)
|
||||||
|
else(TAUCS_FOUND)
|
||||||
|
message(STATUS "warning: TAUCS is not found. parametrization will not be available.")
|
||||||
endif(TAUCS_FOUND)
|
endif(TAUCS_FOUND)
|
||||||
else(ENABLE_FORWARD_DECL)
|
|
||||||
add_file_dependencies( Polyhedron_3.cpp MainWindow_moc.cpp Scene_moc.cpp Viewer_moc.cpp )
|
qt4_wrap_ui( UI_FILES MainWindow.ui )
|
||||||
add_executable ( Polyhedron_3 Polyhedron_3.cpp ${UI_FILES} ${RESOURCE_FILES} )
|
|
||||||
endif(ENABLE_FORWARD_DECL)
|
include(AddFileDependencies)
|
||||||
|
|
||||||
|
qt4_generate_moc( MainWindow.h MainWindow_moc.cpp )
|
||||||
|
add_file_dependencies( MainWindow_moc.cpp MainWindow.h )
|
||||||
|
|
||||||
|
qt4_generate_moc( Viewer.h Viewer_moc.cpp )
|
||||||
|
add_file_dependencies( Viewer_moc.cpp Viewer.h )
|
||||||
|
|
||||||
|
qt4_generate_moc( Scene.h Scene_moc.cpp )
|
||||||
|
add_file_dependencies( Scene_moc.cpp Scene.h )
|
||||||
|
|
||||||
|
qt4_add_resources ( RESOURCE_FILES Polyhedron_3.qrc )
|
||||||
|
|
||||||
|
if(ENABLE_FORWARD_DECL)
|
||||||
|
add_definitions(-DUSE_FORWARD_DECL)
|
||||||
|
add_executable ( Polyhedron_3 MainWindow.cpp
|
||||||
|
Polyhedron_3.cpp
|
||||||
|
Viewer.cpp
|
||||||
|
Scene.cpp
|
||||||
|
Scene_nef_polyhedron_operations.cpp
|
||||||
|
Scene_polyhedron_operations.cpp
|
||||||
|
Scene_nef_and_polyhedron_operations.cpp
|
||||||
|
Scene_rendering.cpp
|
||||||
|
Scene_nef_rendering.cpp
|
||||||
|
MainWindow_boolean_operations.cpp
|
||||||
|
MainWindow_convex_hull.cpp
|
||||||
|
MainWindow_curvature_estimation.cpp
|
||||||
|
MainWindow_inside_out.cpp
|
||||||
|
MainWindow_kernel.cpp
|
||||||
|
MainWindow_pca.cpp
|
||||||
|
MainWindow_remeshing.cpp
|
||||||
|
MainWindow_self_intersection.cpp
|
||||||
|
MainWindow_simplify.cpp
|
||||||
|
MainWindow_subdivision_methods.cpp
|
||||||
|
MainWindow_parameterization.cpp
|
||||||
|
MainWindow_moc.cpp
|
||||||
|
Scene_moc.cpp
|
||||||
|
Viewer_moc.cpp
|
||||||
|
texture.cpp
|
||||||
|
${UI_FILES} ${RESOURCE_FILES} )
|
||||||
|
if(TAUCS_FOUND)
|
||||||
|
add_executable( Polyhedron_3 Scene_tex_rendering.cpp Scene_tex_polyhedron_operations.cpp )
|
||||||
|
endif(TAUCS_FOUND)
|
||||||
|
else(ENABLE_FORWARD_DECL)
|
||||||
|
add_file_dependencies( Polyhedron_3.cpp MainWindow_moc.cpp Scene_moc.cpp Viewer_moc.cpp )
|
||||||
|
add_executable ( Polyhedron_3 Polyhedron_3.cpp ${UI_FILES} ${RESOURCE_FILES} )
|
||||||
|
endif(ENABLE_FORWARD_DECL)
|
||||||
|
|
||||||
|
|
||||||
# Link with Qt libraries
|
# Link with Qt libraries
|
||||||
target_link_libraries( Polyhedron_3 ${QT_LIBRARIES} )
|
target_link_libraries( Polyhedron_3 ${QT_LIBRARIES} )
|
||||||
|
|
||||||
# Link with CGAL
|
# Link with CGAL
|
||||||
target_link_libraries( Polyhedron_3 ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )
|
target_link_libraries( Polyhedron_3 ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )
|
||||||
|
|
||||||
# Link with libQGLViewer, OpenGL
|
# Link with libQGLViewer, OpenGL
|
||||||
target_link_libraries( Polyhedron_3 ${QGLVIEWER_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} )
|
target_link_libraries( Polyhedron_3 ${QGLVIEWER_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} )
|
||||||
|
|
||||||
if(TAUCS_FOUND)
|
if(TAUCS_FOUND)
|
||||||
# Link with TAUCS
|
# Link with TAUCS
|
||||||
link_directories(Polyhedron_3 ${TAUCS_LIBRARIES_DIR})
|
link_directories(Polyhedron_3 ${TAUCS_LIBRARIES_DIR})
|
||||||
target_link_libraries(Polyhedron_3 ${TAUCS_LIBRARIES})
|
target_link_libraries(Polyhedron_3 ${TAUCS_LIBRARIES})
|
||||||
endif(TAUCS_FOUND)
|
endif(TAUCS_FOUND)
|
||||||
|
|
||||||
# Blas and Lapack, under Linux
|
# Blas and Lapack, under Linux
|
||||||
if( NOT AUTO_LINK_ENABLED )
|
if( NOT AUTO_LINK_ENABLED )
|
||||||
add_definitions( -DCGAL_USE_F2C )
|
add_definitions( -DCGAL_USE_F2C )
|
||||||
target_link_libraries( Polyhedron_3 lapack blas )
|
target_link_libraries( Polyhedron_3 lapack blas )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
else (CGAL_Qt4_FOUND AND Boost_FOUND AND Boost_THREAD_FOUND AND QT_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
|
||||||
|
|
||||||
|
set(POLYHEDRON_MISSING_DEPS "")
|
||||||
|
|
||||||
|
if(NOT CGAL_Qt4_FOUND)
|
||||||
|
set(POLYHEDRON_MISSING_DEPS "the CGAL Qt4 library, ${POLYHEDRON_MISSING_DEPS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT Boost_THREAD_FOUND)
|
||||||
|
set(POLYHEDRON_MISSING_DEPS "Boost Thread, ${POLYHEDRON_MISSING_DEPS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT Boost_FOUND)
|
||||||
|
set(POLYHEDRON_MISSING_DEPS "Boost, ${POLYHEDRON_MISSING_DEPS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT QT_FOUND)
|
||||||
|
set(POLYHEDRON_MISSING_DEPS "Qt4, ${POLYHEDRON_MISSING_DEPS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT OPENGL_FOUND)
|
||||||
|
set(POLYHEDRON_MISSING_DEPS "OpenGL, ${POLYHEDRON_MISSING_DEPS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT QGLVIEWER_FOUND)
|
||||||
|
set(POLYHEDRON_MISSING_DEPS "QGLViewer, ${POLYHEDRON_MISSING_DEPS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message(STATUS "NOTICE: This demo requires ${POLYHEDRON_MISSING_DEPS}and will not be compiled.")
|
||||||
|
|
||||||
|
endif (CGAL_Qt4_FOUND AND Boost_FOUND AND Boost_THREAD_FOUND AND QT_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue