Skip to content
This repository was archived by the owner on Jan 26, 2024. It is now read-only.

Commit 0afd6e1

Browse files
vsytchanusha GodavarthySurya
authored andcommitted
SWDEV-273235 - Add ROCclrCompilerOptions cmake module
This module will be used to add any specific compiler options to ROCclr and it's clients. Currently it only adds a workaround to remove the MSVC flag /GR, which is added by default CMake <3.20. This resolves the conflict of PAL adding /GR-. Change-Id: If83adb271bcec86812a6e9de940da3920fc75393
1 parent 035733c commit 0afd6e1

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

cmake/ROCclr.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ find_package(AMD_OPENCL)
4242

4343
add_library(rocclr STATIC)
4444

45+
include(ROCclrCompilerOptions)
46+
4547
set(ROCCLR_SRC_DIR "${CMAKE_CURRENT_LIST_DIR}/..")
4648
mark_as_advanced(ROCCLR_SRC_DIR)
4749

cmake/ROCclrCompilerOptions.cmake

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2020 - 2021 Advanced Micro Devices, Inc. All rights reserved.
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a copy
4+
# of this software and associated documentation files (the "Software"), to deal
5+
# in the Software without restriction, including without limitation the rights
6+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
# copies of the Software, and to permit persons to whom the Software is
8+
# furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included in
11+
# all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19+
# THE SOFTWARE.
20+
21+
include_guard()
22+
23+
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
24+
if (CMAKE_VERSION VERSION_LESS "3.20")
25+
# This code is neccessary to avoid this command line warning:
26+
# "Overriding /GR with /GR- cl: command line warning D9025"
27+
#
28+
# /GR is implied by MSVC anyway. So getting rid of it doesn't matter.
29+
string(REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
30+
endif()
31+
endif()

0 commit comments

Comments
 (0)