]> git.saurik.com Git - apt.git/commitdiff
CMake: Install config and logging directories
authorJulian Andres Klode <jak@debian.org>
Fri, 19 Aug 2016 16:21:04 +0000 (18:21 +0200)
committerJulian Andres Klode <jak@debian.org>
Fri, 19 Aug 2016 17:20:01 +0000 (19:20 +0200)
These directories are essential for apt to work, so we should
install them in the upstream build system and not just in the
debian packaging...

CMake/Misc.cmake
CMakeLists.txt

index 68ab227581498bc5e459981109848864481404ce..82cb4da3731401f603f68f487d5bc13e5b98a200 100644 (file)
@@ -86,3 +86,16 @@ function(path_join out path1 path2)
         set(${out} "${path1}/${path2}" PARENT_SCOPE)
     endif()
 endfunction()
+
+# install_empty_directories(path ...)
+#
+# Creates empty directories in the install destination dir. Paths may be
+# absolute or relative; in the latter case, the value of CMAKE_INSTALL_PREFIX
+# is prepended.
+function(install_empty_directories)
+    foreach(path ${ARGN})
+        path_join(full_path "${CMAKE_INSTALL_PREFIX}" "${path}")
+        INSTALL(CODE "MESSAGE(STATUS \"Creating directory: \$ENV{DESTDIR}${full_path}\")"
+                CODE "FILE(MAKE_DIRECTORY \$ENV{DESTDIR}${full_path})")
+    endforeach()
+endfunction()
index 2ed87b34b6bf607fde65652816b9ab4452559837..ced68285de72eda9091423f3613f098d3994206d 100644 (file)
@@ -143,3 +143,16 @@ add_subdirectory(test)
 
 # Link update-po4a into the update-po target
 add_dependencies(update-po update-po4a)
+
+# 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
+)