mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-04-19 22:39:03 +00:00
enable compilation of INSTANCES_ONLY for Windows (#1082)
* enable compilation of INSTANCES_ONLY for Windows * suppress ROCMChecks warnings on GoogleTests * suppress -Wfloat-equal warning on GoogleTests --------- Co-authored-by: Illia Silin <98187287+illsilin@users.noreply.github.com>
This commit is contained in:
28
cmake/getopt.cmake
Normal file
28
cmake/getopt.cmake
Normal file
@@ -0,0 +1,28 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
# Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
add_library(getopt::getopt INTERFACE IMPORTED GLOBAL)
|
||||
|
||||
if(WIN32)
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
getopt
|
||||
GIT_REPOSITORY https://github.com/apwojcik/getopt.git
|
||||
GIT_TAG main
|
||||
SYSTEM
|
||||
)
|
||||
|
||||
set(__build_shared_libs ${BUILD_SHARED_LIBS})
|
||||
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "")
|
||||
|
||||
FetchContent_MakeAvailable(getopt)
|
||||
|
||||
# Restore the old value of BUILD_SHARED_LIBS
|
||||
set(BUILD_SHARED_LIBS ${__build_shared_libs} CACHE BOOL "Type of libraries to build" FORCE)
|
||||
|
||||
FetchContent_GetProperties(getopt)
|
||||
|
||||
target_link_libraries(getopt::getopt INTERFACE wingetopt)
|
||||
target_include_directories(getopt::getopt INTERFACE ${getopt_SOURCE_DIR}/src)
|
||||
endif()
|
||||
@@ -1,50 +0,0 @@
|
||||
include(FetchContent)
|
||||
|
||||
set(GOOGLETEST_DIR "" CACHE STRING "Location of local GoogleTest repo to build against")
|
||||
|
||||
if(GOOGLETEST_DIR)
|
||||
set(FETCHCONTENT_SOURCE_DIR_GOOGLETEST ${GOOGLETEST_DIR} CACHE STRING "GoogleTest source directory override")
|
||||
endif()
|
||||
|
||||
message(STATUS "Fetching GoogleTest")
|
||||
|
||||
list(APPEND GTEST_CMAKE_CXX_FLAGS
|
||||
-Wno-undef
|
||||
-Wno-reserved-identifier
|
||||
-Wno-global-constructors
|
||||
-Wno-missing-noreturn
|
||||
-Wno-disabled-macro-expansion
|
||||
-Wno-used-but-marked-unused
|
||||
-Wno-switch-enum
|
||||
-Wno-zero-as-null-pointer-constant
|
||||
-Wno-unused-member-function
|
||||
-Wno-comma
|
||||
-Wno-old-style-cast
|
||||
-Wno-deprecated
|
||||
-Wno-unsafe-buffer-usage
|
||||
)
|
||||
message(STATUS "Suppressing googltest warnings with flags: ${GTEST_CMAKE_CXX_FLAGS}")
|
||||
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG b85864c64758dec007208e56af933fc3f52044ee
|
||||
)
|
||||
|
||||
# Will be necessary for windows build
|
||||
# set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||
FetchContent_GetProperties(googletest)
|
||||
if(NOT googletest_POPULATED)
|
||||
FetchContent_Populate(googletest)
|
||||
add_subdirectory(${googletest_SOURCE_DIR} ${googletest_BINARY_DIR} EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
target_compile_options(gtest PRIVATE ${GTEST_CMAKE_CXX_FLAGS})
|
||||
target_compile_options(gtest_main PRIVATE ${GTEST_CMAKE_CXX_FLAGS})
|
||||
target_compile_options(gmock PRIVATE ${GTEST_CMAKE_CXX_FLAGS})
|
||||
target_compile_options(gmock_main PRIVATE ${GTEST_CMAKE_CXX_FLAGS})
|
||||
|
||||
set_target_properties(gtest PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set_target_properties(gtest_main PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set_target_properties(gmock PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set_target_properties(gmock_main PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
71
cmake/gtest.cmake
Normal file
71
cmake/gtest.cmake
Normal file
@@ -0,0 +1,71 @@
|
||||
include(FetchContent)
|
||||
|
||||
set(GOOGLETEST_DIR "" CACHE STRING "Location of local GoogleTest repo to build against")
|
||||
|
||||
if(GOOGLETEST_DIR)
|
||||
set(FETCHCONTENT_SOURCE_DIR_GOOGLETEST ${GOOGLETEST_DIR} CACHE STRING "GoogleTest source directory override")
|
||||
endif()
|
||||
|
||||
FetchContent_Declare(
|
||||
GTest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG f8d7d77c06936315286eb55f8de22cd23c188571
|
||||
SYSTEM
|
||||
)
|
||||
|
||||
# Suppress ROCMChecks WARNING on GoogleTests
|
||||
set(ROCM_DISABLE_CHECKS FALSE)
|
||||
macro(rocm_check_toolchain_var var access value list_file)
|
||||
if(NOT ROCM_DISABLE_CHECKS)
|
||||
_rocm_check_toolchain_var("${var}" "${access}" "${value}" "${list_file}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
if(WIN32)
|
||||
set(gtest_force_shared_crt ON CACHE_INTERNAL "")
|
||||
endif()
|
||||
|
||||
set(BUILD_GMOCK OFF CACHE INTERNAL "")
|
||||
set(INSTALL_GTEST OFF CACHE INTERNAL "")
|
||||
|
||||
# Store the current value of BUILD_SHARED_LIBS
|
||||
set(__build_shared_libs ${BUILD_SHARED_LIBS})
|
||||
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "")
|
||||
|
||||
set(ROCM_DISABLE_CHECKS TRUE)
|
||||
FetchContent_MakeAvailable(GTest)
|
||||
set(ROCM_DISABLE_CHECKS FALSE)
|
||||
|
||||
# Restore the old value of BUILD_SHARED_LIBS
|
||||
set(BUILD_SHARED_LIBS ${__build_shared_libs} CACHE BOOL "Type of libraries to build" FORCE)
|
||||
|
||||
set(BUILD_GMOCK OFF CACHE INTERNAL "")
|
||||
set(INSTALL_GTEST OFF CACHE INTERNAL "")
|
||||
|
||||
set(GTEST_CXX_FLAGS
|
||||
-Wno-undef
|
||||
-Wno-reserved-identifier
|
||||
-Wno-global-constructors
|
||||
-Wno-missing-noreturn
|
||||
-Wno-disabled-macro-expansion
|
||||
-Wno-used-but-marked-unused
|
||||
-Wno-switch-enum
|
||||
-Wno-zero-as-null-pointer-constant
|
||||
-Wno-unused-member-function
|
||||
-Wno-comma
|
||||
-Wno-old-style-cast
|
||||
-Wno-deprecated
|
||||
-Wno-unsafe-buffer-usage
|
||||
-Wno-float-equal
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
list(APPEND GTEST_CXX_FLAGS
|
||||
-Wno-suggest-destructor-override
|
||||
-Wno-suggest-override
|
||||
-Wno-nonportable-system-include-path
|
||||
-Wno-language-extension-token)
|
||||
endif()
|
||||
|
||||
target_compile_options(gtest PRIVATE ${GTEST_CXX_FLAGS})
|
||||
target_compile_options(gtest_main PRIVATE ${GTEST_CXX_FLAGS})
|
||||
Reference in New Issue
Block a user