cgal/Polyhedron/demo/Polyhedron/implicit_functions/CMakeLists.txt

63 lines
1.8 KiB
CMake

# This is the CMake script for compiling the CGAL Mesh_3 demo implicit functions.
cmake_minimum_required(VERSION 3.1...3.15)
include( polyhedron_demo_macros )
if(NOT POLICY CMP0070 AND POLICY CMP0053)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
# Let plugins be compiled in the same directory as the executable.
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
# Include directory of demo includes
include_directories( BEFORE ${Mesh_3_implicit_functions_BINARY_DIR} ../include )
# Find CGAL and CGAL Qt5
find_package(CGAL COMPONENTS Qt5)
# Find Qt5 itself
set( QT_USE_QTXML TRUE )
set( QT_USE_QTMAIN TRUE )
set( QT_USE_QTSCRIPT TRUE )
set( QT_USE_QTOPENGL TRUE )
find_package(Qt5 QUIET COMPONENTS Script OpenGL ScriptTools )
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
# put plugins (which are shared libraries) at the same location as
# executable files
set(LIBRARY_OUTPUT_PATH ${RUNTIME_OUTPUT_PATH})
###########
# PLUGINS #
###########
include(AddFileDependencies)
remove_definitions(-DQT_STATICPLUGIN)
polyhedron_demo_plugin(p_sphere_function_plugin Sphere_implicit_function KEYWORDS Mesh_3)
polyhedron_demo_plugin(p_tanglecube_function_plugin Tanglecube_implicit_function KEYWORDS Mesh_3)
polyhedron_demo_plugin(p_klein_function_plugin Klein_implicit_function KEYWORDS Mesh_3)
else (CGAL_Qt5_FOUND AND Qt5_FOUND)
set(MESH_3_MISSING_DEPS "")
if(NOT CGAL_Qt5_FOUND)
set(MESH_3_MISSING_DEPS "the CGAL Qt5 library, ${MESH_3_MISSING_DEPS}")
endif()
if(NOT Qt5_FOUND)
set(MESH_3_MISSING_DEPS "Qt5, ${MESH_3_MISSING_DEPS}")
endif()
message(STATUS "NOTICE: This demo requires ${MESH_3_MISSING_DEPS}and will not be compiled.")
endif (CGAL_Qt5_FOUND AND Qt5_FOUND)