build.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/usr/bin/env bash
  2. number_of_build_workers=8
  3. bypass_vcpkg=true
  4. force_cpp_build=false
  5. if [[ "$OSTYPE" == "darwin"* ]]; then
  6. vcpkg_triplet="x64-osx"
  7. else
  8. vcpkg_triplet="x64-linux"
  9. fi
  10. if [[ ! -z "${VCPKG_ROOT}" ]] && [ -d ${VCPKG_ROOT} ] && [ ! "$bypass_vcpkg" = true ]
  11. then
  12. vcpkg_path="${VCPKG_ROOT}"
  13. vcpkg_define="-DCMAKE_TOOLCHAIN_FILE=${vcpkg_path}/scripts/buildsystems/vcpkg.cmake"
  14. vcpkg_triplet_define="-DVCPKG_TARGET_TRIPLET=$vcpkg_triplet"
  15. echo "Found vcpkg in VCPKG_ROOT: ${vcpkg_path}"
  16. additional_defines="-DBUILD_SHARED_LIBS=OFF"
  17. elif [[ ! -z "${WORKSPACE}" ]] && [ -d ${WORKSPACE}/vcpkg ] && [ ! "$bypass_vcpkg" = true ]
  18. then
  19. vcpkg_path="${WORKSPACE}/vcpkg"
  20. vcpkg_define="-DCMAKE_TOOLCHAIN_FILE=${vcpkg_path}/scripts/buildsystems/vcpkg.cmake"
  21. vcpkg_triplet_define="-DVCPKG_TARGET_TRIPLET=$vcpkg_triplet"
  22. echo "Found vcpkg in WORKSPACE/vcpkg: ${vcpkg_path}"
  23. additional_defines="-DBUILD_SHARED_LIBS=OFF"
  24. elif [ ! "$bypass_vcpkg" = true ]
  25. then
  26. (>&2 echo "darknet is unsupported without vcpkg, use at your own risk!")
  27. fi
  28. if [ "$force_cpp_build" = true ]
  29. then
  30. additional_build_setup="-DBUILD_AS_CPP:BOOL=TRUE"
  31. fi
  32. ## DEBUG
  33. #mkdir -p build_debug
  34. #cd build_debug
  35. #cmake .. -DCMAKE_BUILD_TYPE=Debug ${vcpkg_define} ${vcpkg_triplet_define} ${additional_defines} ${additional_build_setup}
  36. #cmake --build . --target install -- -j${number_of_build_workers}
  37. ##cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+
  38. #rm -f DarknetConfig.cmake
  39. #rm -f DarknetConfigVersion.cmake
  40. #cd ..
  41. #cp cmake/Modules/*.cmake share/darknet/
  42. # RELEASE
  43. mkdir -p build_release
  44. cd build_release
  45. cmake .. -DCMAKE_BUILD_TYPE=Release ${vcpkg_define} ${vcpkg_triplet_define} ${additional_defines} ${additional_build_setup}
  46. cmake --build . --target install -- -j${number_of_build_workers}
  47. #cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+
  48. rm -f DarknetConfig.cmake
  49. rm -f DarknetConfigVersion.cmake
  50. cd ..
  51. cp cmake/Modules/*.cmake share/darknet/