Не удалось найти заголовки Lua с пакетом find в cmake

Я пытаюсь использовать CMake для создания файла make для моего проекта, который использует Lua. Когда я запускаю make, я получаю эту ошибку:

/path/to/my/project/luaudio/luaudio.c:1:17: fatal error: lua.h: No such file or directory

в CMakeLists.txt файл, у меня есть следующие строки, которые я думал, что это сделает, но, по-видимому, их недостаточно:

find_package(Lua51 REQUIRED) 
set(Luaudio_INCLUDE_DIRS ${Luaudio_SOURCE_DIR} ${Lua51_INCLUDE_DIRS} PARENT_SCOPE)
include_directories(${Luaudio_INCLUDE_DIRS})

Lua51_Include_Dirs кажется пустым (попытка запустить его, Хотя команда message ничего не печатает), поэтому я подозреваю, что он просто не может его найти. Нужно ли указывать, куда искать Луа? У меня создалось впечатление, что весь смысл find_package был в том, что он будет выглядеть в наборе предопределенных мест, так что мне не нужно указывать, где он конкретно.

(это на машине Ubuntu, и у меня установлены пакеты Lua.)

3 ответов


знакомства FindLua51.cmake из cmake 2.8 я обнаружил, что он устанавливает LUA_INCLUDE_DIR переменной вместо Lua51_INCLUDE_DIRS. Таким образом, код cmake должен быть

find_package(Lua51 REQUIRED) 
set(Luaudio_INCLUDE_DIRS ${Luaudio_SOURCE_DIR} ${LUA_INCLUDE_DIR} PARENT_SCOPE)
include_directories(${Luaudio_INCLUDE_DIRS})

установить Lua bin:

sudo apt-get install lua5.1

установить lua lib:

sudo apt-get install lua5.1-dev

для Ubuntu 14.04 sudo apt-get install lua5.2 sudo apt-get install liblua5.2-dev