diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake index 7ea914cf..f369af89 100644 --- a/cmake/FindMySQL.cmake +++ b/cmake/FindMySQL.cmake @@ -15,32 +15,32 @@ set( MYSQL_FOUND 0 ) if( UNIX ) set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH - "preferred path to MySQL (mysql_config)" - ) + "preferred path to MySQL (mysql_config)" + ) find_program(MYSQL_CONFIG mysql_config - ${MYSQL_CONFIG_PREFER_PATH} - /usr/local/mysql/bin/ - /usr/local/bin/ - /usr/bin/ - ) + ${MYSQL_CONFIG_PREFER_PATH} + /usr/local/mysql/bin/ + /usr/local/bin/ + /usr/bin/ + ) if( MYSQL_CONFIG ) message(STATUS "Using mysql-config: ${MYSQL_CONFIG}") # set INCLUDE_DIR exec_program(${MYSQL_CONFIG} - ARGS --include - OUTPUT_VARIABLE MY_TMP - ) + ARGS --include + OUTPUT_VARIABLE MY_TMP + ) string(REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}") set(MYSQL_ADD_INCLUDE_PATH ${MY_TMP} CACHE FILEPATH INTERNAL) #message("[DEBUG] MYSQL ADD_INCLUDE_PATH : ${MYSQL_ADD_INCLUDE_PATH}") # set LIBRARY_DIR exec_program(${MYSQL_CONFIG} - ARGS --libs_r - OUTPUT_VARIABLE MY_TMP - ) + ARGS --libs_r + OUTPUT_VARIABLE MY_TMP + ) set(MYSQL_ADD_LIBRARIES "") string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}") foreach(LIB ${MYSQL_LIB_LIST}) @@ -67,83 +67,89 @@ endif( UNIX ) if( WIN32 ) SET(PROGRAM_FILES_64 $ENV{ProgramW6432}) if (${PROGRAM_FILES_64}) - STRING(REPLACE "\\\\" "/" PROGRAM_FILES_64 ${PROGRAM_FILES_64}) + STRING(REPLACE "\\\\" "/" PROGRAM_FILES_64 ${PROGRAM_FILES_64}) endif(${PROGRAM_FILES_64}) endif ( WIN32 ) find_path(MYSQL_INCLUDE_DIR - NAMES - mysql.h - PATHS - ${MYSQL_ADD_INCLUDE_PATH} - /usr/include - /usr/include/mariadb - /usr/include/mysql - /usr/local/include - /usr/local/include/mysql - /usr/local/mysql/include - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/include" - "${PROGRAM_FILES_64}/MySQL/include" - "${PROGRAM_FILES_64}/MariaDB 10.3/include/mysql" - "${PROGRAM_FILES_64}/MariaDB 10.4/include/mysql" - "${PROGRAM_FILES_64}/MariaDB 10.5/include/mysql" - "${PROGRAM_FILES_64}/MariaDB 10.6/include/mysql" - "C:/MySQL/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/include" - "c:/msys/local/include" - "$ENV{MYSQL_ROOT}/include" - DOC - "Specify the directory containing mysql.h." -) + NAMES + mysql.h + PATHS + ${MYSQL_ADD_INCLUDE_PATH} + /usr/include + /usr/include/mariadb + /usr/include/mysql + /usr/local/include + /usr/local/include/mysql + /usr/local/mysql/include + "${PROGRAM_FILES_64}/MariaDB 10.3/include/mysql" + "${PROGRAM_FILES_64}/MariaDB 10.4/include/mysql" + "${PROGRAM_FILES_64}/MariaDB 10.5/include/mysql" + "${PROGRAM_FILES_64}/MariaDB 10.6/include/mysql" + "${PROGRAM_FILES_64}/MariaDB 10.7/include/mysql" + "${PROGRAM_FILES_64}/MariaDB 10.8/include/mysql" + "${PROGRAM_FILES_64}/MariaDB 10.9/include/mysql" + "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/include" + "${PROGRAM_FILES_64}/MySQL/include" + "C:/MySQL/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include" + "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include" + "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/include" + "c:/msys/local/include" + "$ENV{MYSQL_ROOT}/include" + DOC + "Specify the directory containing mysql.h." + ) if( UNIX ) foreach(LIB ${MYSQL_ADD_LIBRARIES}) find_library( MYSQL_LIBRARY - NAMES - mysql libmysql libmariadb ${LIB} - PATHS - ${MYSQL_ADD_LIBRARIES_PATH} - /usr/lib - /usr/lib/mysql - /usr/local/lib - /usr/local/lib/mysql - /usr/local/mysql/lib - /usr/lib/x86_64-linux-gnu - DOC "Specify the location of the mysql library here." - ) + NAMES + mysql libmysql libmariadb ${LIB} + PATHS + ${MYSQL_ADD_LIBRARIES_PATH} + /usr/lib + /usr/lib/mysql + /usr/local/lib + /usr/local/lib/mysql + /usr/local/mysql/lib + /usr/lib/x86_64-linux-gnu + DOC "Specify the location of the mysql library here." + ) endforeach(LIB ${MYSQL_ADD_LIBRARY}) endif( UNIX ) if( WIN32 ) find_library( MYSQL_LIBRARY - NAMES - libmysql - libmariadb - PATHS - ${MYSQL_ADD_LIBRARIES_PATH} - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib/opt" - "${PROGRAM_FILES_64}/MySQL/lib" - "${PROGRAM_FILES_64}/MariaDB 10.3/lib" - "${PROGRAM_FILES_64}/MariaDB 10.4/lib" - "${PROGRAM_FILES_64}/MariaDB 10.5/lib" - "${PROGRAM_FILES_64}/MariaDB 10.6/lib" - "C:/MySQL/lib/debug" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/lib/opt" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/lib/opt" - "c:/msys/local/include" - "$ENV{MYSQL_ROOT}/lib" - DOC "Specify the location of the mysql library here." - ) + NAMES + libmysql + libmariadb + PATHS + ${MYSQL_ADD_LIBRARIES_PATH} + "${PROGRAM_FILES_64}/MariaDB 10.3/lib" + "${PROGRAM_FILES_64}/MariaDB 10.4/lib" + "${PROGRAM_FILES_64}/MariaDB 10.5/lib" + "${PROGRAM_FILES_64}/MariaDB 10.6/lib" + "${PROGRAM_FILES_64}/MariaDB 10.7/lib" + "${PROGRAM_FILES_64}/MariaDB 10.8/lib" + "${PROGRAM_FILES_64}/MariaDB 10.9/lib" + "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib" + "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib/opt" + "${PROGRAM_FILES_64}/MySQL/lib" + "C:/MySQL/lib/debug" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt" + "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/lib/opt" + "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/lib/opt" + "c:/msys/local/include" + "$ENV{MYSQL_ROOT}/lib" + DOC "Specify the location of the mysql library here." + ) STRING( REGEX REPLACE "(.lib)$" ".dll" MYSQL_DLL ${MYSQL_LIBRARY} ) file(COPY ${MYSQL_DLL} - DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) endif( WIN32 ) @@ -152,50 +158,51 @@ endif( WIN32 ) if( NOT WIN32 ) find_library( MYSQL_EXTRA_LIBRARIES - NAMES - z zlib - PATHS - /usr/lib - /usr/local/lib - DOC - "if more libraries are necessary to link in a MySQL client (typically zlib), specify them here." - ) + NAMES + z zlib + PATHS + /usr/lib + /usr/local/lib + DOC + "if more libraries are necessary to link in a MySQL client (typically zlib), specify them here." + ) else( NOT WIN32 ) set( MYSQL_EXTRA_LIBRARIES "" ) endif( NOT WIN32 ) if( UNIX ) - find_program(MYSQL_EXECUTABLE mysql - PATHS - ${MYSQL_CONFIG_PREFER_PATH} - /usr/local/mysql/bin/ - /usr/local/bin/ - /usr/bin/ - DOC - "path to your mysql binary." - ) + find_program(MYSQL_EXECUTABLE mysql + PATHS + ${MYSQL_CONFIG_PREFER_PATH} + /usr/local/mysql/bin/ + /usr/local/bin/ + /usr/bin/ + DOC + "path to your mysql binary." + ) endif( UNIX ) if( WIN32 ) - find_program(MYSQL_EXECUTABLE mysql - PATHS - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt" - "${PROGRAM_FILES_64}/MySQL/bin" - "${PROGRAM_FILES_64}/MariaDB 10.3/bin" - "${PROGRAM_FILES_64}/MariaDB 10.4/bin" - "${PROGRAM_FILES_64}/MariaDB 10.5/bin" - "${PROGRAM_FILES_64}/MariaDB 10.6/bin" - "C:/MySQL/bin/debug" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin/opt" - "c:/msys/local/include" - "$ENV{MYSQL_ROOT}/bin" - DOC - "path to your mysql binary." - ) + find_program(MYSQL_EXECUTABLE mysql + PATHS + "${PROGRAM_FILES_64}/MariaDB 10.3/bin" + "${PROGRAM_FILES_64}/MariaDB 10.4/bin" + "${PROGRAM_FILES_64}/MariaDB 10.5/bin" + "${PROGRAM_FILES_64}/MariaDB 10.6/bin" + "${PROGRAM_FILES_64}/MariaDB 10.7/bin" + "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin" + "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt" + "${PROGRAM_FILES_64}/MySQL/bin" + "C:/MySQL/bin/debug" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt" + "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt" + "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin/opt" + "c:/msys/local/include" + "$ENV{MYSQL_ROOT}/bin" + DOC + "path to your mysql binary." + ) endif( WIN32 ) if( MYSQL_LIBRARY )