From e55aa0234745cdd6d3c2182fcfad36c049018ffa Mon Sep 17 00:00:00 2001 From: Kevin Smith Date: Sat, 2 Apr 2011 17:26:43 +0800 Subject: [PATCH] CMake stuff to find libSwiften. If you keep things in strange places, set CMAKE_PREFIX_PATH in the environment before running cmake. --- CMakeLists.txt | 4 ++++ cmake_modules/SwiftenConfig.cmake | 11 +++++++++++ examples/server_connect/CMakeLists.txt | 2 +- examples/usermanager/CMakeLists.txt | 2 +- src/CMakeLists.txt | 2 +- 5 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 cmake_modules/SwiftenConfig.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a90840c2..49e68615 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,9 @@ find_package(glib REQUIRED) set(event_DIR "${CMAKE_SOURCE_DIR}/cmake_modules") find_package(event) +set(Swiften_DIR "${CMAKE_SOURCE_DIR}/cmake_modules") +find_package(Swiften REQUIRED) + find_package(Doxygen) message("Supported features") @@ -58,6 +61,7 @@ include_directories(include) include_directories(${PURPLE_INCLUDE_DIR}) include_directories(${EVENT_INCLUDE_DIRS}) include_directories(${GLIB2_INCLUDE_DIR}) +include_directories(${SWIFTEN_INCLUDE_DIR}) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(include) diff --git a/cmake_modules/SwiftenConfig.cmake b/cmake_modules/SwiftenConfig.cmake new file mode 100644 index 00000000..cf212983 --- /dev/null +++ b/cmake_modules/SwiftenConfig.cmake @@ -0,0 +1,11 @@ +FIND_LIBRARY(SWIFTEN_LIBRARY NAMES Swiften) +FIND_PATH(SWIFTEN_INCLUDE_DIR NAMES "Swiften.h" PATH_SUFFIXES libSwiften ) + + +if( SWIFTEN_LIBRARY AND SWIFTEN_INCLUDE_DIR ) + set( SWIFTEN_INCLUDE_DIR ${SWIFTEN_INCLUDE_DIR}/.. ) + message( STATUS "Found libSwiften: ${SWIFTEN_LIBRARY}, ${SWIFTEN_INCLUDE_DIR}") + set( SWIFTEN_FOUND 1 ) +else( SWIFTEN_LIBRARY AND SWIFTEN_INCLUDE_DIR ) + message( FATAL_ERROR "Could NOT find libSwiften" ) +endif( SWIFTEN_LIBRARY AND SWIFTEN_INCLUDE_DIR ) diff --git a/examples/server_connect/CMakeLists.txt b/examples/server_connect/CMakeLists.txt index 70b9962d..d71144af 100644 --- a/examples/server_connect/CMakeLists.txt +++ b/examples/server_connect/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB SRC *.cpp) ADD_EXECUTABLE(transport_server_connect ${SRC}) -TARGET_LINK_LIBRARIES(transport_server_connect transport) +TARGET_LINK_LIBRARIES(transport_server_connect transport ${SWIFTEN_LIBRARIES}) diff --git a/examples/usermanager/CMakeLists.txt b/examples/usermanager/CMakeLists.txt index b78652e1..1438b57d 100644 --- a/examples/usermanager/CMakeLists.txt +++ b/examples/usermanager/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB SRC *.cpp) ADD_EXECUTABLE(transport_usermanager ${SRC}) -TARGET_LINK_LIBRARIES(transport_usermanager transport) +TARGET_LINK_LIBRARIES(transport_usermanager transport ${SWIFTEN_LIBRARIES}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c5bfe390..f97cbf5d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,7 +7,7 @@ FILE(GLOB HEADERS ../../include/transport/*.h) ADD_LIBRARY(transport SHARED ${HEADERS} ${SRC}) ADD_DEFINITIONS(-fPIC) -TARGET_LINK_LIBRARIES(transport -lSwiften -lresolv -lidn -lz -lpthread -lexpat -lidn -lboost_date_time -lboost_system -lboost_filesystem -lboost_program_options -lboost_regex -lboost_thread-mt -lboost_signals -lz -lssl -lcrypto -lexpat -lresolv -lc -lxml2 ${SQLITE3_LIBRARIES}) +TARGET_LINK_LIBRARIES(transport -lresolv -lidn -lz -lpthread -lexpat -lidn -lboost_date_time -lboost_system -lboost_filesystem -lboost_program_options -lboost_regex -lboost_thread-mt -lboost_signals -lz -lssl -lcrypto -lexpat -lresolv -lc -lxml2 ${SQLITE3_LIBRARIES} ${SWIFTEN_LIBRARY}) SET_TARGET_PROPERTIES(transport PROPERTIES VERSION ${TRANSPORT_VERSION} SOVERSION ${TRANSPORT_VERSION}