mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-08 11:47:45 +00:00
Shamelessly steal FindMySQL.cmake from 3.x branch
This commit is contained in:
parent
cac8e72f33
commit
7adfffb2b2
1 changed files with 116 additions and 109 deletions
|
@ -15,32 +15,32 @@ set( MYSQL_FOUND 0 )
|
||||||
|
|
||||||
if( UNIX )
|
if( UNIX )
|
||||||
set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH
|
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
|
find_program(MYSQL_CONFIG mysql_config
|
||||||
${MYSQL_CONFIG_PREFER_PATH}
|
${MYSQL_CONFIG_PREFER_PATH}
|
||||||
/usr/local/mysql/bin/
|
/usr/local/mysql/bin/
|
||||||
/usr/local/bin/
|
/usr/local/bin/
|
||||||
/usr/bin/
|
/usr/bin/
|
||||||
)
|
)
|
||||||
|
|
||||||
if( MYSQL_CONFIG )
|
if( MYSQL_CONFIG )
|
||||||
message(STATUS "Using mysql-config: ${MYSQL_CONFIG}")
|
message(STATUS "Using mysql-config: ${MYSQL_CONFIG}")
|
||||||
# set INCLUDE_DIR
|
# set INCLUDE_DIR
|
||||||
exec_program(${MYSQL_CONFIG}
|
exec_program(${MYSQL_CONFIG}
|
||||||
ARGS --include
|
ARGS --include
|
||||||
OUTPUT_VARIABLE MY_TMP
|
OUTPUT_VARIABLE MY_TMP
|
||||||
)
|
)
|
||||||
|
|
||||||
string(REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}")
|
string(REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}")
|
||||||
set(MYSQL_ADD_INCLUDE_PATH ${MY_TMP} CACHE FILEPATH INTERNAL)
|
set(MYSQL_ADD_INCLUDE_PATH ${MY_TMP} CACHE FILEPATH INTERNAL)
|
||||||
#message("[DEBUG] MYSQL ADD_INCLUDE_PATH : ${MYSQL_ADD_INCLUDE_PATH}")
|
#message("[DEBUG] MYSQL ADD_INCLUDE_PATH : ${MYSQL_ADD_INCLUDE_PATH}")
|
||||||
# set LIBRARY_DIR
|
# set LIBRARY_DIR
|
||||||
exec_program(${MYSQL_CONFIG}
|
exec_program(${MYSQL_CONFIG}
|
||||||
ARGS --libs_r
|
ARGS --libs_r
|
||||||
OUTPUT_VARIABLE MY_TMP
|
OUTPUT_VARIABLE MY_TMP
|
||||||
)
|
)
|
||||||
set(MYSQL_ADD_LIBRARIES "")
|
set(MYSQL_ADD_LIBRARIES "")
|
||||||
string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}")
|
string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}")
|
||||||
foreach(LIB ${MYSQL_LIB_LIST})
|
foreach(LIB ${MYSQL_LIB_LIST})
|
||||||
|
@ -67,83 +67,89 @@ endif( UNIX )
|
||||||
if( WIN32 )
|
if( WIN32 )
|
||||||
SET(PROGRAM_FILES_64 $ENV{ProgramW6432})
|
SET(PROGRAM_FILES_64 $ENV{ProgramW6432})
|
||||||
if (${PROGRAM_FILES_64})
|
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(${PROGRAM_FILES_64})
|
||||||
endif ( WIN32 )
|
endif ( WIN32 )
|
||||||
|
|
||||||
find_path(MYSQL_INCLUDE_DIR
|
find_path(MYSQL_INCLUDE_DIR
|
||||||
NAMES
|
NAMES
|
||||||
mysql.h
|
mysql.h
|
||||||
PATHS
|
PATHS
|
||||||
${MYSQL_ADD_INCLUDE_PATH}
|
${MYSQL_ADD_INCLUDE_PATH}
|
||||||
/usr/include
|
/usr/include
|
||||||
/usr/include/mariadb
|
/usr/include/mariadb
|
||||||
/usr/include/mysql
|
/usr/include/mysql
|
||||||
/usr/local/include
|
/usr/local/include
|
||||||
/usr/local/include/mysql
|
/usr/local/include/mysql
|
||||||
/usr/local/mysql/include
|
/usr/local/mysql/include
|
||||||
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/include"
|
"${PROGRAM_FILES_64}/MariaDB 10.3/include/mysql"
|
||||||
"${PROGRAM_FILES_64}/MySQL/include"
|
"${PROGRAM_FILES_64}/MariaDB 10.4/include/mysql"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.3/include/mysql"
|
"${PROGRAM_FILES_64}/MariaDB 10.5/include/mysql"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.4/include/mysql"
|
"${PROGRAM_FILES_64}/MariaDB 10.6/include/mysql"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.5/include/mysql"
|
"${PROGRAM_FILES_64}/MariaDB 10.7/include/mysql"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.6/include/mysql"
|
"${PROGRAM_FILES_64}/MariaDB 10.8/include/mysql"
|
||||||
"C:/MySQL/include"
|
"${PROGRAM_FILES_64}/MariaDB 10.9/include/mysql"
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include"
|
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/include"
|
||||||
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include"
|
"${PROGRAM_FILES_64}/MySQL/include"
|
||||||
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/include"
|
"C:/MySQL/include"
|
||||||
"c:/msys/local/include"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include"
|
||||||
"$ENV{MYSQL_ROOT}/include"
|
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include"
|
||||||
DOC
|
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/include"
|
||||||
"Specify the directory containing mysql.h."
|
"c:/msys/local/include"
|
||||||
)
|
"$ENV{MYSQL_ROOT}/include"
|
||||||
|
DOC
|
||||||
|
"Specify the directory containing mysql.h."
|
||||||
|
)
|
||||||
|
|
||||||
if( UNIX )
|
if( UNIX )
|
||||||
foreach(LIB ${MYSQL_ADD_LIBRARIES})
|
foreach(LIB ${MYSQL_ADD_LIBRARIES})
|
||||||
find_library( MYSQL_LIBRARY
|
find_library( MYSQL_LIBRARY
|
||||||
NAMES
|
NAMES
|
||||||
mysql libmysql libmariadb ${LIB}
|
mysql libmysql libmariadb ${LIB}
|
||||||
PATHS
|
PATHS
|
||||||
${MYSQL_ADD_LIBRARIES_PATH}
|
${MYSQL_ADD_LIBRARIES_PATH}
|
||||||
/usr/lib
|
/usr/lib
|
||||||
/usr/lib/mysql
|
/usr/lib/mysql
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib/mysql
|
/usr/local/lib/mysql
|
||||||
/usr/local/mysql/lib
|
/usr/local/mysql/lib
|
||||||
/usr/lib/x86_64-linux-gnu
|
/usr/lib/x86_64-linux-gnu
|
||||||
DOC "Specify the location of the mysql library here."
|
DOC "Specify the location of the mysql library here."
|
||||||
)
|
)
|
||||||
endforeach(LIB ${MYSQL_ADD_LIBRARY})
|
endforeach(LIB ${MYSQL_ADD_LIBRARY})
|
||||||
endif( UNIX )
|
endif( UNIX )
|
||||||
|
|
||||||
if( WIN32 )
|
if( WIN32 )
|
||||||
find_library( MYSQL_LIBRARY
|
find_library( MYSQL_LIBRARY
|
||||||
NAMES
|
NAMES
|
||||||
libmysql
|
libmysql
|
||||||
libmariadb
|
libmariadb
|
||||||
PATHS
|
PATHS
|
||||||
${MYSQL_ADD_LIBRARIES_PATH}
|
${MYSQL_ADD_LIBRARIES_PATH}
|
||||||
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib"
|
"${PROGRAM_FILES_64}/MariaDB 10.3/lib"
|
||||||
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib/opt"
|
"${PROGRAM_FILES_64}/MariaDB 10.4/lib"
|
||||||
"${PROGRAM_FILES_64}/MySQL/lib"
|
"${PROGRAM_FILES_64}/MariaDB 10.5/lib"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.3/lib"
|
"${PROGRAM_FILES_64}/MariaDB 10.6/lib"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.4/lib"
|
"${PROGRAM_FILES_64}/MariaDB 10.7/lib"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.5/lib"
|
"${PROGRAM_FILES_64}/MariaDB 10.8/lib"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.6/lib"
|
"${PROGRAM_FILES_64}/MariaDB 10.9/lib"
|
||||||
"C:/MySQL/lib/debug"
|
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib"
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib"
|
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib/opt"
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt"
|
"${PROGRAM_FILES_64}/MySQL/lib"
|
||||||
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/lib/opt"
|
"C:/MySQL/lib/debug"
|
||||||
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/lib/opt"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib"
|
||||||
"c:/msys/local/include"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt"
|
||||||
"$ENV{MYSQL_ROOT}/lib"
|
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/lib/opt"
|
||||||
DOC "Specify the location of the mysql library here."
|
"$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} )
|
STRING( REGEX REPLACE "(.lib)$" ".dll" MYSQL_DLL ${MYSQL_LIBRARY} )
|
||||||
|
|
||||||
file(COPY ${MYSQL_DLL}
|
file(COPY ${MYSQL_DLL}
|
||||||
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/bin/" )
|
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/bin/" )
|
||||||
|
|
||||||
endif( WIN32 )
|
endif( WIN32 )
|
||||||
|
|
||||||
|
@ -152,50 +158,51 @@ endif( WIN32 )
|
||||||
|
|
||||||
if( NOT WIN32 )
|
if( NOT WIN32 )
|
||||||
find_library( MYSQL_EXTRA_LIBRARIES
|
find_library( MYSQL_EXTRA_LIBRARIES
|
||||||
NAMES
|
NAMES
|
||||||
z zlib
|
z zlib
|
||||||
PATHS
|
PATHS
|
||||||
/usr/lib
|
/usr/lib
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
DOC
|
DOC
|
||||||
"if more libraries are necessary to link in a MySQL client (typically zlib), specify them here."
|
"if more libraries are necessary to link in a MySQL client (typically zlib), specify them here."
|
||||||
)
|
)
|
||||||
else( NOT WIN32 )
|
else( NOT WIN32 )
|
||||||
set( MYSQL_EXTRA_LIBRARIES "" )
|
set( MYSQL_EXTRA_LIBRARIES "" )
|
||||||
endif( NOT WIN32 )
|
endif( NOT WIN32 )
|
||||||
|
|
||||||
if( UNIX )
|
if( UNIX )
|
||||||
find_program(MYSQL_EXECUTABLE mysql
|
find_program(MYSQL_EXECUTABLE mysql
|
||||||
PATHS
|
PATHS
|
||||||
${MYSQL_CONFIG_PREFER_PATH}
|
${MYSQL_CONFIG_PREFER_PATH}
|
||||||
/usr/local/mysql/bin/
|
/usr/local/mysql/bin/
|
||||||
/usr/local/bin/
|
/usr/local/bin/
|
||||||
/usr/bin/
|
/usr/bin/
|
||||||
DOC
|
DOC
|
||||||
"path to your mysql binary."
|
"path to your mysql binary."
|
||||||
)
|
)
|
||||||
endif( UNIX )
|
endif( UNIX )
|
||||||
|
|
||||||
if( WIN32 )
|
if( WIN32 )
|
||||||
find_program(MYSQL_EXECUTABLE mysql
|
find_program(MYSQL_EXECUTABLE mysql
|
||||||
PATHS
|
PATHS
|
||||||
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin"
|
"${PROGRAM_FILES_64}/MariaDB 10.3/bin"
|
||||||
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt"
|
"${PROGRAM_FILES_64}/MariaDB 10.4/bin"
|
||||||
"${PROGRAM_FILES_64}/MySQL/bin"
|
"${PROGRAM_FILES_64}/MariaDB 10.5/bin"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.3/bin"
|
"${PROGRAM_FILES_64}/MariaDB 10.6/bin"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.4/bin"
|
"${PROGRAM_FILES_64}/MariaDB 10.7/bin"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.5/bin"
|
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin"
|
||||||
"${PROGRAM_FILES_64}/MariaDB 10.6/bin"
|
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt"
|
||||||
"C:/MySQL/bin/debug"
|
"${PROGRAM_FILES_64}/MySQL/bin"
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin"
|
"C:/MySQL/bin/debug"
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin"
|
||||||
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"
|
||||||
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin/opt"
|
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt"
|
||||||
"c:/msys/local/include"
|
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin/opt"
|
||||||
"$ENV{MYSQL_ROOT}/bin"
|
"c:/msys/local/include"
|
||||||
DOC
|
"$ENV{MYSQL_ROOT}/bin"
|
||||||
"path to your mysql binary."
|
DOC
|
||||||
)
|
"path to your mysql binary."
|
||||||
|
)
|
||||||
endif( WIN32 )
|
endif( WIN32 )
|
||||||
|
|
||||||
if( MYSQL_LIBRARY )
|
if( MYSQL_LIBRARY )
|
||||||
|
|
Loading…
Add table
Reference in a new issue