mirror of https://github.com/CGAL/cgal
70 lines
1.9 KiB
CMake
70 lines
1.9 KiB
CMake
# Created by the script cgal_create_cmake_script
|
|
# This is the CMake script for compiling a CGAL application.
|
|
|
|
cmake_minimum_required(VERSION 3.1...3.15)
|
|
project(Polygon_Demo)
|
|
|
|
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 CMP0071)
|
|
cmake_policy(SET CMP0071 NEW)
|
|
endif()
|
|
|
|
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5 Core)
|
|
|
|
find_package(Eigen3 3.1.0) #(requires 3.1.0 or greater)
|
|
include(CGAL_Eigen3_support)
|
|
if(NOT TARGET CGAL::Eigen3_support)
|
|
message(
|
|
STATUS
|
|
"NOTICE: This project requires the Eigen library, and will not be compiled."
|
|
)
|
|
return()
|
|
endif()
|
|
|
|
find_package(Qt5 QUIET COMPONENTS Script OpenGL Svg)
|
|
|
|
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|
include(${CGAL_USE_FILE})
|
|
add_definitions(-DQT_NO_KEYWORDS)
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
if(CGAL_Core_FOUND)
|
|
add_definitions(-DCGAL_USE_CORE)
|
|
endif()
|
|
|
|
#--------------------------------
|
|
# Demo: Polygon_2
|
|
#--------------------------------
|
|
# UI files (Qt Designer files)
|
|
qt5_wrap_ui(DT_UI_FILES Polygon_2.ui)
|
|
|
|
# qrc files (resources files, that contain icons, at least)
|
|
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Polygon_2.qrc)
|
|
|
|
# add_library( CGAL SHARED IMPORTED )
|
|
# SET_PROPERTY(TARGET CGAL PROPERTY IMPORTED_LOCATION ${CGAL_LIBRARY} )
|
|
|
|
# The executable itself.
|
|
add_executable(Polygon_2 Polygon_2.cpp ${DT_UI_FILES} ${DT_RESOURCE_FILES}
|
|
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
|
|
|
|
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Polygon_2)
|
|
|
|
target_link_libraries(Polygon_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5
|
|
CGAL::Eigen3_support Qt5::Gui)
|
|
|
|
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
|
cgal_add_compilation_test(Polygon_2)
|
|
else()
|
|
|
|
message(
|
|
STATUS
|
|
"NOTICE: This demo requires CGAL, CGAL_Core, and Qt5, and will not be compiled."
|
|
)
|
|
|
|
endif()
|