X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/f3de2dbaf657f9040a4da448c57267de0fef7d33..1044354995513348f4836772fe77068585091d6b:/CMakeLists.txt?ds=sidebyside diff --git a/CMakeLists.txt b/CMakeLists.txt index 90e5272c9..a43abfb78 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,9 +3,11 @@ # set minimum version project(apt) -cmake_minimum_required(VERSION 3.3.0) +cmake_minimum_required(VERSION 3.4.0) -option(WITH_DOC "Build documentation." OFF) +enable_testing() + +option(WITH_DOC "Build documentation." ON) option(USE_NLS "Localisation support." ON) set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake") @@ -24,6 +26,12 @@ include(GNUInstallDirs) include(TestBigEndian) find_package(Threads) find_package(PkgConfig) +find_package(LFS REQUIRED) + +# Add large file support +add_compile_options(${LFS_COMPILE_OPTIONS}) +add_definitions(${LFS_DEFINITIONS}) +link_libraries(${LFS_LIBRARIES}) # Set compiler flags set(CMAKE_CXX_STANDARD 11) @@ -53,7 +61,7 @@ endif() # apt-transport-https dependencies -pkg_check_modules(CURL libcurl REQUIRED) +find_package(CURL REQUIRED) if (CURL_FOUND) set(HAVE_CURL 1) endif() @@ -89,7 +97,7 @@ if (NOT HAVE_STATVFS) if (NOT HAVE_VFS_H AND NOT HAVE_MOUNT_H) message(FATAL_ERROR "Can find neither statvfs() nor statfs()") endif() - configure_file(buildlib/statvfs.h.in ${PROJECT_BINARY_DIR}/include/statvfs.h @ONLY) + configure_file(CMake/statvfs.h.in ${PROJECT_BINARY_DIR}/include/statvfs.h COPYONLY) endif() CHECK_STRUCT_HAS_MEMBER("struct statfs" f_type sys/vfs.h HAVE_STRUCT_STATFS_F_TYPE) @@ -99,6 +107,7 @@ check_function_exists(getresuid HAVE_GETRESUID) check_function_exists(getresgid HAVE_GETRESGID) check_function_exists(setresuid HAVE_SETRESUID) check_function_exists(setresgid HAVE_SETRESGID) +check_function_exists(ptsname_r HAVE_PTSNAME_R) check_function_exists(timegm HAVE_TIMEGM) test_big_endian(WORDS_BIGENDIAN) @@ -107,12 +116,14 @@ if (CMAKE_USE_PTHREADS_INIT) endif() # Configure some variables like package, version and architecture. -set(PACKAGE "apt") +set(PACKAGE ${PROJECT_NAME}) +set(PACKAGE_MAIL "APT Development Team ") +set(PACKAGE_VERSION "1.3~rc2") -execute_process(COMMAND dpkg-parsechangelog -SVersion -l${PROJECT_SOURCE_DIR}/debian/changelog - OUTPUT_VARIABLE PACKAGE_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) -execute_process(COMMAND dpkg-architecture -qDEB_HOST_ARCH - OUTPUT_VARIABLE COMMON_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) +if (NOT DEFINED COMMON_ARCH) + execute_process(COMMAND dpkg-architecture -qDEB_HOST_ARCH + OUTPUT_VARIABLE COMMON_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() # Configure our configuration headers (config.h and apti18n.h) configure_file(CMake/config.h.in ${PROJECT_BINARY_DIR}/include/config.h) @@ -127,6 +138,29 @@ add_subdirectory(apt-pkg) add_subdirectory(apt-private) add_subdirectory(apt-inst) add_subdirectory(cmdline) +add_subdirectory(completions) +add_subdirectory(doc) add_subdirectory(dselect) add_subdirectory(ftparchive) add_subdirectory(methods) +add_subdirectory(test) + +if (USE_NLS) +add_subdirectory(po) + +# Link update-po4a into the update-po target +add_dependencies(update-po update-po4a) +endif() + +# Create our directories. +install_empty_directories( + ${CMAKE_INSTALL_FULL_SYSCONFDIR}/apt/apt.conf.d + ${CMAKE_INSTALL_FULL_SYSCONFDIR}/apt/preferences.d + ${CMAKE_INSTALL_FULL_SYSCONFDIR}/apt/sources.list.d + ${CMAKE_INSTALL_FULL_SYSCONFDIR}/apt/trusted.gpg.d + ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/cache/apt/archives/partial + ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/apt/lists/partial + ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/apt/mirrors/partial + ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/apt/periodic + ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/apt +)