Attempt to make FindSvnClient.cmake portable
This commit is contained in:
parent
d3d358bdbd
commit
8a63b26c42
1 changed files with 32 additions and 16 deletions
|
@ -5,6 +5,30 @@ include (CheckFunctionExists)
|
||||||
include (CheckIncludeFile)
|
include (CheckIncludeFile)
|
||||||
include (CheckLibraryExists)
|
include (CheckLibraryExists)
|
||||||
|
|
||||||
|
macro(find_static_component comp libs)
|
||||||
|
# account for alternative Windows svn distribution naming
|
||||||
|
if(MSVC)
|
||||||
|
set(compLib "lib${comp}")
|
||||||
|
else(MSVC)
|
||||||
|
set(compLib "${comp}")
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
|
string(TOUPPER "${comp}" compLibBase)
|
||||||
|
set( compLibName ${compLibBase}_LIBRARY )
|
||||||
|
|
||||||
|
FIND_LIBRARY(${compLibName}
|
||||||
|
NAMES ${compLib}
|
||||||
|
HINTS $ENV{PLIBDIR}
|
||||||
|
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||||
|
PATHS
|
||||||
|
/usr/local
|
||||||
|
/usr
|
||||||
|
/opt
|
||||||
|
)
|
||||||
|
|
||||||
|
list(APPEND ${libs} ${${compLibName}})
|
||||||
|
endmacro()
|
||||||
|
|
||||||
find_program(HAVE_APR_CONFIG apr-1-config)
|
find_program(HAVE_APR_CONFIG apr-1-config)
|
||||||
if(HAVE_APR_CONFIG)
|
if(HAVE_APR_CONFIG)
|
||||||
|
|
||||||
|
@ -34,24 +58,16 @@ if(HAVE_APR_CONFIG OR MSVC)
|
||||||
/opt
|
/opt
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(LIBSVN_LIBRARIES "")
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
check_library_exists(libsvn_client-1 svn_client_checkout "${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib" HAVE_LIB_SVNCLIENT)
|
find_static_component("apr-1" LIBSVN_LIBRARIES)
|
||||||
check_library_exists(libsvn_subr-1 svn_cmdline_init "${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib" HAVE_LIB_SVNSUBR)
|
|
||||||
check_library_exists(libsvn_ra-1 svn_ra_initialize "${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib" HAVE_LIB_SVNRA)
|
|
||||||
else (MSVC)
|
else (MSVC)
|
||||||
check_library_exists(svn_client-1 svn_client_checkout "" HAVE_LIB_SVNCLIENT)
|
list(APPEND LIBSVN_LIBRARIES APR_LIBS)
|
||||||
check_library_exists(svn_subr-1 svn_cmdline_init "" HAVE_LIB_SVNSUBR)
|
|
||||||
check_library_exists(svn_ra-1 svn_ra_initialize "" HAVE_LIB_SVNRA)
|
|
||||||
endif (MSVC)
|
endif (MSVC)
|
||||||
|
find_static_component("svn_client-1" LIBSVN_LIBRARIES)
|
||||||
|
find_static_component("svn_subr-1" LIBSVN_LIBRARIES)
|
||||||
|
find_static_component("svn_ra-1" LIBSVN_LIBRARIES)
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBSVN DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBSVN DEFAULT_MSG LIBSVN_LIBRARIES LIBSVN_INCLUDE_DIR)
|
||||||
HAVE_LIB_SVNSUBR
|
|
||||||
HAVE_LIB_SVNCLIENT
|
|
||||||
HAVE_LIB_SVNRA
|
|
||||||
LIBSVN_INCLUDE_DIR)
|
|
||||||
|
|
||||||
if(LIBSVN_FOUND)
|
|
||||||
set(LIBSVN_LIBRARIES "svn_client-1" "svn_subr-1" "svn_ra-1" ${APR_LIBS})
|
|
||||||
endif(LIBSVN_FOUND)
|
|
||||||
endif(HAVE_APR_CONFIG OR MSVC)
|
endif(HAVE_APR_CONFIG OR MSVC)
|
||||||
|
|
Loading…
Add table
Reference in a new issue