do not attempt to build lua if disabled
[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 ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -I..)
8 LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
9
10 IF(APPLE)
11         SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -undefined dynamic_lookup")
12 ENDIF(APPLE)
13
14 IF(NOT LUAPATH)
15         EXECUTE_PROCESS(
16                 COMMAND  lua -e "for k in string.gmatch(package.cpath .. \";\", \"([^;]+)/..so;\") do if k:sub(1,1) == \"/\" then print(k) break end end"
17                 OUTPUT_VARIABLE LUAPATH
18                 RESULT_VARIABLE LUA_CHECK_RES
19                 OUTPUT_STRIP_TRAILING_WHITESPACE
20         )
21
22         IF(BUILD_LUA)
23                 IF(NOT ${LUA_CHECK_RES} EQUAL 0 OR ${LUAPATH} EQUAL "")
24                         MESSAGE(SEND_ERROR "Lua was not found on your system")
25                 ENDIF()
26         ENDIF()
27 ENDIF()
28
29 IF(BUILD_LUA)
30         ADD_LIBRARY(uci_lua MODULE uci.c)
31         SET_TARGET_PROPERTIES(uci_lua PROPERTIES
32                 OUTPUT_NAME uci
33                 PREFIX ""
34         )
35         TARGET_LINK_LIBRARIES(uci_lua uci dl)
36
37         INSTALL(TARGETS uci_lua
38                 LIBRARY DESTINATION ${LUAPATH}
39         )
40 ENDIF()
41