Я создаю lua как внешний проект, и я хочу использовать свой собственный CMakeLists.txt вместо связанного Makefile. Это то, что у меня есть в главном файле CMakeLists.txt:
include(ExternalProject)
set(lua_RELEASE 5.1.4)
ExternalProject_Add(
lua-${lua_RELEASE}
URL http://www.lua.org/ftp/lua-${lua_RELEASE}.tar.gz
DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/download/lua-${lua_RELEASE}
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/lua/lua-${lua_RELEASE}
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/build/lua-${lua_RELEASE}
UPDATE_COMMAND ""
PATCH_COMMAND ""
INSTALL_COMMAND ""
)
Для шага BUILD для работы должен быть CMakeLists.txt в SOURCE_DIR. У меня есть этот CMakeLists.txt в SOURCE_DIR на данный момент:
cmake_minimum_required(VERSION 2.8)
project(lua)
set(lua_library
lapi.c lcode.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c
lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c
ltable.c ltm.c lundump.c lvm.c lzio.c
lauxlib.c lbaselib.c ldblib.c liolib.c lmathlib.c loslib.c
ltablib.c lstrlib.c loadlib.c linit.c)
foreach(s ${lua_library})
set(lua_LIBRARY ${lua_LIBRARY} src/${s})
endforeach()
add_definitions(-DLUA_ANSI=1)
add_library(lua STATIC ${lua_LIBRARY})
Это работает, но я не доволен тем, что исходные файлы lua загромождают мою версию CMakeLists.txt.
Есть ли способ указать пользовательский CMakeLists.txt для этапа сборки, который не находится в SOURCE_DIR?