appveyor.yml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. image: Visual Studio 2017
  2. clone_folder: c:\projects\darknet
  3. cache: C:\Tools\vcpkg\installed\
  4. environment:
  5. WORKSPACE: C:\projects
  6. matrix:
  7. - platform: Cygwin64
  8. COMPILER: cygwin
  9. CYGWIN_NOWINPATH: yes
  10. CYGSH: C:\cygwin64\bin\bash -c
  11. - platform: Win64
  12. USE_CUDA: yes
  13. COMPILER: vs
  14. configuration: Release
  15. VCPKG_ROOT: C:\Tools\vcpkg
  16. VCPKG_DEFAULT_TRIPLET: x64-windows
  17. - platform: Win64
  18. USE_CUDA: no
  19. COMPILER: vs
  20. configuration: Release
  21. VCPKG_ROOT: C:\Tools\vcpkg
  22. VCPKG_DEFAULT_TRIPLET: x64-windows
  23. - platform: Win64
  24. COMPILER: vs
  25. configuration: Release
  26. USE_INTEGRATED_LIBS: yes
  27. - platform: Win64
  28. COMPILER: vs
  29. configuration: Release
  30. USE_INTEGRATED_LIBS: yes
  31. FORCE_CPP: yes
  32. install:
  33. - if [%COMPILER%]==[vs] cinst cmake ninja
  34. - if [%COMPILER%]==[vs] SET "PATH=C:\Program Files\CMake\bin;%PATH%"
  35. - if [%COMPILER%]==[vs] call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
  36. - if [%COMPILER%]==[cygwin] SET "PATH=C:\cygwin64\usr\local\bin;C:\cygwin64\bin;C:\cygwin64\usr\bin;%PATH%"
  37. - if [%COMPILER%]==[cygwin] SET PATH=%PATH:C:\Program Files\Git\usr\bin;=%
  38. - git submodule -q update --init --recursive
  39. - cd %WORKSPACE%\
  40. - if [%USE_CUDA%]==[yes] curl -L https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.105_418.96_win10.exe -o setup.exe
  41. - if [%USE_CUDA%]==[yes] .\setup.exe -s nvcc_10.1 cuobjdump_10.1 nvprune_10.1 cupti_10.1 gpu_library_advisor_10.1 memcheck_10.1 nvdisasm_10.1 nvprof_10.1 visual_profiler_10.1 visual_studio_integration_10.1 cublas_10.1 cublas_dev_10.1 cudart_10.1 cufft_10.1 cufft_dev_10.1 curand_10.1 curand_dev_10.1 cusolver_10.1 cusolver_dev_10.1 cusparse_10.1 cusparse_dev_10.1 nvgraph_10.1 nvgraph_dev_10.1 npp_10.1 npp_dev_10.1 nvrtc_10.1 nvrtc_dev_10.1 nvml_dev_10.1 occupancy_calculator_10.1 fortran_examples_10.1
  42. - if [%USE_CUDA%]==[yes] set CUDA_PATH=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v10.1
  43. - if [%USE_CUDA%]==[yes] set CUDA_PATH_V10_1=%CUDA_PATH%
  44. - if [%USE_CUDA%]==[yes] set CUDA_TOOLKIT_ROOT_DIR=%CUDA_PATH%
  45. - if [%USE_CUDA%]==[yes] set PATH=%CUDA_PATH%\bin;%PATH%
  46. - cd %WORKSPACE%\
  47. - mkdir cygwin-downloads
  48. - ps: if($env:COMPILER -eq "cygwin") { Invoke-WebRequest https://cygwin.com/setup-x86_64.exe -OutFile $env:WORKSPACE\cygwin-setup.exe }
  49. - if [%COMPILER%]==[cygwin] %WORKSPACE%\cygwin-setup.exe --quiet-mode --no-shortcuts --no-startmenu --no-desktop --upgrade-also --root C:\cygwin64 --local-package-dir %WORKSPACE%\cygwin-downloads --packages gcc-g++,cmake,libopencv-devel,libncurses-devel
  50. - ps: if($env:COMPILER -eq "cygwin") { Invoke-WebRequest https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0.tar.gz -OutFile $env:WORKSPACE\cmake-3.14.0.tar.gz }
  51. - if [%COMPILER%]==[cygwin] %CYGSH% 'tar zxvf cmake-3.14.0.tar.gz'
  52. - if [%COMPILER%]==[cygwin] cd %WORKSPACE%\cmake-3.14.0
  53. - if [%COMPILER%]==[cygwin] %CYGSH% 'cmake .'
  54. - if [%COMPILER%]==[cygwin] %CYGSH% 'make -j8'
  55. - if [%COMPILER%]==[cygwin] %CYGSH% 'make install'
  56. - if [%COMPILER%]==[cygwin] cd %WORKSPACE%
  57. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] cd %VCPKG_ROOT%
  58. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] git checkout .
  59. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] git pull
  60. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] .\bootstrap-vcpkg.bat
  61. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] echo set(VCPKG_BUILD_TYPE release) >> triplets\%VCPKG_DEFAULT_TRIPLET%.cmake
  62. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] if [%USE_CUDA%]==[yes] vcpkg install cuda --recurse
  63. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] vcpkg install stb pthreads --recurse
  64. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] vcpkg install ffmpeg --recurse
  65. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] vcpkg install opencv[ffmpeg] --recurse ## opencv[ffmpeg,cuda] is too big to build, timing out (>1h). We use plain openCV also for CUDA builds (toolchain can manage this strange situation anyway)
  66. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] rmdir "buildtrees" /S /Q
  67. - cd %WORKSPACE%\darknet\
  68. - if [%COMPILER%]==[cygwin] mkdir build_debug && cd build_debug
  69. - if [%COMPILER%]==[cygwin] %CYGSH% 'cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Debug"'
  70. - if [%COMPILER%]==[cygwin] cd ..
  71. - mkdir build_release && cd build_release
  72. - if [%COMPILER%]==[cygwin] %CYGSH% 'cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release"'
  73. - if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] if [%configuration%]==[Release] cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" "-DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=%VCPKG_DEFAULT_TRIPLET%" -DCMAKE_BUILD_TYPE="Release" ..
  74. - if [%COMPILER%]==[vs] if [%USE_INTEGRATED_LIBS%]==[yes] if [%FORCE_CPP%]==[yes] cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" -DCMAKE_BUILD_TYPE="Release" "-DBUILD_AS_CPP:BOOL=TRUE" ..
  75. - if [%COMPILER%]==[vs] if [%USE_INTEGRATED_LIBS%]==[yes] cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" -DCMAKE_BUILD_TYPE="Release" ..
  76. - cd ..
  77. build_script:
  78. - if [%COMPILER%]==[cygwin] cd build_debug && %CYGSH% 'cmake --build . --target install -- -j8' && cd ..
  79. - if [%COMPILER%]==[cygwin] cd build_release && %CYGSH% 'cmake --build . --target install -- -j8' && cd ..
  80. - if [%COMPILER%]==[vs] if [%configuration%]==[Release] cd build_release && cmake --build . --config Release --parallel 8 --target install && cd ..
  81. artifacts:
  82. - path: lib
  83. - path: '*.exe'