aboutsummaryrefslogtreecommitdiff
path: root/cmake/macros/FindMySQL.cmake
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-07-19 00:33:07 +0200
committerShauren <shauren.trinity@gmail.com>2024-02-26 12:16:50 +0100
commitacb43896f275b833716c3ad6bfa1c6bf569d5c02 (patch)
treea1cba75ce52970d0ef2c01a1be4d5d549d241102 /cmake/macros/FindMySQL.cmake
parent63cf670f65714dbea1e10b25e9a35a4ef5d4312d (diff)
Build: Fixed finding mysql binary on first cmake run
Closes #28133 (cherry picked from commit e9152679d78c456e05be3743d7fed308c8304555)
Diffstat (limited to 'cmake/macros/FindMySQL.cmake')
-rw-r--r--cmake/macros/FindMySQL.cmake22
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