diff --git a/projects/hip/CMakeLists.txt b/projects/hip/CMakeLists.txt index 2f65d75ae1..22f15fb8ca 100644 --- a/projects/hip/CMakeLists.txt +++ b/projects/hip/CMakeLists.txt @@ -343,6 +343,19 @@ endif() # Generate .hipVersion file(WRITE "${PROJECT_BINARY_DIR}/.hipVersion" ${_versionInfo}) +# Generate hipVersion.h +set(_versionInfoHeader +"// Auto-generated by cmake\n +#ifndef HIP_VERSION_H +#define HIP_VERSION_H\n +#define HIP_VERSION_MAJOR ${HIP_VERSION_MAJOR} +#define HIP_VERSION_MINOR ${HIP_VERSION_MINOR} +#define HIP_VERSION_PATCH ${HIP_VERSION_GITDATE} +#define HIP_VERSION (HIP_VERSION_MAJOR * 100 + HIP_VERSION_MINOR)\n +#endif\n +") +file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/include/hip/hipVersion.h" ${_versionInfoHeader}) + # Build doxygen documentation find_program(DOXYGEN_EXE doxygen) if(DOXYGEN_EXE) diff --git a/projects/hip/bin/hipcc b/projects/hip/bin/hipcc index 9d325c2bf9..ece79ab18d 100755 --- a/projects/hip/bin/hipcc +++ b/projects/hip/bin/hipcc @@ -341,7 +341,7 @@ if ($HIP_PLATFORM eq "clang") { } # Add paths to common HIP includes: -$HIPCXXFLAGS .= " -isystem $HIP_INCLUDE_PATH -DHIP_VERSION_MAJOR=$HIP_VERSION_MAJOR -DHIP_VERSION_MINOR=$HIP_VERSION_MINOR -DHIP_VERSION_PATCH=$HIP_VERSION_GITDATE" ; +$HIPCXXFLAGS .= " -isystem $HIP_INCLUDE_PATH" ; my $compileOnly = 0; my $needCXXFLAGS = 0; # need to add CXX flags to compile step diff --git a/projects/hip/include/hip/hip_runtime.h b/projects/hip/include/hip/hip_runtime.h index b02eb0eef7..75ed73ca8d 100644 --- a/projects/hip/include/hip/hip_runtime.h +++ b/projects/hip/include/hip/hip_runtime.h @@ -49,7 +49,7 @@ THE SOFTWARE. #include #endif - +#include #include #if defined(__HIP_PLATFORM_HCC__) && !defined(__HIP_PLATFORM_NVCC__) diff --git a/projects/hip/tests/src/deviceLib/hipVersion.cpp b/projects/hip/tests/src/deviceLib/hipVersion.cpp new file mode 100644 index 0000000000..e328c31fdf --- /dev/null +++ b/projects/hip/tests/src/deviceLib/hipVersion.cpp @@ -0,0 +1,42 @@ +/* +Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +/* HIT_START + * BUILD: %t %s ../test_common.cpp + * TEST: %t + * HIT_END + */ + + #include "test_common.h" + +/* + * Note : Compile time test hence always returns success while run. + * Intension is to make sure apilcation can access hip version. + */ + int main() + { + std::cout<<"Hip major version : "<