Path: blob/main/contrib/libcbor/src/CMakeLists.txt
39482 views
set(SOURCES cbor.c allocators.c cbor/streaming.c cbor/internal/encoders.c cbor/internal/builder_callbacks.c cbor/internal/loaders.c cbor/internal/memory_utils.c cbor/internal/stack.c cbor/internal/unicode.c cbor/encoding.c cbor/serialization.c cbor/arrays.c cbor/common.c cbor/floats_ctrls.c cbor/bytestrings.c cbor/callbacks.c cbor/strings.c cbor/maps.c cbor/tags.c cbor/ints.c)12include(JoinPaths)3include(CheckFunctionExists)4set(CMAKE_SKIP_BUILD_RPATH FALSE)56if (NOT DEFINED CMAKE_MACOSX_RPATH)7set(CMAKE_MACOSX_RPATH 0)8endif()910add_library(cbor ${SOURCES})11target_include_directories(cbor PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})1213# Explicitly link math.h if necessary14check_function_exists(ldexp LDEXP_AVAILABLE)15if (NOT LDEXP_AVAILABLE)16target_link_libraries(cbor m)17endif()1819include(GenerateExportHeader)20generate_export_header(cbor EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/cbor/cbor_export.h)21target_include_directories(cbor PUBLIC ${CMAKE_CURRENT_BINARY_DIR})22install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cbor/cbor_export.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cbor)2324if (NOT ${CBOR_VERSION_MAJOR} EQUAL 0)25MESSAGE(FATAL_ERROR "Change the shared library version scheme to reflect https://github.com/PJK/libcbor/issues/52.")26endif()2728set_target_properties(cbor PROPERTIES29VERSION ${CBOR_VERSION}30MACHO_COMPATIBILITY_VERSION ${CBOR_VERSION_MAJOR}.${CBOR_VERSION_MINOR}.031SOVERSION ${CBOR_VERSION_MAJOR}.${CBOR_VERSION_MINOR})3233join_paths(libdir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_LIBDIR}")34join_paths(includedir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")35configure_file(libcbor.pc.in libcbor.pc @ONLY)3637# http://www.cmake.org/Wiki/CMake:Install_Commands38install(TARGETS cbor39ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}40LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}41RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})4243install(DIRECTORY cbor DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}44FILES_MATCHING PATTERN "*.h")4546install(FILES cbor.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})4748install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libcbor.pc"49DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")5051include(CMakePackageConfigHelpers)52configure_package_config_file(53libcborConfig.cmake.in54${CMAKE_CURRENT_BINARY_DIR}/libcborConfig.cmake55INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libcbor56PATH_VARS CMAKE_INSTALL_INCLUDEDIR57)58write_basic_package_version_file(59${CMAKE_CURRENT_BINARY_DIR}/libcborConfigVersion.cmake60VERSION ${CBOR_VERSION}61COMPATIBILITY SameMajorVersion62)63install(64FILES65${CMAKE_CURRENT_BINARY_DIR}/libcborConfig.cmake66${CMAKE_CURRENT_BINARY_DIR}/libcborConfigVersion.cmake67DESTINATION68${CMAKE_INSTALL_LIBDIR}/cmake/libcbor69)707172