21 changed files with 166 additions and 122 deletions
-
5CMakeLists.txt
-
27cmake/check_linker_flag.cmake
-
24mysql-test/main/stat_tables_innodb.result
-
20mysql-test/main/stat_tables_innodb.test
-
8sql/mysqld.cc
-
14sql/sql_statistics.cc
-
18sql/sql_statistics.h
-
8storage/innobase/buf/buf0dblwr.cc
-
8storage/innobase/buf/buf0flu.cc
-
13storage/innobase/buf/buf0rea.cc
-
39storage/innobase/fil/fil0fil.cc
-
34storage/innobase/fsp/fsp0fsp.cc
-
20storage/innobase/include/fil0fil.h
-
5storage/innobase/include/mtr0mtr.h
-
4storage/innobase/include/mtr0mtr.ic
-
7storage/innobase/include/mtr0types.h
-
16storage/innobase/mtr/mtr0mtr.cc
-
9storage/innobase/row/row0import.cc
-
3storage/innobase/srv/srv0start.cc
-
4storage/innobase/trx/trx0rseg.cc
-
2storage/innobase/trx/trx0sys.cc
@ -0,0 +1,27 @@ |
|||
include(CheckCXXSourceCompiles) |
|||
|
|||
FUNCTION(MY_CHECK_AND_SET_LINKER_FLAG flag_to_set) |
|||
# Let's avoid expensive compiler tests on Windows: |
|||
IF(WIN32) |
|||
RETURN() |
|||
ENDIF() |
|||
STRING(REGEX REPLACE "[-,= +]" "_" result "HAVE_LINK_FLAG_${flag_to_set}") |
|||
SET(SAVE_CMAKE_REQUIRED_LINK_OPTIONS "${CMAKE_REQUIRED_LINK_OPTIONS}") |
|||
STRING(REGEX REPLACE "^-Wno-" "-W" flag_to_check ${flag_to_set}) |
|||
SET(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS} ${flag_to_check}) |
|||
CHECK_CXX_SOURCE_COMPILES("int main(void) { return 0; }" ${result}) |
|||
SET(CMAKE_REQUIRED_LINK_OPTIONS "${SAVE_CMAKE_REQUIRED_LINK_OPTIONS}") |
|||
IF (${result}) |
|||
FOREACH(linktype SHARED MODULE EXE) |
|||
IF(ARGN) |
|||
FOREACH(type ${ARGN}) |
|||
SET(CMAKE_${linktype}_LINKER_FLAGS_${type} |
|||
"${CMAKE_${linktype}_LINKER_FLAGS_${type}} ${flag_to_set}" PARENT_SCOPE) |
|||
ENDFOREACH() |
|||
ELSE() |
|||
SET(CMAKE_${linktype}_LINKER_FLAGS |
|||
"${CMAKE_${linktype}_LINKER_FLAGS} ${flag_to_set}" PARENT_SCOPE) |
|||
ENDIF() |
|||
ENDFOREACH() |
|||
ENDIF() |
|||
ENDFUNCTION() |
Write
Preview
Loading…
Cancel
Save
Reference in new issue