Blob Blame History Raw
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 8217bb76..4149a764 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -513,4 +513,30 @@ ELSE()
       PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
     )
   ENDIF()
+
+  # files for systemd
+  SET(SYSTEMD_SCRIPTS
+    mysql.tmpfiles.d
+    mysql.service
+    mysql@.service
+    mysql-prepare-db-dir
+    mysql-wait-stop
+    mysql-check-socket
+    mysql-scripts-common
+    mysql_config_multilib
+    my.cnf
+    server.cnf
+  )
+  FOREACH(file ${SYSTEMD_SCRIPTS})
+    IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
+      CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh
+        ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY)
+    ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.in)
+      CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.in
+        ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY)
+    ELSE()
+      MESSAGE(FATAL_ERROR "Can not find ${file}.sh or ${file}.in in "
+        "${CMAKE_CURRENT_SOURCE_DIR}" )
+    ENDIF()
+  ENDFOREACH()
 ENDIF()