diff --git a/CMakeLists.txt b/CMakeLists.txt
index 19b583c3dd5311abb45124333a2a536763535b67..066ca6b03b823532a40d163bad9c99366960b0df 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,3 +52,15 @@ install(EXPORT ${PROJECT_NAME}Targets
   )
 
 gaudi_install(CMAKE cmake/${PROJECT_NAME}Config.cmake)
+
+file(WRITE ${CMAKE_BINARY_DIR}/setup.sh.in
+    "#!/bin/bash\n"
+    "# Generated by cmake \n"
+    "# Following is the extra envvar:\n"
+    "@RUN_SCRIPT_EXTRA_COMMANDS@"
+)
+configure_file("${CMAKE_BINARY_DIR}/setup.sh.in" "${CMAKE_BINARY_DIR}/setup.sh"
+               @ONLY)
+
+install(FILES "${CMAKE_BINARY_DIR}/setup.sh"
+        DESTINATION ${CMAKE_INSTALL_PREFIX})