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/ConfigureChecks.cmake

443 lines
13 KiB

#################################################
#
# (C) 2011 Timothy Pearson
# kb9vqf (AT) pearsoncomputing.net
#
# Improvements and feedback are welcome
#
# This file is released under GPL >= 2
#
#################################################
##### check for gcc visibility support #########
# FIXME
# This should check for [T]Qt3 visibility support
if( WITH_GCC_VISIBILITY )
if( NOT UNIX )
tde_message_fatal(FATAL_ERROR "\ngcc visibility support was requested, but your system is not *NIX" )
endif( NOT UNIX )
set( __KDE_HAVE_GCC_VISIBILITY 1 )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
endif( )
if( BUILD_TRANSLATIONS AND NOT DEFINED MSGFMT_EXECUTABLE )
find_program( MSGFMT_EXECUTABLE msgfmt )
if( NOT MSGFMT_EXECUTABLE )
tde_message_fatal( "msgfmt program is required, but was not found on your system" )
endif( )
endif( )
check_type_size( "int" SIZEOF_INT BUILTIN_TYPES_ONLY )
check_type_size( "long" SIZEOF_LONG BUILTIN_TYPES_ONLY )
check_include_file( stdint.h HAVE_STDINT_H )
check_include_file( systems.h HAVE_SYSTEMS_H )
check_include_file( linux/inotify.h HAVE_INOTIFY )
check_function_exists( statvfs HAVE_STATVFS )
IF (SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES)
SET(SQLITE_FOUND TRUE)
ELSE (SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES)
INCLUDE(UsePkgConfig)
PKGCONFIG(sqlite3 _sqliteincdir _sqlitelibdir _sqlitelinkflags _sqlitecflags)
FIND_PATH(SQLITE_INCLUDE_DIR sqlite3.h
${_sqliteincdir}
/usr/include
/usr/local/include
)
FIND_LIBRARY(SQLITE_LIBRARIES NAMES sqlite3
PATHS
${_sqlitelibdir}
/usr/lib
/usr/local/lib
)
IF (SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES)
SET(SQLITE_FOUND TRUE)
ENDIF (SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES)
IF (SQLITE_FOUND)
MESSAGE(STATUS "Found sqlite3: ${SQLITE_LIBRARIES}")
ELSE (SQLITE_FOUND)
MESSAGE(STATUS "Could not find sqlite3")
ADD_DEFINITIONS(-DNO_SQLITE3)
ENDIF (SQLITE_FOUND)
MARK_AS_ADVANCED(SQLITE_LIBRARIES SQLITE_INCLUDE_DIR)
ENDIF (SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES)
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)
13 years ago
EXEC_PROGRAM(${APR_CONFIG} ARGS "--includedir" OUTPUT_VARIABLE APR_INCLUDE_DIR_INT)
pkg_search_module( APR apr-1 )
if( NOT APR_FOUND )
tde_message_fatal( "apr-1 is required, but was not found on your system" )
endif( )
13 years ago
EXEC_PROGRAM(${APU_CONFIG} ARGS "--includedir" OUTPUT_VARIABLE APU_INCLUDE_DIR_INT)
SET(APR_INCLUDE_DIR "${APR_INCLUDE_DIR_INT}" CACHE INTERNAL "")
SET(APU_INCLUDE_DIR "${APU_INCLUDE_DIR_INT}" CACHE INTERNAL "")
EXEC_PROGRAM(${APR_CONFIG} ARGS "--cppflags" OUTPUT_VARIABLE APR_CPP_FLAGS_INT)
EXEC_PROGRAM(${APU_CONFIG} ARGS "--includes" OUTPUT_VARIABLE APU_CPP_FLAGS_INT)
SET(APR_CPP_FLAGS "${APR_CPP_FLAGS_INT}" CACHE INTERNAL "")
SET(APU_CPP_FLAGS "${APU_CPP_FLAGS_INT}" CACHE INTERNAL "")
EXEC_PROGRAM(${APR_CONFIG} ARGS "--ldflags --libs --link-ld" OUTPUT_VARIABLE APR_EXTRA_LIBFLAGS_INT)
EXEC_PROGRAM(${APU_CONFIG} ARGS "--ldflags --libs --link-ld" OUTPUT_VARIABLE APU_EXTRA_LIBFLAGS_INT)
SET(APR_EXTRA_LIBFLAGS "${APR_EXTRA_LIBFLAGS_INT}" CACHE INTERNAL "")
SET(APU_EXTRA_LIBFLAGS "${APU_EXTRA_LIBFLAGS_INT}" CACHE INTERNAL "")
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)
# common required stuff
find_package( TQt )
find_package( TDE )