From b4994ce1f0c0218f4056a69b8b8bb74f63954752 Mon Sep 17 00:00:00 2001
From: Konstantin Osipov <kostja@tarantool.org>
Date: Fri, 30 Jan 2015 18:06:02 +0300
Subject: [PATCH] cmake, lua_source() function: make directory if it does not
 exist.

---
 cmake/utils.cmake  | 5 +++++
 src/CMakeLists.txt | 2 --
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/cmake/utils.cmake b/cmake/utils.cmake
index 3e07c71127..7ca69f6a29 100644
--- a/cmake/utils.cmake
+++ b/cmake/utils.cmake
@@ -43,6 +43,11 @@ function(lua_source varname filename)
     set (tmpfile "${CMAKE_CURRENT_BINARY_DIR}/${filename}.new.c")
     set (dstfile "${CMAKE_CURRENT_BINARY_DIR}/${filename}.c")
     get_filename_component(module ${filename} NAME_WE)
+    get_filename_component(dstdir ${dstfile} DIRECTORY)
+    if (IS_DIRECTORY ${dstdir})
+    else()
+        file(MAKE_DIRECTORY ${dstdir})
+    endif()
 
     ADD_CUSTOM_COMMAND(OUTPUT ${dstfile}
         COMMAND ${ECHO} 'const char ${module}_lua[] =' > ${tmpfile}
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6feb067156..1d41c3cbf4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -14,7 +14,6 @@ include_directories(${LIBGOPT_INCLUDE_DIR})
 include_directories(${READLINE_INCLUDE_DIR})
 
 # Compile src/lua/*.lua files into src/lua/*.lua.c sources
-file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/lua)
 set(lua_sources)
 lua_source(lua_sources lua/init.lua)
 lua_source(lua_sources lua/uuid.lua)
@@ -30,7 +29,6 @@ lua_source(lua_sources lua/help.lua)
 lua_source(lua_sources lua/help_en_US.lua)
 lua_source(lua_sources lua/tap.lua)
 lua_source(lua_sources lua/fio.lua)
-file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/third_party/luafun)
 lua_source(lua_sources ../third_party/luafun/fun.lua)
 
 add_custom_target(generate_lua_sources
-- 
GitLab