PrusaSlicer-NonPlainar/cmake/modules/Findcereal.cmake
2020-02-07 11:07:22 +01:00

27 lines
873 B
CMake

set(_q "")
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
set(_q QUIET)
set(_quietly TRUE)
endif()
find_package(${CMAKE_FIND_PACKAGE_NAME} ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG ${_q})
if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FOUND)
# Fall-back solution to find the Cereal serialization library header file
include(CheckIncludeFileCXX)
add_library(cereal INTERFACE)
target_include_directories(cereal INTERFACE include)
if (_quietly)
set(CMAKE_REQUIRED_QUIET ON)
endif()
CHECK_INCLUDE_FILE_CXX("cereal/cereal.hpp" HAVE_CEREAL_H)
if (NOT HAVE_CEREAL_H)
if (${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
message(FATAL_ERROR "Cereal library not found. Please install the dependency.")
elseif(NOT _quietly)
message(WARNING "Cereal library not found.")
endif()
endif ()
endif()