Import ubus tools.
This commit is contained in:
52
3P/ubus/lua/CMakeLists.txt
Normal file
52
3P/ubus/lua/CMakeLists.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
PROJECT(ubus C)
|
||||
|
||||
SET(CMAKE_INSTALL_PREFIX /)
|
||||
|
||||
IF(NOT LUA_CFLAGS)
|
||||
FIND_PROGRAM(PKG_CONFIG pkg-config)
|
||||
IF(PKG_CONFIG)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND pkg-config --silence-errors --cflags lua5.1
|
||||
OUTPUT_VARIABLE LUA_CFLAGS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -I.. ${LUA_CFLAGS})
|
||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
|
||||
LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
|
||||
|
||||
IF(APPLE)
|
||||
SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -undefined dynamic_lookup")
|
||||
ENDIF(APPLE)
|
||||
|
||||
IF(NOT LUAPATH)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND lua -e "for k in string.gmatch(package.cpath .. \";\", \"([^;]+)/..so;\") do if k:sub(1,1) == \"/\" then print(k) break end end"
|
||||
OUTPUT_VARIABLE LUAPATH
|
||||
RESULT_VARIABLE LUA_CHECK_RES
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
IF(BUILD_LUA)
|
||||
IF(NOT ${LUA_CHECK_RES} EQUAL 0 OR "${LUAPATH}" EQUAL "")
|
||||
MESSAGE(SEND_ERROR "Lua was not found on your system")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(BUILD_LUA)
|
||||
ADD_LIBRARY(ubus_lua MODULE ubus.c)
|
||||
SET_TARGET_PROPERTIES(ubus_lua PROPERTIES
|
||||
OUTPUT_NAME ubus
|
||||
PREFIX ""
|
||||
)
|
||||
TARGET_LINK_LIBRARIES(ubus_lua ubus)
|
||||
|
||||
INSTALL(TARGETS ubus_lua
|
||||
LIBRARY DESTINATION ${LUAPATH}
|
||||
)
|
||||
ENDIF()
|
||||
Reference in New Issue
Block a user