CMakeLists.txt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. cmake_minimum_required(VERSION 2.6)
  2. PROJECT(uloop C)
  3. SET(CMAKE_INSTALL_PREFIX /)
  4. IF(NOT LUA_CFLAGS)
  5. pkg_search_module(LUA lua5.1 lua-5.1)
  6. ENDIF()
  7. ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -I.. ${LUA_CFLAGS})
  8. LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
  9. IF(APPLE)
  10. SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -undefined dynamic_lookup")
  11. ENDIF(APPLE)
  12. IF(NOT LUAPATH)
  13. EXECUTE_PROCESS(
  14. COMMAND lua -e "for k in string.gmatch(package.cpath .. \";\", \"([^;]+)/..so;\") do if k:sub(1,1) == \"/\" then print(k) break end end"
  15. OUTPUT_VARIABLE LUAPATH
  16. RESULT_VARIABLE LUA_CHECK_RES
  17. OUTPUT_STRIP_TRAILING_WHITESPACE
  18. )
  19. IF(BUILD_LUA)
  20. IF(NOT ${LUA_CHECK_RES} EQUAL 0 OR "${LUAPATH}" EQUAL "")
  21. MESSAGE(SEND_ERROR "Lua was not found on your system")
  22. ENDIF()
  23. ENDIF()
  24. ENDIF()
  25. IF(BUILD_LUA)
  26. ADD_LIBRARY(uloop_lua MODULE uloop.c)
  27. SET_TARGET_PROPERTIES(uloop_lua PROPERTIES
  28. OUTPUT_NAME uloop
  29. PREFIX ""
  30. )
  31. TARGET_LINK_LIBRARIES(uloop_lua ubox)
  32. INSTALL(TARGETS uloop_lua
  33. LIBRARY DESTINATION ${LUAPATH}
  34. )
  35. ENDIF()