diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 197d83b1e923ec9c1687e8810b38b5cc0231f794..2402e4bd6456f1be502dd0332f0cee22d08527d7 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -84,10 +84,15 @@ endfunction() function(apigen) set (dstfile "${CMAKE_BINARY_DIR}/src/module.h") set (tmpfile "${dstfile}.new") + set (headers) + # Get absolute path for header files (required of out-of-source build) + foreach (header ${ARGN}) + list(APPEND headers ${CMAKE_CURRENT_SOURCE_DIR}/${header}) + endforeach() add_custom_command(OUTPUT ${dstfile} COMMAND cat ${CMAKE_SOURCE_DIR}/src/module_header.h > ${tmpfile} - COMMAND cat ${ARGN} | ${CMAKE_SOURCE_DIR}/extra/apigen >> ${tmpfile} + COMMAND cat ${headers} | ${CMAKE_SOURCE_DIR}/extra/apigen >> ${tmpfile} COMMAND cat ${CMAKE_SOURCE_DIR}/src/module_footer.h >> ${tmpfile} COMMAND ${CMAKE_COMMAND} -E copy_if_different ${tmpfile} ${dstfile} COMMAND ${CMAKE_COMMAND} -E remove ${tmpfile} diff --git a/test/app/module_api.test.lua b/test/app/module_api.test.lua index b8e50193b6d436ec0d3cad5faba77cbc62377106..0f28dca108c5018e7b77988cce5f45b20567742f 100755 --- a/test/app/module_api.test.lua +++ b/test/app/module_api.test.lua @@ -2,8 +2,7 @@ box.cfg{logger = "tarantool.log"} -local work_dir = require('fio').dirname(arg[0]) -package.cpath = work_dir..'/?.so;' +package.cpath = '../app/?.so;'..package.cpath local test = require('tap').test("module_api", function(test) test:plan(7)