diff --git a/CMakeLists.txt b/CMakeLists.txt
index 70707b7ccfb24385776f571212e68dc322b08a88..072c8bd4ccbbf7d3d2cfb1cb9cc920a2151d51f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -123,7 +123,8 @@ set (PACKAGE_VERSION "")
 if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
 	execute_process (COMMAND ${GIT} describe HEAD
 		OUTPUT_VARIABLE PACKAGE_VERSION
-		OUTPUT_STRIP_TRAILING_WHITESPACE)
+		OUTPUT_STRIP_TRAILING_WHITESPACE
+        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
     if (PACKAGE_VERSION STREQUAL "")
         message (FATAL_ERROR "Failed to retrive git version.")
     endif()
diff --git a/src/box/CMakeLists.txt b/src/box/CMakeLists.txt
index 18d03b8993f1aa56a5500dd3662206ee6a38d724..a01ab0354125f4a9e7ed31c58a046cd98adf76d9 100644
--- a/src/box/CMakeLists.txt
+++ b/src/box/CMakeLists.txt
@@ -18,6 +18,7 @@ function(lua_source filename)
         PARENT_SCOPE)
 endfunction()
 
+file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/box/lua)
 lua_source(lua/box.lua)
 lua_source(lua/box_net.lua)
 lua_source(lua/misc.lua)