cxx features: add check for override
This commit is contained in:
parent
09aa2c9418
commit
5286110d6f
@ -32,6 +32,7 @@ function(cm_check_cxx_feature name)
|
|||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
if(CMAKE_CXX_STANDARD)
|
if(CMAKE_CXX_STANDARD)
|
||||||
|
cm_check_cxx_feature(override)
|
||||||
cm_check_cxx_feature(unordered_map)
|
cm_check_cxx_feature(unordered_map)
|
||||||
cm_check_cxx_feature(unordered_set)
|
cm_check_cxx_feature(unordered_set)
|
||||||
endif()
|
endif()
|
||||||
|
20
Source/Checks/cm_cxx_override.cxx
Normal file
20
Source/Checks/cm_cxx_override.cxx
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
struct Foo
|
||||||
|
{
|
||||||
|
virtual int test() const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Bar : Foo
|
||||||
|
{
|
||||||
|
int test() const override { return 0; }
|
||||||
|
};
|
||||||
|
|
||||||
|
int test(Foo const& foo)
|
||||||
|
{
|
||||||
|
return foo.test();
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
Bar const bar;
|
||||||
|
return test(bar);
|
||||||
|
}
|
@ -29,9 +29,16 @@
|
|||||||
#cmakedefine CMAKE_USE_ELF_PARSER
|
#cmakedefine CMAKE_USE_ELF_PARSER
|
||||||
#cmakedefine CMAKE_USE_MACH_PARSER
|
#cmakedefine CMAKE_USE_MACH_PARSER
|
||||||
#cmakedefine CMAKE_ENCODING_UTF8
|
#cmakedefine CMAKE_ENCODING_UTF8
|
||||||
|
#cmakedefine CMake_HAVE_CXX_OVERRIDE
|
||||||
#cmakedefine CMake_HAVE_CXX_UNORDERED_MAP
|
#cmakedefine CMake_HAVE_CXX_UNORDERED_MAP
|
||||||
#cmakedefine CMake_HAVE_CXX_UNORDERED_SET
|
#cmakedefine CMake_HAVE_CXX_UNORDERED_SET
|
||||||
#define CMAKE_BIN_DIR "/@CMAKE_BIN_DIR@"
|
#define CMAKE_BIN_DIR "/@CMAKE_BIN_DIR@"
|
||||||
#define CMAKE_DATA_DIR "/@CMAKE_DATA_DIR@"
|
#define CMAKE_DATA_DIR "/@CMAKE_DATA_DIR@"
|
||||||
|
|
||||||
|
#ifdef CMake_HAVE_CXX_OVERRIDE
|
||||||
|
#define CM_OVERRIDE override
|
||||||
|
#else
|
||||||
|
#define CM_OVERRIDE
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1272,6 +1272,7 @@ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_BINARY_DIR \"${CMAKE_
|
|||||||
cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insalled\""
|
cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insalled\""
|
||||||
cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
|
cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
|
||||||
cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP"
|
cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP"
|
||||||
|
cmake_report cmConfigure.h${_tmp} "#define CM_OVERRIDE"
|
||||||
|
|
||||||
# Regenerate configured headers
|
# Regenerate configured headers
|
||||||
for h in Configure VersionConfig; do
|
for h in Configure VersionConfig; do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user