projects/uci: lua: use built in pkg-config support for alternatives
[project/uci.git] / lua / CMakeLists.txt
index ad773a4..b9f513a 100644 (file)
@@ -4,7 +4,18 @@ PROJECT(uci C)
 
 SET(CMAKE_INSTALL_PREFIX /)
 
 
 SET(CMAKE_INSTALL_PREFIX /)
 
-ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3)
+IF(NOT LUA_CFLAGS)
+       INCLUDE(FindPkgConfig)
+       pkg_search_module(LUA lua5.1 lua-5.1)
+ENDIF()
+
+ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -I.. ${LUA_CFLAGS})
+LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
+
+IF(APPLE)
+  INCLUDE_DIRECTORIES(/opt/local/include)
+  LINK_DIRECTORIES(/opt/local/lib)
+ENDIF()
 
 IF(APPLE)
        SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -undefined dynamic_lookup")
 
 IF(APPLE)
        SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -undefined dynamic_lookup")
@@ -18,18 +29,23 @@ IF(NOT LUAPATH)
                OUTPUT_STRIP_TRAILING_WHITESPACE
        )
 
                OUTPUT_STRIP_TRAILING_WHITESPACE
        )
 
-       IF(NOT ${LUA_CHECK_RES} EQUAL 0 OR ${LUAPATH} EQUAL "")
-               MESSAGE(SEND_ERROR "Lua was not found on your system")
+       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()
 
        ENDIF()
 ENDIF()
 
-ADD_LIBRARY(uci_lua MODULE uci.c)
-SET_TARGET_PROPERTIES(uci_lua PROPERTIES
-       OUTPUT_NAME uci
-       PREFIX ""
-)
-TARGET_LINK_LIBRARIES(uci_lua uci)
+IF(BUILD_LUA)
+       ADD_LIBRARY(uci_lua MODULE uci.c)
+       SET_TARGET_PROPERTIES(uci_lua PROPERTIES
+               OUTPUT_NAME uci
+               PREFIX ""
+       )
+       TARGET_LINK_LIBRARIES(uci_lua uci dl)
+
+       INSTALL(TARGETS uci_lua
+               LIBRARY DESTINATION ${LUAPATH}
+       )
+ENDIF()
 
 
-INSTALL(TARGETS uci_lua
-       LIBRARY DESTINATION ${LUAPATH}
-)