cmake_minimum_required(VERSION 3.20) project(libprozilla VERSION 1.2.2 LANGUAGES C) include(CTest) include(GNUInstallDirs) include(CheckIncludeFile) include(CheckFunctionExists) include(CMakePackageConfigHelpers) find_package(Threads REQUIRED) find_package(CURL 8.17 REQUIRED) find_package(Intl) set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS ON) foreach(header assert.h arpa/inet.h ctype.h errno.h fcntl.h limits.h locale.h memory.h netdb.h netinet/in.h pthread.h pwd.h stdio.h stdlib.h string.h strings.h sys/socket.h sys/stat.h sys/time.h sys/types.h time.h unistd.h) string(TOUPPER "${header}" header_var) string(REGEX REPLACE "[^A-Z0-9]" "_" header_var "${header_var}") check_include_file("${header}" "HAVE_${header_var}") endforeach() foreach(function snprintf strdup strerror strncasecmp vsnprintf) string(TOUPPER "${function}" function_var) check_function_exists("${function}" "HAVE_${function_var}") endforeach() set(HAVE_CONFIG_H 1) set(STDC_HEADERS 1) set(PACKAGE "libprozilla") set(PACKAGE_NAME "libprozilla") set(PACKAGE_VERSION "${PROJECT_VERSION}") set(VERSION "${PROJECT_VERSION}") set(LOCALEDIR "${CMAKE_INSTALL_FULL_LOCALEDIR}") configure_file(cmake/config.h.in generated/config.h) add_subdirectory(src) add_subdirectory(po) add_subdirectory(docs) if(BUILD_TESTING) add_subdirectory(tests) endif() configure_package_config_file(cmake/libprozillaConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/libprozillaConfig.cmake" INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libprozilla") write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/libprozillaConfigVersion.cmake" VERSION "${PROJECT_VERSION}" COMPATIBILITY SameMajorVersion) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libprozillaConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/libprozillaConfigVersion.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libprozilla") install(EXPORT libprozillaTargets NAMESPACE libprozilla:: DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libprozilla") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Download accelerator library used by ProZilla") set(CPACK_PACKAGE_CONTACT "prozilla-dev@disconnected-by-peer.at") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") set(CPACK_GENERATOR "TGZ;TXZ") set(CPACK_SOURCE_GENERATOR "TGZ;TXZ") set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}") set(CPACK_SOURCE_IGNORE_FILES "/\\.git/;/build/;~$;${CPACK_SOURCE_IGNORE_FILES}") include(CPack)