Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.openwrt.org/project/libubox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lua/CMakeLists.txt')
-rw-r--r--lua/CMakeLists.txt52
1 files changed, 52 insertions, 0 deletions
diff --git a/lua/CMakeLists.txt b/lua/CMakeLists.txt
new file mode 100644
index 0000000..04abe0c
--- /dev/null
+++ b/lua/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 2.6)
+
+PROJECT(uloop 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})
+LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
+
+IF(APPLE)
+ ADD_DEFINITIONS(-I/opt/local/include)
+ 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(uloop_lua MODULE uloop.c)
+ SET_TARGET_PROPERTIES(uloop_lua PROPERTIES
+ OUTPUT_NAME uloop
+ PREFIX ""
+ )
+ TARGET_LINK_LIBRARIES(uloop_lua ubox)
+
+ INSTALL(TARGETS uloop_lua
+ LIBRARY DESTINATION ${LUAPATH}
+ )
+ENDIF()