diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-07-19 00:33:07 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-02-26 12:16:50 +0100 |
commit | acb43896f275b833716c3ad6bfa1c6bf569d5c02 (patch) | |
tree | a1cba75ce52970d0ef2c01a1be4d5d549d241102 /cmake | |
parent | 63cf670f65714dbea1e10b25e9a35a4ef5d4312d (diff) |
Build: Fixed finding mysql binary on first cmake run
Closes #28133
(cherry picked from commit e9152679d78c456e05be3743d7fed308c8304555)
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/macros/FindMySQL.cmake | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/cmake/macros/FindMySQL.cmake b/cmake/macros/FindMySQL.cmake index a1bf1fb274d..f27a13145ab 100644 --- a/cmake/macros/FindMySQL.cmake +++ b/cmake/macros/FindMySQL.cmake @@ -260,14 +260,26 @@ if(WIN32) ) endif(WIN32) +unset(MySQL_lib_WANTED) +unset(MySQL_binary_WANTED) +set(MYSQL_REQUIRED_VARS "") foreach(_comp IN LISTS MySQL_FIND_COMPONENTS) if(_comp STREQUAL "lib") + set(MySQL_${_comp}_WANTED TRUE) + if(MySQL_FIND_REQUIRED_${_comp}) + list(APPEND MYSQL_REQUIRED_VARS "MYSQL_LIBRARY") + list(APPEND MYSQL_REQUIRED_VARS "MYSQL_INCLUDE_DIR") + endif() if(EXISTS "${MYSQL_LIBRARY}" AND EXISTS "${MYSQL_INCLUDE_DIR}") set(MySQL_${_comp}_FOUND TRUE) else() set(MySQL_${_comp}_FOUND FALSE) endif() elseif(_comp STREQUAL "binary") + set(MySQL_${_comp}_WANTED TRUE) + if(MySQL_FIND_REQUIRED_${_comp}) + list(APPEND MYSQL_REQUIRED_VARS "MYSQL_EXECUTABLE") + endif() if(EXISTS "${MYSQL_EXECUTABLE}" ) set(MySQL_${_comp}_FOUND TRUE) else() @@ -283,24 +295,24 @@ unset(_comp) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(MySQL REQUIRED_VARS - MYSQL_LIBRARY - MYSQL_INCLUDE_DIR + ${MYSQL_REQUIRED_VARS} HANDLE_COMPONENTS FAIL_MESSAGE "Could not find the MySQL libraries! Please install the development libraries and headers" ) +unset(MYSQL_REQUIRED_VARS) if(MYSQL_FOUND) - if(MySQL_lib_FOUND) + if(MySQL_lib_WANTED AND MySQL_lib_FOUND) message(STATUS "Found MySQL library: ${MYSQL_LIBRARY}") message(STATUS "Found MySQL headers: ${MYSQL_INCLUDE_DIR}") endif() - if(MySQL_binary_FOUND) + if(MySQL_binary_WANTED AND MySQL_binary_FOUND) message(STATUS "Found MySQL executable: ${MYSQL_EXECUTABLE}") endif() mark_as_advanced(MYSQL_FOUND MYSQL_LIBRARY MYSQL_EXTRA_LIBRARIES MYSQL_INCLUDE_DIR MYSQL_EXECUTABLE) - if(NOT TARGET MySQL::MySQL AND MySQL_lib_FOUND) + if(NOT TARGET MySQL::MySQL AND MySQL_lib_WANTED AND MySQL_lib_FOUND) add_library(MySQL::MySQL UNKNOWN IMPORTED) set_target_properties(MySQL::MySQL PROPERTIES |