Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. declare -A CC CXX SPEC
  4. CC=( [clang]=clang [gcc]=gcc )
  5. CXX=( [clang]=clang++ [gcc]=g++ )
  6. SPEC=( [clang]=clang [gcc]=g++ )
  7.  
  8. SOURCE_DIR=`pwd`
  9. TOPDIR=~/tmp/build
  10.  
  11. function detect-generator {
  12. if [ -e "$1/CMakeLists.txt" ]; then
  13. GENERATOR=cmake
  14. elif [ -n "`find \"$1\" -maxdepth 1 -name '*.pro' -print -quit`" ]; then
  15. GENERATOR=qmake
  16. else
  17. echo "Failed to detect generator for $1" >&2
  18. fi
  19. [ -n "$GENERATOR" ]
  20. }
  21.  
  22. function run-cmake {
  23. CC="${CC[$2]}" CXX="${CXX[$2]}" cmake "$1"
  24. }
  25.  
  26. function run-qmake {
  27. qmake -Wall -Wlogic -Wparser -spec "linux-${SPEC[$2]}" \
  28. CONFIG+=debug_and_release "$1"
  29. }
  30.  
  31. function boot {
  32. local BUILD_DIR="$TOPDIR/"`basename "$SOURCE_DIR"`"-$2"
  33. mkdir "$BUILD_DIR" || exit
  34. pushd "$BUILD_DIR" || exit
  35. "run-$GENERATOR" "$@" ; RC=$?
  36. popd
  37. return $RC
  38. }
  39.  
  40. detect-generator "$SOURCE_DIR" || exit
  41. for TOOLSET in clang gcc; do
  42. which "$TOOLSET" > /dev/null 2>&1 && \
  43. boot "$SOURCE_DIR" "$TOOLSET" || exit
  44. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement