diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f22a037..585eb0ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,6 +80,10 @@ if(ENABLE_CUDA AND NOT CUDA_COMPUTE_MODEL) set_property(CACHE CUDA_COMPUTE_MODEL PROPERTY STRINGS ${CUDA_COMPUTE_MODEL_75} ${CUDA_COMPUTE_MODEL_72} ${CUDA_COMPUTE_MODEL_70} ${CUDA_COMPUTE_MODEL_62} ${CUDA_COMPUTE_MODEL_61} ${CUDA_COMPUTE_MODEL_60} ${CUDA_COMPUTE_MODEL_53} ${CUDA_COMPUTE_MODEL_52} ${CUDA_COMPUTE_MODEL_37} ${CUDA_COMPUTE_MODEL_35} ${CUDA_COMPUTE_MODEL_30}) endif() +if(NOT ENABLE_CUDA) + set(CUDA_COMPUTE_MODEL "0" CACHE STRING "CUDA Compute Model set to 0 because CUDA is missing" FORCE) +endif() + if(USE_INTEGRATED_LIBS) set(PThreads_windows_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/pthreads CACHE PATH "Path where pthreads for windows can be located") add_definitions(-D_TIMESPEC_DEFINED) @@ -123,7 +127,8 @@ set(SKIP_USELIB_TRACK "FALSE" CACHE BOOL "Skip building uselib_track" FORCE) if(OpenCV_FOUND) if(ENABLE_CUDA AND 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!") + message(STATUS " -> darknet is fine for now, but uselib_track has been disabled!") + message(STATUS " -> Please rebuild OpenCV from sources with CUDA support to enable it") endif() add_definitions(-DOPENCV) endif() diff --git a/DarknetConfig.cmake.in b/DarknetConfig.cmake.in index 8b8bd4c7..2c137516 100644 --- a/DarknetConfig.cmake.in +++ b/DarknetConfig.cmake.in @@ -12,12 +12,21 @@ include(CMakeFindDependencyMacro) if(@ENABLE_OPENCV@) find_dependency(OpenCV REQUIRED) + add_definitions(-DOPENCV) endif() find_dependency(Stb REQUIRED) if(@ENABLE_CUDA@) find_dependency(CUDNN) + add_definitions(-DGPU) + if(CUDNN_FOUND) + add_definitions(-DCUDNN) + if(@CUDA_COMPUTE_MODEL@ VERSION_GREATER_EQUAL @CUDA_COMPUTE_MODEL_70@) + add_definitions(-DCUDNN_HALF) + message(STATUS "Enabled CUDNN_HALF") + endif() + endif() endif() set(CMAKE_THREAD_PREFER_PTHREAD ON) diff --git a/build.ps1 b/build.ps1 index 8017ce00..e18ee4fa 100755 --- a/build.ps1 +++ b/build.ps1 @@ -164,16 +164,16 @@ if (Test-Path env:CUDA_PATH) { if ($vcpkg_path) { - # DEBUG - New-Item -Path .\build_win_debug -ItemType directory -Force - Set-Location build_win_debug - cmake -G "$generator" -T "host=x64" -A "x64" "-DCMAKE_TOOLCHAIN_FILE=$vcpkg_path\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=$vcpkg_triplet" "-DCMAKE_BUILD_TYPE=Debug" $additional_build_setup .. - cmake --build . --config Debug --target install - #cmake --build . --config Debug --parallel ${number_of_build_workers} --target install #valid only for CMake 3.12+ - Remove-Item DarknetConfig.cmake - Remove-Item DarknetConfigVersion.cmake - Set-Location .. - Copy-Item cmake\Modules\*.cmake share\darknet\ + ## DEBUG + #New-Item -Path .\build_win_debug -ItemType directory -Force + #Set-Location build_win_debug + #cmake -G "$generator" -T "host=x64" -A "x64" "-DCMAKE_TOOLCHAIN_FILE=$vcpkg_path\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=$vcpkg_triplet" #"-DCMAKE_BUILD_TYPE=Debug" $additional_build_setup .. + #cmake --build . --config Debug --target install + ##cmake --build . --config Debug --parallel ${number_of_build_workers} --target install #valid only for CMake 3.12+ + #Remove-Item DarknetConfig.cmake + #Remove-Item DarknetConfigVersion.cmake + #Set-Location .. + #Copy-Item cmake\Modules\*.cmake share\darknet\ # RELEASE New-Item -Path .\build_win_release -ItemType directory -Force diff --git a/build.sh b/build.sh index d72acab0..a14db12e 100755 --- a/build.sh +++ b/build.sh @@ -47,6 +47,17 @@ then (>&2 echo "darknet is unsupported without vcpkg, use at your own risk!") fi +## DEBUG +#mkdir -p build_debug +#cd build_debug +#cmake .. -DCMAKE_BUILD_TYPE=Debug ${vcpkg_define} ${vcpkg_triplet_define} ${additional_defines} ${additional_build_setup} +#cmake --build . --target install -- -j${number_of_build_workers} +##cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+ +#rm -f DarknetConfig.cmake +#rm -f DarknetConfigVersion.cmake +#cd .. +#cp cmake/Modules/*.cmake share/darknet/ + # RELEASE mkdir -p build_release cd build_release @@ -57,14 +68,3 @@ rm -f DarknetConfig.cmake rm -f DarknetConfigVersion.cmake cd .. cp cmake/Modules/*.cmake share/darknet/ - -# DEBUG -mkdir -p build_debug -cd build_debug -cmake .. -DCMAKE_BUILD_TYPE=Debug ${vcpkg_define} ${vcpkg_triplet_define} ${additional_defines} ${additional_build_setup} -cmake --build . --target install -- -j${number_of_build_workers} -#cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+ -rm -f DarknetConfig.cmake -rm -f DarknetConfigVersion.cmake -cd .. -cp cmake/Modules/*.cmake share/darknet/