diff --git a/CMakeLists.txt b/CMakeLists.txt index 512e5c3d4..56eab5dad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 3.13) +cmake_policy(SET CMP0129 NEW) project(googletest-distribution) set(GOOGLETEST_VERSION 1.15.2) diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt index 99b2411f3..c4d1a7506 100644 --- a/googlemock/CMakeLists.txt +++ b/googlemock/CMakeLists.txt @@ -37,6 +37,7 @@ endif() # ${gmock_BINARY_DIR}. # Language "C" is required for find_package(Threads). cmake_minimum_required(VERSION 3.13) +cmake_policy(SET CMP0129 NEW) project(gmock VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C) if (COMMAND set_up_hermetic_build) diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt index dce6a7c9e..00009ec30 100644 --- a/googletest/CMakeLists.txt +++ b/googletest/CMakeLists.txt @@ -47,6 +47,7 @@ endif() # Project version. cmake_minimum_required(VERSION 3.13) +cmake_policy(SET CMP0129 NEW) project(gtest VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C) if (COMMAND set_up_hermetic_build) diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake index 580ac1cbc..9d8b79de0 100644 --- a/googletest/cmake/internal_utils.cmake +++ b/googletest/cmake/internal_utils.cmake @@ -102,9 +102,11 @@ macro(config_compiler_and_linker) if (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM") set(cxx_base_flags "${cxx_base_flags} -Wno-implicit-float-size-conversion -ffp-model=precise") endif() - elseif (CMAKE_COMPILER_IS_GNUCXX) - set(cxx_base_flags "-Wall -Wshadow -Wundef") - if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0.0) + elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR + CMAKE_CXX_COMPILER_ID STREQUAL "LCC") + set(cxx_base_flags "-Wall -Wundef") + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND + NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0.0) set(cxx_base_flags "${cxx_base_flags} -Wno-error=dangling-else") endif() set(cxx_exception_flags "-fexceptions") @@ -115,6 +117,11 @@ macro(config_compiler_and_linker) set(cxx_no_rtti_flags "-fno-rtti -DGTEST_HAS_RTTI=0") set(cxx_strict_flags "-Wextra -Wno-unused-parameter -Wno-missing-field-initializers") + if (CMAKE_CXX_COMPILER_ID STREQUAL "LCC") + set(cxx_base_flags "${cxx_base_flags} -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function") + else() + set(cxx_base_flags "${cxx_base_flags} -Wshadow") + endif() elseif (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro") set(cxx_exception_flags "-features=except") # Sun Pro doesn't provide macros to indicate whether exceptions and