| |
|
| | # Necessary Boost libraries, e. g. BOOST_LIBS = iostreams math_c99 regex |
| | # XXX: this will not play nice with the win case as-is |
| |
|
| | exists( custom.pro ):include( custom.pro ) |
| | exists( custom.pri ):include( custom.pri ) |
| |
|
| | BOOST_LIBS = |
| |
|
| | unix { |
| | defineTest( checkBoostIncDir ) { |
| |
|
| | boostIncDir = $${1} |
| | |
| | exists( $${boostIncDir}/boost/version.hpp ) { |
| | return( true ) |
| | } |
| |
|
| | return(false) |
| | } |
| |
|
| | defineTest( checkBoostLibDir ) { |
| |
|
| | boostLibDir = $${1} |
| | |
| | # If no Boost libs are used, always succeed |
| | isEmpty( BOOST_LIBS ) { |
| | return( true ) |
| | } |
| | |
| | exists( $${boostLibDir}/libboost_* ) { |
| | return( true ) |
| | } |
| |
|
| | return( false ) |
| | } |
| |
|
| | defineTest( checkBoostLib ) { |
| |
|
| | boostLib = $${1} |
| | |
| | exists( $${BOOST_LIBDIR}/libboost_$${boostLib}.* ) { |
| | return( true ) |
| | } |
| | |
| | return( false ) |
| | } |
| | |
| | defineTest( checkBoostLibs ) { |
| | |
| | boostLibs = $${ARGS} |
| |
|
| | # If no Boost libs are used, always succeed |
| | isEmpty( BOOST_LIBS ) { |
| | return( true ) |
| | } |
| |
|
| | for( boostLib, boostLibs ) { |
| | checkBoostLib( $${boostLib} ) { |
| | return( true ) |
| | } else { |
| | error( Required Boost library $${boostLib} not found ) |
| | } |
| | } |
| |
|
| | return( false ) |
| | } |
| |
|
| | defineReplace( findBoostDirIn ) { |
| |
|
| | boostDirs = $${ARGS} |
| | |
| | for( boostDir, boostDirs ) { |
| | checkBoostIncDir( $${boostDir}/include ) : checkBoostLibDir( $${boostDir}/lib ) { |
| | return( $${boostDir} ) |
| | } |
| | } |
| |
|
| | return( ) |
| | } |
| |
|
| | isEmpty( BOOST_DIR ) { |
| |
|
| | BOOST_DIR = $$findBoostDirIn($${INSTALL_PREFIX} /usr /usr/local /usr/pkg /opt/local /opt/homebrew /opt/homebrew/Cellar ) |
| |
|
| | isEmpty( BOOST_DIR ) { |
| | error( Boost installation not found. ) |
| | } else { |
| | message( Found Boost in $${BOOST_DIR} ) |
| | } |
| | |
| | } |
| | |
| | checkBoostIncDir( $${BOOST_DIR}/include ) { |
| | BOOST_INCDIR = $${BOOST_DIR}/include |
| | message( Using Boost includes from $${BOOST_INCDIR} ) |
| | } else { |
| | error( $${BOOST_DIR} does not contain a Boost installation ) |
| | } |
| | |
| | !isEmpty( BOOST_LIBS ) { |
| | |
| | checkBoostLibDir( $${BOOST_DIR}/lib ) { |
| | BOOST_LIBDIR = $${BOOST_DIR}/lib |
| | } else { |
| | error( Boost libraries not installed in $${BOOST_DIR}/lib ) |
| | } |
| |
|
| | !checkBoostLibs( $${BOOST_LIBS} ) { |
| | |
| | error( Required Boost libraries not found ) |
| | } |
| | } |
| | |
| | |
| | QMAKE_DEFAULT_INCDIRS |
| | INCLUDEPATH += $${BOOST_INCDIR} |
| | HEADERS += $${BOOST_INCDIR} |
| |
|
| | !isEmpty( BOOST_LIBS ) { |
| |
|
| | LIBS += -L$${BOOST_LIBDIR} |
| | |
| | message( Using Boost libraries from $${BOOST_LIBDIR} ) |
| | message( Using Boost libraries: ) |
| |
|
| | for( boostLib, BOOST_LIBS ) { |
| | message( -> $${boostLib} ) |
| | LIBS += -lboost_$${boostLib} |
| | } |
| | } |
| |
|
| | } |
| |
|
| | win32 { |
| | !equals($$(BOOST_DIR), ""):exists( "$$(BOOST_DIR)" ) { |
| | # BOOST_DIR environment variable is set, use it: |
| | BOOST_DIR = "$$(BOOST_DIR)" |
| | } else:isEmpty( BOOST_DIR ) { |
| | # BOOST_DIR QMake variable is not set at all (in custom.pro), use a hardcoded default: |
| | BOOST_DIR = "/boost/boost_1_53_0" |
| | } |
| | |
| | !exists( "$${BOOST_DIR}/boost/version.hpp" ) { |
| | error( "Can not find Boost installation in $${BOOST_DIR}" ) |
| | } |
| | |
| | BOOST_INCDIR = "$${BOOST_DIR}" |
| |
|
| | INCLUDEPATH += "$${BOOST_INCDIR}" |
| | HEADERS += "$${BOOST_INCDIR}" |
| |
|
| | } |
| |
|
| |
|