lua: additionally return name when looking up sections
[project/uci.git] / lua / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 PROJECT(uci C)
4
5 SET(CMAKE_INSTALL_PREFIX /)
6
7 IF(NOT LUA_CFLAGS)
8         INCLUDE(FindPkgConfig)
9         pkg_search_module(LUA lua5.1 lua-5.1)
10 ENDIF()
11
12 ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -I.. ${LUA_CFLAGS})
13 LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
14
15 IF(APPLE)
16   INCLUDE_DIRECTORIES(/opt/local/include)
17   LINK_DIRECTORIES(/opt/local/lib)
18 ENDIF()
19
20 IF(APPLE)
21         SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -undefined dynamic_lookup")
22 ENDIF(APPLE)
23
24 IF(NOT LUAPATH)
25         EXECUTE_PROCESS(
26                 COMMAND  lua -e "for k in string.gmatch(package.cpath .. \";\", \"([^;]+)/..so;\") do if k:sub(1,1) == \"/\" then print(k) break end end"
27                 OUTPUT_VARIABLE LUAPATH
28                 RESULT_VARIABLE LUA_CHECK_RES
29                 OUTPUT_STRIP_TRAILING_WHITESPACE
30         )
31
32         IF(BUILD_LUA)
33                 IF(NOT ${LUA_CHECK_RES} EQUAL 0 OR "${LUAPATH}" EQUAL "")
34                         MESSAGE(SEND_ERROR "Lua was not found on your system")
35                 ENDIF()
36         ENDIF()
37 ENDIF()
38
39 IF(BUILD_LUA)
40         ADD_LIBRARY(uci_lua MODULE uci.c)
41         SET_TARGET_PROPERTIES(uci_lua PROPERTIES
42                 OUTPUT_NAME uci
43                 PREFIX ""
44         )
45         TARGET_LINK_LIBRARIES(uci_lua uci dl)
46
47         INSTALL(TARGETS uci_lua
48                 LIBRARY DESTINATION ${LUAPATH}
49         )
50 ENDIF()
51