summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2016-08-19 18:21:04 +0200
committerJulian Andres Klode <jak@debian.org>2016-08-19 19:20:01 +0200
commit35d74be55fccad485b105e97110bb1b153e0de74 (patch)
tree72ee851ce2a994d42bfff657bafb21fa07f540a8
parent6fbe5739701f4c63bcd5c68d9ecc19e9e28288de (diff)
CMake: Install config and logging directories
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...
-rw-r--r--CMake/Misc.cmake13
-rw-r--r--CMakeLists.txt13
2 files changed, 26 insertions, 0 deletions
diff --git a/CMake/Misc.cmake b/CMake/Misc.cmake
index 68ab22758..82cb4da37 100644
--- a/CMake/Misc.cmake
+++ b/CMake/Misc.cmake
@@ -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()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ed87b34b..ced68285d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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
+)