################################################# # # (C) 2011 Timothy Pearson # kb9vqf (AT) pearsoncomputing.net # # Improvements and feedback are welcome # # This file is released under GPL >= 2 # ################################################# # required stuff find_package( TQt ) find_package( TDE ) tde_setup_architecture_flags( ) include(TestBigEndian) test_big_endian(WORDS_BIGENDIAN) tde_setup_largefiles( ) ##### check for gcc visibility support if( WITH_GCC_VISIBILITY ) tde_setup_gcc_visibility( ) endif( WITH_GCC_VISIBILITY ) 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) 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( ) 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)