Пример CGAL в Ubuntu 18.04 - PullRequest
       83

Пример CGAL в Ubuntu 18.04

2 голосов
/ 13 января 2020

Я установил CGAL через менеджер пакетов в Ubuntu 18.04 LTS. Затем, как упоминалось в https://doc.cgal.org/latest/Manual/usage.html, чтобы скомпилировать пример программы. Пока я выдавал:

cmake -DCMAKE_BUILD_TYPE=Release .

для настройки примеров, я получаю следующую ошибку:

CMake Error at CMakeLists.txt:29 (create_single_source_cgal_program):
  Unknown CMake command "create_single_source_cgal_program".


-- Configuring incomplete, errors occurred!

Пожалуйста, помогите; что мне делать?

CmakeLists.txt

# 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( Triangulation_2_Examples )


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 COMPONENTS Qt5)

if(CGAL_Qt5_FOUND)
  add_definitions(-DCGAL_USE_BASIC_VIEWER -DQT_NO_KEYWORDS)
endif()

if ( CGAL_FOUND )

  # create a target per cppfile
  file(GLOB cppfiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
  foreach(cppfile ${cppfiles})
    create_single_source_cgal_program( "${cppfile}" )
  endforeach()

  if(CGAL_Qt5_FOUND)
    target_link_libraries(draw_triangulation_2 PUBLIC CGAL::CGAL_Qt5)
  else()
    message(STATUS "NOTICE: The example draw_triangulation_2 requires Qt and will not be compiled.")
  endif()

else()

    message(STATUS "This program requires the CGAL library, and will not be compiled.")

endif()

1 Ответ

1 голос
/ 27 января 2020

Похоже, что мы должны построить все примеры CGAL сразу во время установки CGAL (используя опцию cmake -DWITH_examples=ON). Существует множество примеров и подприятий, поэтому их сборка занимает много времени.

Однако я смог построить эти примеры выборочно один за другим (см. Ниже). Я не разработчик CGAL, поэтому мой подход может быть не тем, что они хотели - но в любом случае я надеюсь, что это будет полезно для сообщества CGAL. Я предполагаю, что CGAL был установлен без примеров.

Шаг 1 . Создайте каталог для примеров CGAL с любым именем и введите этот каталог:

mkdir CGAL
cd GGAL

Шаг 2 . Скопируйте каталог examples из дистрибутива CGAL в этот каталог и убедитесь, что он доступен для записи:

cp -r <CGAL distribution>/examples .
chmod -R u+w examples

Шаг 3 . Запустите cmake, чтобы сгенерировать Makefile. В случае, если вы установили CGAL в какое-то необычное место, вам понадобится опция CMAKE_INSTALL_PREFIX, чтобы сообщить cmake об этом месте:

cmake -DCMAKE_INSTALL_PREFIX=<CGAL location> examples

Шаг 4 . Запустите make help, чтобы увидеть все возможные примеры, которые вы можете сделать. Вы можете выбрать все примеры, которые что-то визуализируют:

make help | grep draw

Шаг 5 . Постройте один из Triangulation_2 примеров:

make draw_triangulation_2

Шаг 6 . Войдите в каталог с примером и запустите пример:

cd examples/Triangulation_2
./draw_triangulation_2&

Кстати, по какой-то причине первый draw_triangulation_2 прогон показывает пустое окно на моем ящике, но второй прогон показывает правильную картинку.

...