From 5eab03d1982ca440533e605164abc942c11037dd Mon Sep 17 00:00:00 2001 From: Kiriti Gowda Date: Mon, 31 Mar 2025 21:31:23 -0700 Subject: [PATCH] CMakeLists - Set Std updates & Jenkins CodeCov (#546) * CMakeLists - Set Std updates * Jenkins - Code coverage * Jenkins - Fix and cleanup * Jenkins - Fix * Jenkins - Fix * Jenkins - Fix * Jenkins - Fix * Use amdclang compiler * Remove slash in front of quote * Jenkins - Fix * Jenkins - Fix location * Jenkins - Fix perf export * Jenkins - .so fix * Jenkins - lcov * Install fix * Use repo token for codecov * Pass in sha to codecov * Use clang19 for ubu24 * Use default clang * CMakeLists - Set Std updates * Jenkins - Code coverage * Jenkins - Fix and cleanup * Jenkins - Fix * Jenkins - Fix * Jenkins - Fix * Jenkins - Fix * Use amdclang compiler * Remove slash in front of quote * Jenkins - Fix * Jenkins - Fix location * Jenkins - Fix perf export * Jenkins - .so fix * Jenkins - lcov * Install fix * Use repo token for codecov * Pass in sha to codecov * Use clang19 for ubu24 * Use default clang * Set proxy for codecov uploader Needed for gfx90a --------- Co-authored-by: Sam Wu <22262939+samjwu@users.noreply.github.com> --- .jenkins/common.groovy | 91 ++++++++++++-------- CMakeLists.txt | 9 +- samples/videoDecode/CMakeLists.txt | 6 +- samples/videoDecodeBatch/CMakeLists.txt | 6 +- samples/videoDecodeMem/CMakeLists.txt | 6 +- samples/videoDecodeMultiFiles/CMakeLists.txt | 6 +- samples/videoDecodePerf/CMakeLists.txt | 6 +- samples/videoDecodePicFiles/CMakeLists.txt | 6 +- samples/videoDecodeRGB/CMakeLists.txt | 6 +- samples/videoDecodeRaw/CMakeLists.txt | 6 +- samples/videoToSequence/CMakeLists.txt | 6 +- test/CMakeLists.txt | 5 +- 12 files changed, 92 insertions(+), 67 deletions(-) diff --git a/.jenkins/common.groovy b/.jenkins/common.groovy index 33e92a7f90..6889073436 100644 --- a/.jenkins/common.groovy +++ b/.jenkins/common.groovy @@ -12,7 +12,7 @@ def runCompileCommand(platform, project, jobName, boolean debug=false, boolean s echo Build rocDecode - ${buildTypeDir} cd ${project.paths.project_build_prefix} mkdir -p build/${buildTypeDir} && cd build/${buildTypeDir} - cmake ${buildTypeArg} ../.. + cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_CXX_FLAGS="-fprofile-instr-generate -fcoverage-mapping" ../.. make -j\$(nproc) sudo make install sudo make package @@ -27,49 +27,72 @@ def runTestCommand (platform, project) { String libLocation = '' String libvaDriverPath = "" + String packageManager = 'apt -y' if (platform.jenkinsLabel.contains('rhel')) { libLocation = ':/usr/local/lib' + packageManager = 'yum -y' } else if (platform.jenkinsLabel.contains('sles')) { libLocation = ':/usr/local/lib' libvaDriverPath = "export LIBVA_DRIVERS_PATH=/opt/amdgpu/lib64/dri" + packageManager = 'zypper -n' } + + String commitSha + String repoUrl + (commitSha, repoUrl) = util.getGitHubCommitInformation(project.paths.project_src_prefix) - def command = """#!/usr/bin/env bash - set -ex - export HOME=/home/jenkins - ${libvaDriverPath} - echo make test - cd ${project.paths.project_build_prefix}/build/release - LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} make test ARGS="-VV --rerun-failed --output-on-failure" - echo rocdecode-sample - videoDecode - mkdir -p rocdecode-sample && cd rocdecode-sample - cmake /opt/rocm/share/rocdecode/samples/videoDecode/ - make -j8 - LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ./videodecode -i /opt/rocm/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 - echo rocdecode-test package verification - cd ../ && mkdir -p rocdecode-test && cd rocdecode-test - cmake /opt/rocm/share/rocdecode/test/ - LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ctest -VV --rerun-failed --output-on-failure - echo rocdecode conformance tests - cd ../ && mkdir -p conformance && cd conformance - pip3 install pandas - wget http://math-ci.amd.com/userContent/computer-vision/HevcConformance/*zip*/HevcConformance.zip - unzip HevcConformance.zip - python3 /opt/rocm/share/rocdecode/test/testScripts/run_rocDecode_Conformance.py --videodecode_exe ./../rocdecode-sample/videodecode --files_directory ./HevcConformance --results_directory . - echo rocdecode-sample - videoDecode with data1 video test - cd ../ && cd rocdecode-sample - wget http://math-ci.amd.com/userContent/computer-vision/data1.img - LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ./videodecode -i ./data1.img - echo rocdecode-sample - videoDecodePerf with data1 video test - mkdir -p rocdecode-perf && cd rocdecode-perf - cmake /opt/rocm/share/rocdecode/samples/videoDecodePerf/ - make -j8 - LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ./videodecodeperf -i ./../data1.img - """ + withCredentials([string(credentialsId: "mathlibs-codecov-token-rocdecode", variable: 'CODECOV_TOKEN')]) + { + def command = """#!/usr/bin/env bash + set -ex + export HOME=/home/jenkins + ${libvaDriverPath} + echo make test + cd ${project.paths.project_build_prefix}/build + export LLVM_PROFILE_FILE=\"\$(pwd)/rawdata/rocdecode-%p.profraw\" + echo \$LLVM_PROFILE_FILE + cd release + LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} make test ARGS="-VV --rerun-failed --output-on-failure" + echo rocdecode-sample - videoDecode + mkdir -p rocdecode-sample && cd rocdecode-sample + cmake /opt/rocm/share/rocdecode/samples/videoDecode/ + make -j8 + LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ./videodecode -i /opt/rocm/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 + echo rocdecode-test package verification + cd ../ && mkdir -p rocdecode-test && cd rocdecode-test + cmake /opt/rocm/share/rocdecode/test/ + LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ctest -VV --rerun-failed --output-on-failure + echo rocdecode conformance tests + cd ../ && mkdir -p conformance && cd conformance + pip3 install pandas + wget http://math-ci.amd.com/userContent/computer-vision/HevcConformance/*zip*/HevcConformance.zip + unzip HevcConformance.zip + python3 /opt/rocm/share/rocdecode/test/testScripts/run_rocDecode_Conformance.py --videodecode_exe ./../rocdecode-sample/videodecode --files_directory ./HevcConformance --results_directory . + echo rocdecode-sample - videoDecode with data1 video test + cd ../ && cd rocdecode-sample + wget http://math-ci.amd.com/userContent/computer-vision/data1.img + LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ./videodecode -i ./data1.img + echo rocdecode-sample - videoDecodePerf with data1 video test + mkdir -p rocdecode-perf && cd rocdecode-perf + cmake /opt/rocm/share/rocdecode/samples/videoDecodePerf/ + make -j8 + LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ./videodecodeperf -i ./../data1.img + echo \$(pwd) + cd ../../../ + echo \$(pwd) + llvm-profdata merge -sparse rawdata/*.profraw -o rocdecode.profdata + llvm-cov export -object release/lib/librocdecode.so --instr-profile=rocdecode.profdata --format=lcov > coverage.info + sudo ${packageManager} install lcov + lcov --list coverage.info + curl -Os https://uploader.codecov.io/latest/linux/codecov + chmod +x codecov + ./codecov -v -U \$http_proxy -t ${CODECOV_TOKEN} --file coverage.info --name rocDecode --sha ${commitSha} + """ - platform.runCommand(this, command) + platform.runCommand(this, command) + } } def runPackageCommand(platform, project) { diff --git a/CMakeLists.txt b/CMakeLists.txt index 89622bab06..94db02f36d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,12 +31,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) # rocDecode Version set(VERSION "0.12.0") @@ -131,8 +132,8 @@ if(HIP_FOUND AND Libva_FOUND) file(GLOB_RECURSE SOURCES "./src/*.cpp") # rocdecode.so add_library(${PROJECT_NAME} SHARED ${SOURCES}) - - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17 -Wall") + # --all-warnings/-Wall -- Enable most warning messages + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) diff --git a/samples/videoDecode/CMakeLists.txt b/samples/videoDecode/CMakeLists.txt index 87821b833a..cd3cb346a4 100644 --- a/samples/videoDecode/CMakeLists.txt +++ b/samples/videoDecode/CMakeLists.txt @@ -31,13 +31,14 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) - project(videodecode) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) @@ -84,7 +85,6 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND AND Threads_FOUND AND rocprofi # sample app exe list(APPEND SOURCES ${PROJECT_SOURCE_DIR} videodecode.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode/roc_video_dec.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/ffmpegvideodecode/ffmpeg_video_dec.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) # FFMPEG multi-version support if(_FFMPEG_AVCODEC_VERSION VERSION_LESS_EQUAL 58.134.100) diff --git a/samples/videoDecodeBatch/CMakeLists.txt b/samples/videoDecodeBatch/CMakeLists.txt index 4b85d84736..f602e49d22 100644 --- a/samples/videoDecodeBatch/CMakeLists.txt +++ b/samples/videoDecodeBatch/CMakeLists.txt @@ -31,12 +31,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodebatch) @@ -86,7 +87,6 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND AND rocprofiler-register_FOUND list(APPEND SOURCES ${PROJECT_SOURCE_DIR} videodecodebatch.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode/roc_video_dec.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) # FFMPEG multi-version support if(_FFMPEG_AVCODEC_VERSION VERSION_LESS_EQUAL 58.134.100) diff --git a/samples/videoDecodeMem/CMakeLists.txt b/samples/videoDecodeMem/CMakeLists.txt index 9863ef7a69..a7860cde74 100644 --- a/samples/videoDecodeMem/CMakeLists.txt +++ b/samples/videoDecodeMem/CMakeLists.txt @@ -32,12 +32,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodemem) @@ -81,7 +82,6 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND AND rocprofiler-register_FOUND # sample app exe list(APPEND SOURCES ${PROJECT_SOURCE_DIR} videodecodemem.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode/roc_video_dec.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) # FFMPEG multi-version support if(_FFMPEG_AVCODEC_VERSION VERSION_LESS_EQUAL 58.134.100) diff --git a/samples/videoDecodeMultiFiles/CMakeLists.txt b/samples/videoDecodeMultiFiles/CMakeLists.txt index ffa863471e..9ff2d58226 100644 --- a/samples/videoDecodeMultiFiles/CMakeLists.txt +++ b/samples/videoDecodeMultiFiles/CMakeLists.txt @@ -31,12 +31,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodemultifiles) @@ -80,7 +81,6 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND AND rocprofiler-register_FOUND # sample app exe list(APPEND SOURCES ${PROJECT_SOURCE_DIR} videodecodemultifiles.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode/roc_video_dec.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) # FFMPEG multi-version support if(_FFMPEG_AVCODEC_VERSION VERSION_LESS_EQUAL 58.134.100) diff --git a/samples/videoDecodePerf/CMakeLists.txt b/samples/videoDecodePerf/CMakeLists.txt index 4a1e6d4c10..4779a53ce5 100644 --- a/samples/videoDecodePerf/CMakeLists.txt +++ b/samples/videoDecodePerf/CMakeLists.txt @@ -31,12 +31,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodeperf) @@ -84,7 +85,6 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND AND Threads_FOUND AND rocprofi # sample app exe list(APPEND SOURCES ${PROJECT_SOURCE_DIR} videodecodeperf.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode/roc_video_dec.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) # FFMPEG multi-version support if(_FFMPEG_AVCODEC_VERSION VERSION_LESS_EQUAL 58.134.100) diff --git a/samples/videoDecodePicFiles/CMakeLists.txt b/samples/videoDecodePicFiles/CMakeLists.txt index 29d3f9dc13..f6053e18a3 100644 --- a/samples/videoDecodePicFiles/CMakeLists.txt +++ b/samples/videoDecodePicFiles/CMakeLists.txt @@ -31,13 +31,14 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) - project(videodecodepicfiles) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) @@ -84,7 +85,6 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND AND Threads_FOUND AND rocprofi # sample app exe list(APPEND SOURCES ${PROJECT_SOURCE_DIR} videodecodepicfiles.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode/roc_video_dec.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/ffmpegvideodecode/ffmpeg_video_dec.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) # FFMPEG multi-version support if(_FFMPEG_AVCODEC_VERSION VERSION_LESS_EQUAL 58.134.100) diff --git a/samples/videoDecodeRGB/CMakeLists.txt b/samples/videoDecodeRGB/CMakeLists.txt index 07d322b215..c4c804acea 100644 --- a/samples/videoDecodeRGB/CMakeLists.txt +++ b/samples/videoDecodeRGB/CMakeLists.txt @@ -31,12 +31,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodergb) @@ -125,7 +126,6 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND AND rocprofiler-register_FOUND ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/resize_kernels.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) # FFMPEG multi-version support if(_FFMPEG_AVCODEC_VERSION VERSION_LESS_EQUAL 58.134.100) diff --git a/samples/videoDecodeRaw/CMakeLists.txt b/samples/videoDecodeRaw/CMakeLists.txt index 9475887a91..0616685fe3 100644 --- a/samples/videoDecodeRaw/CMakeLists.txt +++ b/samples/videoDecodeRaw/CMakeLists.txt @@ -31,12 +31,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecoderaw) @@ -75,7 +76,6 @@ if(HIP_FOUND AND ROCDECODE_FOUND AND rocprofiler-register_FOUND) # sample app exe list(APPEND SOURCES ${PROJECT_SOURCE_DIR} videodecoderaw.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode/roc_video_dec.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) else() message("-- ERROR!: ${PROJECT_NAME} excluded! please install all the dependencies and try again!") diff --git a/samples/videoToSequence/CMakeLists.txt b/samples/videoToSequence/CMakeLists.txt index ce34f4feaf..26185eb092 100644 --- a/samples/videoToSequence/CMakeLists.txt +++ b/samples/videoToSequence/CMakeLists.txt @@ -31,12 +31,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) project(videotosequence) @@ -80,7 +81,6 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND AND rocprofiler-register_FOUND # sample app exe list(APPEND SOURCES ${PROJECT_SOURCE_DIR} videotosequence.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode/roc_video_dec.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) # FFMPEG multi-version support if(_FFMPEG_AVCODEC_VERSION VERSION_LESS_EQUAL 58.134.100) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a84f97dfa2..b8143fdc62 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -40,12 +40,13 @@ else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) +set(CMAKE_CXX_EXTENSIONS ON) if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED On) project(rocdecode-test)