Upgrade to CXX-17 gtest-1.14 and cmake-3.14

Change-Id: I3bceb90f79235a9c0616c5d7ef9e37e458ffdce6
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/amdsmi commit: 871fae8b25]
This commit is contained in:
Galantsev, Dmitrii
2023-09-27 17:58:50 -05:00
committed by Dmitrii Galantsev
parent 90c9c8de4e
commit b376d27d7a
3 changed files with 22 additions and 24 deletions
+4 -2
View File
@@ -1,7 +1,7 @@
# #
# Minimum version of cmake required # Minimum version of cmake required
# #
cmake_minimum_required(VERSION 3.11) cmake_minimum_required(VERSION 3.14)
set(AMD_SMI "amd_smi") set(AMD_SMI "amd_smi")
set(AMD_SMI_COMPONENT "lib${AMD_SMI}") set(AMD_SMI_COMPONENT "lib${AMD_SMI}")
@@ -49,6 +49,8 @@ set(AMD_SMI_PACKAGE
CACHE STRING "") CACHE STRING "")
project(${AMD_SMI_LIBS_TARGET}) project(${AMD_SMI_LIBS_TARGET})
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(GNUInstallDirs) include(GNUInstallDirs)
@@ -78,7 +80,7 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
generic_package() generic_package()
## Compiler flags ## Compiler flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fno-rtti -m64 -msse -msse2 -std=c++11") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fno-rtti -m64 -msse -msse2")
# Security options # Security options
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wconversion -Wcast-align") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wconversion -Wcast-align")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat=2 -fno-common -Wstrict-overflow") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat=2 -fno-common -Wstrict-overflow")
+3 -5
View File
@@ -1,13 +1,11 @@
cmake_minimum_required(VERSION 3.11) cmake_minimum_required(VERSION 3.14)
option(CMAKE_VERBOSE_MAKEFILE "Enable verbose output" ON) option(CMAKE_VERBOSE_MAKEFILE "Enable verbose output" ON)
option(CMAKE_EXPORT_COMPILE_COMMANDS "Export compile commands for linters and autocompleters" ON) option(CMAKE_EXPORT_COMPILE_COMMANDS "Export compile commands for linters and autocompleters" ON)
project(main LANGUAGES CXX) project(main LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD set(CMAKE_CXX_STANDARD_REQUIRED ON)
11
CACHE STRING "The C++ standard to use")
find_package(amd_smi find_package(amd_smi
HINTS HINTS
@@ -7,20 +7,13 @@ set(CMAKE_INSTALL_RPATH
"\$ORIGIN:\$ORIGIN/../../../lib" "\$ORIGIN:\$ORIGIN/../../../lib"
CACHE STRING "RUNPATH for tests. Helps find libgtest.so and libamd_smi.so") CACHE STRING "RUNPATH for tests. Helps find libgtest.so and libamd_smi.so")
# Try to find googletest # Download and compile googletest
find_package(GTest 1.12.0) include(FetchContent)
FetchContent_Declare(
# GTest_FOUND is set to TRUE if ANY version is found googletest
# GTest_VERSION is set if 1.11.0 or newer version is found GIT_REPOSITORY https://github.com/google/googletest.git
if(NOT GTest_FOUND STREQUAL "TRUE" OR NOT DEFINED GTest_VERSION) GIT_TAG v1.14.0)
# Google Test wasn't found. Download and compile ourselves FetchContent_MakeAvailable(googletest)
include(FetchContent)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.12.0)
FetchContent_MakeAvailable(googletest)
endif()
enable_testing() enable_testing()
@@ -70,10 +63,9 @@ target_link_libraries(${TEST}
stdc++ stdc++
pthread) pthread)
# Install tests and gtest # Install tests
# TODO: Remove GTest from here in the future and rely on INSTALL_GTEST?
install( install(
TARGETS ${TEST} gtest gtest_main TARGETS ${TEST}
DESTINATION ${SHARE_INSTALL_PREFIX}/tests DESTINATION ${SHARE_INSTALL_PREFIX}/tests
COMPONENT ${TESTS_COMPONENT}) COMPONENT ${TESTS_COMPONENT})
@@ -81,3 +73,9 @@ install(
FILES amdsmitst.exclude FILES amdsmitst.exclude
DESTINATION ${SHARE_INSTALL_PREFIX}/tests DESTINATION ${SHARE_INSTALL_PREFIX}/tests
COMPONENT ${TESTS_COMPONENT}) COMPONENT ${TESTS_COMPONENT})
# Install googletest libraries with tests
install(TARGETS gtest gtest_main
DESTINATION ${SHARE_INSTALL_PREFIX}/tests
COMPONENT ${TESTS_COMPONENT})