[ci] try cuda builds on windows, skip building uselib_track if opencv does not have cuda support

pull/2476/head
Stefano Sinigardi 6 years ago
parent 139ddab7fa
commit 2acbfe9592
  1. 20
      CMakeLists.txt
  2. 14
      appveyor.yml

@ -19,8 +19,13 @@ endif()
enable_language(C)
enable_language(CXX)
set(ENABLE_CUDA "TRUE" CACHE BOOL "Enable CUDA build")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH})
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
include_directories(${CMAKE_CURRENT_LIST_DIR}/src)
set(SKIP_USELIB_TRACK "FALSE" CACHE BOOL "Skip building uselib_track" FORCE)
set(ENABLE_CUDA "TRUE" CACHE BOOL "Enable CUDA build")
if(${CMAKE_VERSION} VERSION_LESS "3.8.0")
set(ENABLE_CUDA "FALSE" CACHE BOOL "Enable CUDA build" FORCE)
message(WARNING "To build with CUDA support you need CMake 3.8.0+")
@ -34,11 +39,6 @@ else()
endif()
endif()
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH})
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
include_directories(${CMAKE_CURRENT_LIST_DIR}/src)
set(CUDA_COMPUTE_MODEL_75 "75") #Compute capability for Tesla T4, RTX 2080
set(CUDA_COMPUTE_MODEL_72 "72") #Compute capability for Jetson Xavier
set(CUDA_COMPUTE_MODEL_70 "70") #Compute capability for Tesla V100
@ -103,6 +103,10 @@ else()
endif()
if(OpenCV_FOUND)
if(NOT OpenCV_CUDA_VERSION)
set(SKIP_USELIB_TRACK "TRUE" CACHE BOOL "Skip building uselib_track" FORCE)
message(WARNING "The build of OpenCV does not have CUDA support, so some tools have been disabled! Please rebuild OpenCV with CUDA support to build them!")
endif()
add_definitions(-DOPENCV)
include_directories(${OpenCV_INCLUDE_DIRS})
endif()
@ -227,7 +231,7 @@ endif()
target_compile_definitions(darklib PRIVATE LIB_EXPORTS=1)
set_target_properties(darklib PROPERTIES LINKER_LANGUAGE CXX)
if(OpenCV_VERSION VERSION_GREATER "3.0")
if(OpenCV_VERSION VERSION_GREATER "3.0" AND NOT SKIP_USELIB_TRACK)
add_executable(uselib_track ${CMAKE_CURRENT_LIST_DIR}/src/yolo_console_dll.cpp)
target_compile_definitions(uselib_track PRIVATE TRACK_OPTFLOW=1)
set_target_properties(uselib_track PROPERTIES LINKER_LANGUAGE CXX)
@ -276,7 +280,7 @@ if(ENABLE_CUDA)
endif()
target_link_libraries(uselib darklib)
if(OpenCV_VERSION VERSION_GREATER "3.0")
if(OpenCV_VERSION VERSION_GREATER "3.0" AND NOT SKIP_USELIB_TRACK)
target_link_libraries(uselib_track darklib)
install(TARGETS uselib_track DESTINATION ${CMAKE_SOURCE_DIR}/)
endif()

@ -12,6 +12,14 @@ environment:
COMPILER: vs
VCPKG_ROOT: C:\projects\vcpkg
VCPKG_DEFAULT_TRIPLET: x64-windows
USE_CUDA: yes
CUDACXX: C:\CUDA\nvcc\bin\nvcc.exe
CUDA_PATH: C:\CUDA\nvcc
- platform: Win64
COMPILER: vs
VCPKG_ROOT: C:\projects\vcpkg
VCPKG_DEFAULT_TRIPLET: x64-windows
USE_CUDA: no
- platform: Win64
COMPILER: vs
USE_INTEGRATED_LIBS: yes
@ -24,6 +32,9 @@ install:
- if [%COMPILER%]==[cygwin] SET PATH=%PATH:C:\Program Files\Git\usr\bin;=%
- git submodule -q update --init --recursive
- cd %WORKSPACE%\
- if [%USE_CUDA%]==[yes] curl -L https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_411.31_windows -o cuda_10.0.130_411.31_windows.exe
- if [%USE_CUDA%]==[yes] if NOT EXIST C:\CUDA mkdir C:\CUDA
- if [%USE_CUDA%]==[yes] 7z x cuda_10.0.130_411.31_windows.exe -oC:\CUDA nvcc/* nvrtc*/*
- mkdir cygwin-downloads
- ps: if($env:COMPILER -eq "cygwin") { Invoke-WebRequest https://cygwin.com/setup-x86_64.exe -OutFile $env:WORKSPACE\cygwin-setup.exe }
- 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
@ -31,7 +42,8 @@ install:
- if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] cd %VCPKG_ROOT%
- if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] bootstrap-vcpkg.bat
- if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] vcpkg integrate install
- if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] vcpkg install opencv pthreads
- if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] if NOT [%USE_CUDA%]==[yes] vcpkg install opencv pthreads
- if [%COMPILER%]==[vs] if NOT [%USE_INTEGRATED_LIBS%]==[yes] if [%USE_CUDA%]==[yes] vcpkg install opencv[cuda] pthreads
- cd %WORKSPACE%\darknet\
- mkdir build_debug && cd build_debug
- if [%COMPILER%]==[cygwin] %CYGSH% 'cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Debug"'

Loading…
Cancel
Save