diff --git a/.gitignore b/.gitignore
index 86134f36cf607f6c6793931846f20affcf3b3f5c..51b507c15bdf780137594acc9061a3e807f6dd2a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,7 @@ RPM
 tags
 extra/txt2c
 extra/bin2c
+extra/dist/tarantoolctl
 extra/dist/tarantoolctl.1
 extra/dist/tarantool.logrotate
 extra/dist/tarantool.service
diff --git a/cmake/pod2man.cmake b/cmake/pod2man.cmake
index c53090771827967cbe0443b77ef972b2916fd4c9..9e3959f52d9f4ca6ad698c4f01224b0c44f0e65c 100644
--- a/cmake/pod2man.cmake
+++ b/cmake/pod2man.cmake
@@ -11,6 +11,9 @@ endif(NOT POD2MAN)
 macro(pod2man PODFILE NAME SECTION CENTER)
     set(PODFILE_FULL "${CMAKE_CURRENT_SOURCE_DIR}/${PODFILE}")
     set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${SECTION}")
+    if(NOT EXISTS ${PODFILE_FULL})
+        set(PODFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/${PODFILE}")
+    endif(NOT EXISTS ${PODFILE_FULL})
     if(NOT EXISTS ${PODFILE_FULL})
         message(FATAL ERROR "Could not find pod file ${PODFILE_FULL} to generate man page")
     endif(NOT EXISTS ${PODFILE_FULL})
diff --git a/extra/dist/CMakeLists.txt b/extra/dist/CMakeLists.txt
index 58ceb727daf03f33fea7b9c292db2390941f3414..f8024526f63a14ae3ad0036ffaa82adfe464432b 100644
--- a/extra/dist/CMakeLists.txt
+++ b/extra/dist/CMakeLists.txt
@@ -32,7 +32,8 @@ else()
     set(SYSCONFIG_DEFAULT "sysconfig")
 endif()
 configure_file(default/tarantool.in default/tarantool @ONLY)
-install (FILES ${PROJECT_BINARY_DIR}/extra/dist/default/tarantool DESTINATION
+configure_file(tarantoolctl.in tarantoolctl @ONLY)
+install (FILES ${CMAKE_CURRENT_BINARY_DIR}/default/tarantool DESTINATION
     ${CMAKE_INSTALL_SYSCONFDIR}/${SYSCONFIG_DEFAULT}/
     PERMISSIONS
     OWNER_READ OWNER_WRITE
@@ -40,7 +41,7 @@ install (FILES ${PROJECT_BINARY_DIR}/extra/dist/default/tarantool DESTINATION
     WORLD_READ)
 
 # tarantoolctl itself
-install (FILES tarantoolctl DESTINATION ${CMAKE_INSTALL_BINDIR}
+install (FILES ${CMAKE_CURRENT_BINARY_DIR}/tarantoolctl DESTINATION ${CMAKE_INSTALL_BINDIR}
     PERMISSIONS
     OWNER_READ OWNER_WRITE OWNER_EXECUTE
     GROUP_READ GROUP_EXECUTE
@@ -74,7 +75,7 @@ install(DIRECTORY DESTINATION ${TARANTOOL_RUNDIR})
 if (NOT TARGET_OS_FREEBSD)
 # logrotate files
 configure_file(tarantool.logrotate.in tarantool.logrotate @ONLY)
-install (FILES ${PROJECT_BINARY_DIR}/extra/dist/tarantool.logrotate
+install (FILES ${CMAKE_CURRENT_BINARY_DIR}/tarantool.logrotate
     DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/logrotate.d/
     RENAME "tarantool"
     PERMISSIONS
@@ -101,14 +102,14 @@ if (WITH_SYSTEMD)
     set(SYSV_INITD_DIR ${CMAKE_INSTALL_PREFIX}/lib/tarantool)
 
     configure_file("tarantool@.service.in" "tarantool@.service" @ONLY)
-    install (FILES ${PROJECT_BINARY_DIR}/extra/dist/tarantool@.service
+    install (FILES ${CMAKE_CURRENT_BINARY_DIR}/tarantool@.service
         DESTINATION ${SYSTEMD_UNIT_DIR}
         PERMISSIONS
         OWNER_READ OWNER_WRITE
         GROUP_READ GROUP_READ
         WORLD_READ WORLD_READ)
     configure_file(tarantool.tmpfiles.conf.in tarantool.tmpfiles.conf @ONLY)
-    install (FILES "${PROJECT_BINARY_DIR}/extra/dist/tarantool.tmpfiles.conf"
+    install (FILES "${CMAKE_CURRENT_BINARY_DIR}/tarantool.tmpfiles.conf"
         DESTINATION "${SYSTEMD_TMPFILES_DIR}"
         RENAME "tarantool.conf"
         PERMISSIONS
diff --git a/extra/dist/tarantoolctl b/extra/dist/tarantoolctl.in
similarity index 99%
rename from extra/dist/tarantoolctl
rename to extra/dist/tarantoolctl.in
index 85d7e41360aaf7601f8d26263adcdbcc808d6956..aedb13bc85a594b030dac97cc5fd074dfae7b979 100755
--- a/extra/dist/tarantoolctl
+++ b/extra/dist/tarantoolctl.in
@@ -238,9 +238,7 @@ local function find_default_file()
     --
     usermode = false
     local config_list = {
-        '/etc/sysconfig/tarantool',
-        '/etc/default/tarantool',
-        '/usr/local/etc/tarantool/default/tarantool',
+        '@CMAKE_INSTALL_FULL_SYSCONFDIR@/@SYSCONFIG_DEFAULT@/tarantool'
     }
     for _, c in pairs(config_list) do
         if fio.stat(c) then