From bd60fbde7ecf6b002f8702538c07af0d89a1a529 Mon Sep 17 00:00:00 2001 From: Markus Makela Date: Wed, 21 Sep 2016 10:53:08 +0300 Subject: [PATCH] Create dummy files in /var directories for tar.gz packages These files allow seemingly empty directories to be installed on various platforms. Some platforms had problems installing empty directories. --- cmake/package_tgz.cmake | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/cmake/package_tgz.cmake b/cmake/package_tgz.cmake index d96756502..06ccf201e 100644 --- a/cmake/package_tgz.cmake +++ b/cmake/package_tgz.cmake @@ -13,10 +13,15 @@ set(CMAKE_INSTALL_DATADIR /share CACHE PATH "" FORCE) set(CPACK_GENERATOR "TGZ") # Include the var directories in the tarball -install(DIRECTORY DESTINATION var/cache/maxscale) -install(DIRECTORY DESTINATION var/log/maxscale) -install(DIRECTORY DESTINATION var/run/maxscale) -install(DIRECTORY DESTINATION var/lib/maxscale) +# +# On some platforms with certain CMake versions, installing empty directories +# with tarballs does not work. As a workaround, the .cmake-tgz-workaround file +# is installed into the would-be empty directories. +file(WRITE ${CMAKE_BINARY_DIR}/.cmake-tgz-workaround "") +install(FILES ${CMAKE_BINARY_DIR}/.cmake-tgz-workaround DESTINATION var/cache/maxscale) +install(FILES ${CMAKE_BINARY_DIR}/.cmake-tgz-workaround DESTINATION var/log/maxscale) +install(FILES ${CMAKE_BINARY_DIR}/.cmake-tgz-workaround DESTINATION var/run/maxscale) +install(FILES ${CMAKE_BINARY_DIR}/.cmake-tgz-workaround DESTINATION var/lib/maxscale) if(DISTRIB_SUFFIX) set(CPACK_PACKAGE_FILE_NAME "maxscale-${MAXSCALE_VERSION}.${DISTRIB_SUFFIX}")