You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesvn/src/svnqt/cmakemodules/FindSubversion.cmake

353 lines
11 KiB

SET(SUBVERSIONFOUND)
SET(SUBVERSION_ALL_LIBS)
INCLUDE (CheckIncludeFiles)
#search libraries for UNIX
IF (UNIX)
MACRO(FIND_SUB_LIB targetvar libname)
IF (SUBVERSION_INSTALL_PATH)
FIND_LIBRARY(${targetvar} ${libname}
PATHS
${SUBVERSION_INSTALL_PATH}/lib
NO_DEFAULT_PATH
)
ENDIF(SUBVERSION_INSTALL_PATH)
FIND_LIBRARY(${targetvar} ${libname}
PATHS
/usr/lib
/usr/local/lib
)
ENDMACRO(FIND_SUB_LIB)
IF (SUBVERSION_INSTALL_PATH)
FIND_PATH(SUBVERSION_INCLUDE_DIR svn_client.h
PATHS
${SUBVERSION_INSTALL_PATH}/include/subversion-1
NO_DEFAULT_PATH
)
ENDIF (SUBVERSION_INSTALL_PATH)
FIND_PATH(SUBVERSION_INCLUDE_DIR svn_client.h
/usr/include/subversion-1
/usr/local/include/subversion-1)
FIND_SUB_LIB(SUBVERSION_CLIENTLIB svn_client-1)
FIND_SUB_LIB(SUBVERSION_REPOSITORYLIB svn_repos-1)
FIND_SUB_LIB(SUBVERSION_WCLIB svn_wc-1)
FIND_SUB_LIB(SUBVERSION_FSLIB svn_fs-1)
FIND_SUB_LIB(SUBVERSION_SUBRLIB svn_subr-1)
FIND_SUB_LIB(SUBVERSION_RALIB svn_ra-1)
FIND_SUB_LIB(SUBVERSION_DIFFLIB svn_diff-1)
FIND_PROGRAM(APR_CONFIG NAMES apr-config apr-1-config
PATHS
/usr/local/apr/bin
)
FIND_PROGRAM(APU_CONFIG NAMES apu-config apu-1-config
PATHS
/usr/local/apr/bin
)
if(NOT APR_CONFIG)
message(SEND_ERROR "Error: no apr-config found")
endif(NOT APR_CONFIG)
if(NOT APU_CONFIG)
message(SEND_ERROR "Error: no apu-config found")
endif(NOT APU_CONFIG)
EXEC_PROGRAM(${APR_CONFIG} ARGS "--includedir" OUTPUT_VARIABLE APR_INCLUDE_DIR)
EXEC_PROGRAM(${APU_CONFIG} ARGS "--includedir" OUTPUT_VARIABLE APU_INCLUDE_DIR)
EXEC_PROGRAM(${APR_CONFIG} ARGS "--cppflags" OUTPUT_VARIABLE APR_CPP_FLAGS)
EXEC_PROGRAM(${APU_CONFIG} ARGS "--cppflags" OUTPUT_VARIABLE APU_CPP_FLAGS)
EXEC_PROGRAM(${APR_CONFIG} ARGS "--ldflags --libs --link-ld" OUTPUT_VARIABLE APR_EXTRA_LIBFLAGS)
EXEC_PROGRAM(${APU_CONFIG} ARGS "--ldflags --libs --link-ld" OUTPUT_VARIABLE APU_EXTRA_LIBFLAGS)
CHECK_INCLUDE_FILES(execinfo.h HAS_BACKTRACE_H)
ENDIF (UNIX)
#search libaries for Windows
IF (WIN32)
# search for pathes
FIND_PATH (SUBVERSION_BIN_DIR svn.exe
"$ENV{ProgramFiles}/Subversion/bin"
)
FIND_PATH (SUBVERSION_INCLUDE_DIR svn_client.h
"$ENV{ProgramFiles}/Subversion/include"
)
FIND_PATH(APR_INCLUDE_DIR apr.h
"$ENV{ProgramFiles}/Subversion/include/apr"
)
FIND_PATH(APU_INCLUDE_DIR apu.h
"$ENV{ProgramFiles}/Subversion/include/apr-util"
)
# search for libraries
FIND_LIBRARY(APR_LIB libapr
"$ENV{ProgramFiles}/Subversion/lib/apr"
)
FIND_LIBRARY(APRICONV_LIB libapriconv
"$ENV{ProgramFiles}/Subversion/lib/apr-iconv"
)
FIND_LIBRARY(APU_LIB libaprutil
"$ENV{ProgramFiles}/Subversion/lib/apr-util"
)
FIND_LIBRARY(APU_XMLLIB xml
"$ENV{ProgramFiles}/Subversion/lib/apr-util"
)
FIND_LIBRARY(NEON_LIB libneon
"$ENV{ProgramFiles}/Subversion/lib/neon"
)
FIND_LIBRARY(NEON_ZLIBSTATLIB zlibstat
"$ENV{ProgramFiles}/Subversion/lib/neon"
)
FIND_LIBRARY(INTL3LIB intl3_svn
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(DB44_LIB libdb44
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_CLIENTLIB libsvn_client-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_DELTALIB libsvn_delta-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_DIFFLIB libsvn_diff-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_FSBASELIB libsvn_fs_base-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_FSFSLIB libsvn_fs_fs-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_FSUTILLIB libsvn_fs_util-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_FSLIB libsvn_fs-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_RALOCALLIB libsvn_ra_local-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_RANEONLIB libsvn_ra_neon-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_RASVNLIB libsvn_ra_svn-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_RALIB libsvn_ra-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_REPOSITORYLIB libsvn_repos-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_SUBRLIB libsvn_subr-1
"$ENV{ProgramFiles}/Subversion/lib"
)
FIND_LIBRARY(SUBVERSION_WCLIB libsvn_wc-1
"$ENV{ProgramFiles}/Subversion/lib"
)
SET(APR_EXTRA_LIBFLAGS )
SET(APU_EXTRA_LIBFLAGS )
# check found libraries
if (NOT APR_LIB)
message(SEND_ERROR "No apr lib found!")
ELSE (NOT APR_LIB)
message(STATUS "Found apr lib: ${APR_LIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${APR_LIB})
endif(NOT APR_LIB)
if (NOT APRICONV_LIB)
message(SEND_ERROR "No apriconv lib found!")
ELSE (NOT APRICONV_LIB)
message(STATUS "Found apriconv lib: ${APRICONV_LIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${APRICONV_LIB})
endif(NOT APRICONV_LIB)
if (NOT APU_LIB)
message(SEND_ERROR "No aprutil lib found!")
ELSE (NOT APU_LIB)
message(STATUS "Found aprutil lib: ${APU_LIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${APU_LIB})
endif(NOT APU_LIB)
if (NOT APU_XMLLIB)
message(SEND_ERROR "No xml lib found!")
ELSE (NOT APU_XMLLIB)
message(STATUS "Found xml lib: ${APU_XMLLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${APU_XMLLIB})
endif(NOT APU_XMLLIB)
if (NOT NEON_LIB)
message(SEND_ERROR "No neon lib found!")
ELSE (NOT NEON_LIB)
message(STATUS "Found neon lib: ${NEON_LIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${NEON_LIB})
endif(NOT NEON_LIB)
if (NOT NEON_ZLIBSTATLIB)
message(SEND_ERROR "No zlibstat lib found!")
ELSE (NOT APRICONV_LIB)
message(STATUS "Found zlibstat lib: ${NEON_ZLIBSTATLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${NEON_ZLIBSTATLIB})
endif(NOT NEON_ZLIBSTATLIB)
if (NOT INTL3LIB)
message(SEND_ERROR "No intl3 lib found!")
ELSE (NOT INTL3LIB)
message(STATUS "Found intl3 lib: ${INTL3LIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${INTL3LIB})
endif(NOT INTL3LIB)
if (NOT DB44_LIB)
message(SEND_ERROR "No db44 lib found!")
ELSE (NOT DB44_LIB)
message(STATUS "Found db44 lib: ${DB44_LIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${DB44_LIB})
endif(NOT DB44_LIB)
if (NOT SUBVERSION_DELTALIB)
message(SEND_ERROR "No subversion delta lib found!")
ELSE (NOT SUBVERSION_DELTALIB)
message(STATUS "Found subversion delta lib: ${SUBVERSION_DELTALIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_DELTALIB})
endif(NOT SUBVERSION_DELTALIB)
if (NOT SUBVERSION_FSBASELIB)
message(SEND_ERROR "No subversion fs base lib found!")
ELSE (NOT SUBVERSION_FSBASELIB)
message(STATUS "Found subversion fs base lib: ${SUBVERSION_FSBASELIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_FSBASELIB})
endif(NOT SUBVERSION_FSBASELIB)
if (NOT SUBVERSION_FSFSLIB)
message(SEND_ERROR "No subversion fs fs lib found!")
ELSE (NOT SUBVERSION_FSFSLIB)
message(STATUS "Found subversion fs fs lib: ${SUBVERSION_FSFSLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_FSFSLIB})
endif(NOT SUBVERSION_FSFSLIB)
if (NOT SUBVERSION_FSUTILLIB)
message(SEND_ERROR "No subversion fs util lib found!")
ELSE (NOT SUBVERSION_FSUTILLIB)
message(STATUS "Found subversion fs util lib: ${SUBVERSION_FSUTILLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_FSUTILLIB})
endif(NOT SUBVERSION_FSUTILLIB)
if (NOT SUBVERSION_RALOCALLIB)
message(SEND_ERROR "No subversion ra local lib found!")
ELSE (NOT SUBVERSION_RALOCALLIB)
message(STATUS "Found subversion ra local lib: ${SUBVERSION_RALOCALLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_RALOCALLIB})
endif(NOT SUBVERSION_RALOCALLIB)
if (NOT SUBVERSION_RANEONLIB)
message(SEND_ERROR "No subversion ra neon lib found!")
ELSE (NOT SUBVERSION_RANEONLIB)
message(STATUS "Found subversion ra neon lib: ${SUBVERSION_RANEONLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_RANEONLIB})
endif(NOT SUBVERSION_RANEONLIB)
if (NOT SUBVERSION_RASVNLIB)
message(SEND_ERROR "No subversion ra svn lib found!")
ELSE (NOT SUBVERSION_RASVNLIB)
message(STATUS "Found subversion ra svn lib: ${SUBVERSION_RASVNLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_RASVNLIB})
endif(NOT SUBVERSION_RASVNLIB)
ENDIF (WIN32)
IF(NOT SUBVERSION_INCLUDE_DIR)
message(SEND_ERROR "No subversion includes found!")
ELSE(NOT SUBVERSION_INCLUDE_DIR)
message(STATUS "Found subversion include: ${SUBVERSION_INCLUDE_DIR}")
ENDIF(NOT SUBVERSION_INCLUDE_DIR)
if (NOT SUBVERSION_CLIENTLIB)
message(SEND_ERROR "No subversion client libs found!")
ELSE (NOT SUBVERSION_CLIENTLIB)
message(STATUS "Found subversion client lib: ${SUBVERSION_CLIENTLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_CLIENTLIB})
endif(NOT SUBVERSION_CLIENTLIB)
if (NOT SUBVERSION_DIFFLIB)
message(SEND_ERROR "No subversion diff lib found!")
ELSE (NOT SUBVERSION_DIFFLIB)
message(STATUS "Found subversion diff lib: ${SUBVERSION_DIFFLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_DIFFLIB})
endif(NOT SUBVERSION_DIFFLIB)
if (NOT SUBVERSION_FSLIB)
message(SEND_ERROR "No subversion fs lib found!")
ELSE (NOT SUBVERSION_FSLIB)
message(STATUS "Found subversion fs lib: ${SUBVERSION_FSLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_FSLIB})
endif(NOT SUBVERSION_FSLIB)
if (NOT SUBVERSION_RALIB)
message(SEND_ERROR "No subversion ra lib found!")
ELSE (NOT SUBVERSION_RALIB)
message(STATUS "Found subversion ra lib: ${SUBVERSION_RALIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_RALIB})
endif(NOT SUBVERSION_RALIB)
if (NOT SUBVERSION_REPOSITORYLIB)
message(SEND_ERROR "No subversion repository lib found!")
ELSE (NOT SUBVERSION_REPOSITORYLIB)
message(STATUS "Found subversion repository lib: ${SUBVERSION_REPOSITORYLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_REPOSITORYLIB})
endif(NOT SUBVERSION_REPOSITORYLIB)
if (NOT SUBVERSION_SUBRLIB)
message(SEND_ERROR "No subversion subr lib found!")
ELSE (NOT SUBVERSION_SUBRLIB)
message(STATUS "Found subversion subr lib: ${SUBVERSION_SUBRLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_SUBRLIB})
endif(NOT SUBVERSION_SUBRLIB)
if (NOT SUBVERSION_WCLIB)
message(SEND_ERROR "No subversion wc lib found!")
ELSE (NOT SUBVERSION_WCLIB)
message(STATUS "Found subversion wc lib: ${SUBVERSION_WCLIB}")
SET(SUBVERSION_ALL_LIBS ${SUBVERSION_ALL_LIBS} ${SUBVERSION_WCLIB})
endif(NOT SUBVERSION_WCLIB)
SET(SUBVERSIONFOUND true)