CMakeLists.txt
changeset 6 90073cbb535d
parent 5 e617c9cf6dd3
child 7 5db1448eb857
--- a/CMakeLists.txt	Mon Feb 16 01:32:12 2009 +0200
+++ b/CMakeLists.txt	Fri Feb 20 23:07:43 2009 +0200
@@ -3,12 +3,11 @@
 project(lua-lm C)
 
 ## User options
-option(DEBUG "Enable debugging output" OFF)
+option(DEBUG "Enable debugging output" ON)
 
 ## Define targets
 add_library(loudmouth MODULE util.c lm_types.c lm_proxy.c lm_ssl.c lm_connection.c lm_message.c lm_message_node.c lm_message_handler.c lm.c)
 get_target_property(lua-lm_SOURCES loudmouth SOURCES)
-configure_file(config.h.in config.h)
 
 ## Packaging information
 set(CPACK_PACKAGE_NAME liblua5.1-loudmouth)
@@ -38,23 +37,34 @@
 find_package(PkgConfig REQUIRED)
 pkg_check_modules(GLIB REQUIRED glib-2.0)
 pkg_check_modules(LM REQUIRED loudmouth-1.0)
+include(CheckFunctionExists)
+set(CMAKE_REQUIRED_INCLUDES ${LM_INCLUDE_DIRS})
+set(CMAKE_REQUIRED_LIBRARIES ${LM_LIBRARIES})
+check_function_exists(lm_connection_get_keep_alive_rate HAVE_LM_CONNECTION_GET_KEEP_ALIVE_RATE)
+find_package(Perl)
 
 ## Set up compiler
+configure_file(config.h.in config.h)
 include_directories(SYSTEM ${LUA_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} ${LM_INCLUDE_DIRS})
 target_link_libraries(loudmouth ${LUA_LIBRARIES} ${GLIB_LIBRARIES} ${LM_LIBRARIES})
 include_directories(${lua-lm_SOURCE_DIR} ${lua-lm_BINARY_DIR})
 set_target_properties(loudmouth PROPERTIES PREFIX "")
 
 ## Extra targets
-add_custom_command(OUTPUT ${lua-lm_BINARY_DIR}/loudmouth.html COMMAND ${lua-lm_SOURCE_DIR}/docgen.pl ${lua-lm_SOURCES} > ${lua-lm_BINARY_DIR}/loudmouth.html DEPENDS ${lua-lm_SOURCE_DIR}/docgen.pl ${lua-lm_SOURCES} WORKING_DIRECTORY ${lua-lm_SOURCE_DIR})
-add_custom_target(doc ALL DEPENDS ${lua-lm_BINARY_DIR}/loudmouth.html)
+if(PERL_FOUND)
+	add_custom_command(OUTPUT ${lua-lm_BINARY_DIR}/loudmouth.html COMMAND ${lua-lm_SOURCE_DIR}/docgen.pl ${lua-lm_SOURCES} > ${lua-lm_BINARY_DIR}/loudmouth.html DEPENDS ${lua-lm_SOURCE_DIR}/docgen.pl ${lua-lm_SOURCES} WORKING_DIRECTORY ${lua-lm_SOURCE_DIR})
+	add_custom_target(doc ALL DEPENDS ${lua-lm_BINARY_DIR}/loudmouth.html)
+endif()
 add_custom_target(test COMMAND env "LUA_PATH=${lua-lm_SOURCE_DIR}/?.lua;${LUA_PATH}" "LUA_CPATH=${lua-lm_SOURCE_DIR}/?.so;${lua-lm_BINARY_DIR}/?.so;${LUA_CPATH}" lua ${lua-lm_SOURCE_DIR}/test.lua DEPENDS loudmouth VERBATIM)
+add_custom_target(test1 COMMAND env "LUA_PATH=${lua-lm_SOURCE_DIR}/?.lua;${LUA_PATH}" "LUA_CPATH=${lua-lm_SOURCE_DIR}/?.so;${lua-lm_BINARY_DIR}/?.so;${LUA_CPATH}" lua ${lua-lm_BINARY_DIR}/test.lua DEPENDS loudmouth VERBATIM)
 
 ## Set up installer
 install(TARGETS loudmouth DESTINATION lib/lua/5.1)
 install(FILES lm.lua DESTINATION share/lua/5.1)
 install(FILES test.lua DESTINATION share/doc/${CPACK_PACKAGE_NAME}/examples)
-install(FILES ${lua-lm_BINARY_DIR}/loudmouth.html DESTINATION share/doc/${CPACK_PACKAGE_NAME})
+if(PERL_FOUND)
+	install(FILES ${lua-lm_BINARY_DIR}/loudmouth.html DESTINATION share/doc/${CPACK_PACKAGE_NAME})
+endif()
 install(FILES README DESTINATION share/doc/${CPACK_PACKAGE_NAME})
 install(FILES TODO DESTINATION share/doc/${CPACK_PACKAGE_NAME})
 install(FILES COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME})