diff --git a/build-mg.sh b/build-mg.sh index e42b431d..c1bee246 100755 --- a/build-mg.sh +++ b/build-mg.sh @@ -15,7 +15,11 @@ if [ -f 'CMakeCache.txt' ]; then rm -f 'CMakeCache.txt'; fi # This is for regular developers and used by our installer # For more cmake/build options refer to # http://wiki.megaglest.org/Linux_Compiling#Building_using_CMake_by_Hand -cmake -DCMAKE_INSTALL_PREFIX='' -DWANT_DEV_OUTPATH=ON -DWANT_STATIC_LIBS=ON .. +# this script looks for google-breakpad in the main root folder, you may link to the real path using: +# ln -s ../../google-breakpad/ google-breakpad + +CURRENTDIR="$(dirname $(readlink -f $0))" +cmake -DCMAKE_INSTALL_PREFIX='' -DWANT_DEV_OUTPATH=ON -DWANT_STATIC_LIBS=ON -DBREAKPAD_ROOT=${CURRENTDIR}/../google-breakpad/ .. if [ $? -ne 0 ]; then echo 'ERROR: CMAKE failed.' >&2; exit 1 fi @@ -29,6 +33,8 @@ cd .. echo '' echo 'BUILD COMPLETE.' echo '' +echo 'To build with boogle-breakpad support pass the path to the library as follows:' +echo 'cmake -DBREAKPAD_ROOT=/home/softcoder/Code/google-breakpad/' echo 'To launch MegaGlest from the current directory, use:' echo ' mk/linux/megaglest --ini-path=mk/linux/ --data-path=mk/linux/' echo 'Or change into mk/linux and run it from there:' diff --git a/mk/cmake/Modules/FindGoogleBreakpad.cmake b/mk/cmake/Modules/FindGoogleBreakpad.cmake index 580d56d3..7431a8ba 100644 --- a/mk/cmake/Modules/FindGoogleBreakpad.cmake +++ b/mk/cmake/Modules/FindGoogleBreakpad.cmake @@ -21,6 +21,11 @@ FIND_PATH(BREAKPAD_INCLUDE_DIR client/${BREAKPAD_OS}/handler/exception_handler.h PATHS ${BREAKPAD_ROOT}/src/ + /usr/local/include/google-breakpad/ + /usr/include/google-breakpad/ + /usr/local/include/ + /usr/include/ + ) IF(NOT GoogleBreakpad_FIND_COMPONENTS) @@ -29,13 +34,16 @@ IF(NOT GoogleBreakpad_FIND_COMPONENTS) ENDIF() #IF(CMAKE_TRACE) - MESSAGE(STATUS "BREAKPAD_ROOT=${BREAKPAD_ROOT}") + MESSAGE(STATUS "BREAKPAD_ROOT=${BREAKPAD_ROOT} Operating system: ${BREAKPAD_OS}") MESSAGE(STATUS "BREAKPAD_INCLUDE_DIR=${BREAKPAD_INCLUDE_DIR}") #ENDIF(CMAKE_TRACE) IF(BREAKPAD_INCLUDE_DIR) SET(BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR ${BREAKPAD_INCLUDE_DIR} ${BREAKPAD_INCLUDE_DIR}/client/${BREAKPAD_OS}/) SET(BREAKPAD_FOUND TRUE) + + MESSAGE(STATUS "*** FOUND BREAKPAD_INCLUDE_DIR=${BREAKPAD_INCLUDE_DIR}") + FOREACH(COMPONENT ${GoogleBreakpad_FIND_COMPONENTS}) #string(TOUPPER ${COMPONENT} UPPERCOMPONENT) string(TOLOWER ${COMPONENT} UPPERCOMPONENT) @@ -46,6 +54,10 @@ IF(BREAKPAD_INCLUDE_DIR) ${BREAKPAD_INCLUDE_DIR}/src/client/${BREAKPAD_OS}/Release/lib ${BREAKPAD_ROOT}/src/client/${BREAKPAD_OS}/ ${BREAKPAD_INCLUDE_DIR}/src/client/${BREAKPAD_OS}/ + /usr/local/lib/google-breakpad/ + /usr/lib/google-breakpad/ + /usr/local/lib/ + /usr/lib/ ) FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG @@ -55,6 +67,10 @@ IF(BREAKPAD_INCLUDE_DIR) ${BREAKPAD_INCLUDE_DIR}/src/client/${BREAKPAD_OS}/Debug/lib ${BREAKPAD_ROOT}/src/client/${BREAKPAD_OS}/ ${BREAKPAD_INCLUDE_DIR}/src/client/${BREAKPAD_OS}/ + /usr/local/lib/google-breakpad/ + /usr/lib/google-breakpad/ + /usr/local/lib/ + /usr/lib/ ) IF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE OR BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) @@ -65,6 +81,8 @@ IF(BREAKPAD_INCLUDE_DIR) set(BREAKPAD_EXCEPTION_HANDLER_FOUND TRUE) set(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES ${BREAKPAD_EXCEPTION_HANDLER_LIBRARIES} ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE}) + MESSAGE(STATUS "*** FOUND BREAKPAD LIB ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY}") + ELSE() SET(BREAKPAD_FOUND FALSE) SET(BREAKPAD_${UPPERCOMPONENT}_FOUND FALSE) @@ -97,6 +115,8 @@ IF(BREAKPAD_FOUND) ${BREAKPAD_INCLUDE_DIR}/src/tools/${BREAKPAD_OS}/binaries ${BREAKPAD_ROOT}/src/tools/${BREAKPAD_OS}/dump_syms ${BREAKPAD_INCLUDE_DIR}/src/tools/${BREAKPAD_OS}/dump_syms + /usr/local/bin/ + /usr/bin/ ) # IF(CMAKE_TRACE) @@ -104,6 +124,9 @@ IF(BREAKPAD_FOUND) # ENDIF(CMAKE_TRACE) IF(BREAKPAD_DUMPSYMS_EXE) SET(BREAKPAD_DUMPSYMS_EXE_FOUND TRUE) + + MESSAGE(STATUS "*** FOUND BREAKPAD TOOLS ${BREAKPAD_DUMPSYMS_EXE}}") + ELSE(BREAKPAD_DUMPSYMS_EXE) SET(BREAKPAD_DUMPSYMS_EXE_FOUND FALSE) #SET(BREAKPAD_FOUND FALSE)