Включите общие библиотеки CGAL для развертывания программы CGAL - PullRequest
0 голосов
/ 11 июня 2019

Я создаю программу на C ++ с использованием CGAL и пишу правила установки CMake для развертывания указанной программы, чтобы я мог CPack результата, и конечному пользователю не нужно устанавливать CGAL или какие-либо из его зависимостей для использования.Это.Для этого мне нужно включить каждую общую библиотеку (библиотеки DLL в Windows и т. Д.), Но я не могу найти переменную CMake, которая позволяет мне это делать.Я искал в репозитории CGAL, но не повезло.Я пытался использовать ${CGAL_LIBRARIES}, но они не дают пути, и не похоже, что ${CGAL_LIBRARIES_DIRS} - вещь.

Мои текущие списки CMakeLists основаны на том, который сгенерирован специальным CGAL-скриптом:

# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.

project( MeshCleaner )

cmake_minimum_required(VERSION 2.8.11)

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

# CGAL and its components
find_package( CGAL QUIET COMPONENTS  )

if ( NOT CGAL_FOUND )

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

endif()


# Boost and its components
find_package( Boost REQUIRED )

if ( NOT Boost_FOUND )

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

  return()  

endif()

# include for local directory
include_directories( BEFORE include )

# include for local package


# Creating entries for target: meshCleaner
# ############################

add_executable( ${PROJECT_NAME}  main.cpp )

add_to_cached_list( CGAL_EXECUTABLE_TARGETS ${PROJECT_NAME} )

# Link the executable to CGAL and third-party libraries
target_link_libraries(${PROJECT_NAME}   ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )

install(TARGETS ${PROJECT_NAME} DESTINATION . COMPONENT Libraries)

message(${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES})

if(WIN32)
    set(CMAKE_INSTALL_OPENMP_LIBRARIES TRUE)
    include(InstallRequiredSystemLibraries)
endif()

include(${PROJECT_NAME}CPack)

1 Ответ

0 голосов
/ 13 июня 2019

Самый простой способ «исправить» эту проблему - использовать CGAL в качестве только заголовка. Пожалуйста, проверьте руководство. Вот прямая ссылка на руководство по установке CGAL-4.14, раздел «Только заголовок с конфигурацией CMake».

...