60 lines
2.3 KiB
CMake
60 lines
2.3 KiB
CMake
FIND_LIBRARY(SWIFTEN_LIBRARY NAMES Swiften Swiften3 Swiften4 HINTS ../lib)
|
|
FIND_PATH(SWIFTEN_INCLUDE_DIR NAMES "Swiften/Swiften.h" PATH_SUFFIXES libSwiften Swiften HINTS ../include)
|
|
|
|
if( SWIFTEN_LIBRARY AND SWIFTEN_INCLUDE_DIR )
|
|
find_program(SWIFTEN_CONFIG_EXECUTABLE NAMES swiften-config DOC "swiften-config executable" HINTS ../bin)
|
|
set( SWIFTEN_CFLAGS "" )
|
|
if (SWIFTEN_CONFIG_EXECUTABLE)
|
|
# Libs
|
|
execute_process(
|
|
COMMAND ${SWIFTEN_CONFIG_EXECUTABLE} --libs
|
|
OUTPUT_VARIABLE SWIFTEN_LIB)
|
|
string(REGEX REPLACE "[\r\n]" " " SWIFTEN_LIB "${SWIFTEN_LIB}")
|
|
string(REGEX REPLACE " +$" "" SWIFTEN_LIB "${SWIFTEN_LIB}")
|
|
set(SWIFTEN_LIBRARY "")
|
|
if (APPLE)
|
|
string(REGEX MATCHALL "-framework [A-Za-z]+" APPLE_FRAMEWORKS "${SWIFTEN_LIB}")
|
|
foreach(framework ${APPLE_FRAMEWORKS})
|
|
list(APPEND SWIFTEN_LIBRARY ${framework} )
|
|
endforeach(framework)
|
|
string(REGEX REPLACE "-framework [A-Za-z]+" "" SWIFTEN_LIB "${SWIFTEN_LIB}")
|
|
endif(APPLE)
|
|
string(REGEX REPLACE " " ";" SWIFTEN_LIB "${SWIFTEN_LIB}")
|
|
foreach(f ${SWIFTEN_LIB})
|
|
STRING(SUBSTRING ${f} 0 2 f_out)
|
|
STRING(COMPARE EQUAL ${f_out} "/L" IS_PATH)
|
|
if(${IS_PATH})
|
|
string(REGEX REPLACE "/LIBPATH:" "" f_replaced "${f}")
|
|
message("Added link directory: ${f_replaced}")
|
|
link_directories(${f_replaced})
|
|
else()
|
|
list(APPEND SWIFTEN_LIBRARY ${f})
|
|
endif()
|
|
endforeach(f)
|
|
|
|
# Version
|
|
execute_process(
|
|
COMMAND ${SWIFTEN_CONFIG_EXECUTABLE} --version
|
|
OUTPUT_VARIABLE SWIFTEN_VERSION)
|
|
string(REGEX REPLACE "[\r\n]" " " SWIFTEN_VERSION "${SWIFTEN_VERSION}")
|
|
string(REGEX REPLACE " +$" "" SWIFTEN_VERSION "${SWIFTEN_VERSION}")
|
|
string(REGEX REPLACE "swiften-config " "" SWIFTEN_VERSION "${SWIFTEN_VERSION}")
|
|
|
|
if("${SWIFTEN_VERSION}" STRGREATER "4" AND NOT MSVC)
|
|
message( STATUS "Found Swiften > 4 requesting C++11")
|
|
add_definitions(-std=c++11)
|
|
endif()
|
|
|
|
set( SWIFTEN_FOUND 1 )
|
|
else()
|
|
message( STATUS "Could NOT find swiften-config" )
|
|
endif()
|
|
|
|
if (SWIFTEN_FOUND)
|
|
set( SWIFTEN_INCLUDE_DIR ${SWIFTEN_INCLUDE_DIR} )
|
|
message( STATUS "Found libSwiften: ${SWIFTEN_LIBRARY}, ${SWIFTEN_INCLUDE_DIR}")
|
|
endif()
|
|
|
|
else( SWIFTEN_LIBRARY AND SWIFTEN_INCLUDE_DIR )
|
|
message( STATUS "Could NOT find libSwiften" )
|
|
endif( SWIFTEN_LIBRARY AND SWIFTEN_INCLUDE_DIR )
|