summaryrefslogtreecommitdiff
path: root/src/cmake
diff options
context:
space:
mode:
authorKargatum <dowlandtop@yandex.com>2021-06-27 23:59:44 +0700
committerGitHub <noreply@github.com>2021-06-27 18:59:44 +0200
commit2d2857ce81db5297eb63d388d2e2f252ef52412d (patch)
tree93455f25b00358326cb6d73bd1b454d45cd95d26 /src/cmake
parentccd73918aed62456af4cf900c59b2d8108a24d81 (diff)
feat(Core/DBUpdater): implement db auto update (#6576)
* feat(Core/DBUpdater): implement db auto update * 1 * 2 * 3 * Some minor improvements * add find bin for mysql 8.0 * lic Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
Diffstat (limited to 'src/cmake')
-rw-r--r--src/cmake/macros/ConfigureModules.cmake15
-rw-r--r--src/cmake/macros/FindMySQL.cmake65
-rw-r--r--src/cmake/revision.h.in.cmake4
3 files changed, 81 insertions, 3 deletions
diff --git a/src/cmake/macros/ConfigureModules.cmake b/src/cmake/macros/ConfigureModules.cmake
index 41c2162788..8cde64e028 100644
--- a/src/cmake/macros/ConfigureModules.cmake
+++ b/src/cmake/macros/ConfigureModules.cmake
@@ -71,3 +71,18 @@ function(IsDynamicLinkingModulesRequired variable)
endforeach()
set(${variable} ${IS_REQUIRED} PARENT_SCOPE)
endfunction()
+
+# Get list all modules
+function(GetModuleList)
+ file(GLOB LOCALE_MODULE_LIST RELATIVE
+ ${CMAKE_SOURCE_DIR}/modules
+ ${CMAKE_SOURCE_DIR}/modules/*)
+
+ foreach(MODULE_DIR ${LOCALE_MODULE_LIST})
+ if(IS_DIRECTORY "${CMAKE_SOURCE_DIR}/modules/${MODULE_DIR}")
+ set(MODULE_LIST__ ${MODULE_LIST__}${MODULE_DIR},)
+ endif()
+ endforeach()
+
+ add_definitions(-DAC_MODULES_LIST=$<1:"${MODULE_LIST__}">)
+endfunction()
diff --git a/src/cmake/macros/FindMySQL.cmake b/src/cmake/macros/FindMySQL.cmake
index d26d812b30..ae7d09ddd0 100644
--- a/src/cmake/macros/FindMySQL.cmake
+++ b/src/cmake/macros/FindMySQL.cmake
@@ -73,9 +73,22 @@ if (WIN32)
if(MYSQL_LIBRARY)
set(MARIADB_FOUND_LIB 1)
endif()
- if (MYSQL_LIBRARY AND MYSQL_INCLUDE_DIR)
+
+ find_program(MYSQL_EXECUTABLE mysql
+ PATHS
+ "${PROGRAM_FILES_64}/${MariaDBVersion}/bin"
+ "${PROGRAM_FILES_64}/${MariaDBVersion}/bin/opt"
+ "${PROGRAM_FILES_32}/${MariaDBVersion}/bin"
+ "${PROGRAM_FILES_32}/${MariaDBVersion}/bin/opt"
+ "$ENV{ProgramFiles}/${MariaDBVersion}/bin/opt"
+ "$ENV{SystemDrive}/${MariaDBVersion}/bin/opt"
+ DOC
+ "path to your mysql binary.")
+
+ if (MYSQL_LIBRARY AND MYSQL_INCLUDE_DIR AND MYSQL_EXECUTABLE)
set(MARIADB_FOUND 1)
endif()
+
endmacro(FindLibMariaDB)
foreach(version ${_MARIADB_KNOWN_VERSIONS})
@@ -207,7 +220,6 @@ endif( WIN32 )
# On Windows you typically don't need to include any extra libraries
# to build MYSQL stuff.
-
if( NOT WIN32 )
find_library( MYSQL_EXTRA_LIBRARIES
NAMES
@@ -222,6 +234,50 @@ 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."
+ )
+endif( UNIX )
+
+if( WIN32 )
+ find_program(MYSQL_EXECUTABLE mysql
+ PATHS
+ "${PROGRAM_FILES_64}/MySQL/MySQL Server 8.0/bin"
+ "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin"
+ "${PROGRAM_FILES_64}/MySQL/MySQL Server 8.0/bin/opt"
+ "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt"
+ "${PROGRAM_FILES_64}/MySQL/bin"
+ "${PROGRAM_FILES_32}/MySQL/MySQL Server 8.0/bin"
+ "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/bin"
+ "${PROGRAM_FILES_32}/MySQL/MySQL Server 8.0/bin/opt"
+ "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/bin/opt"
+ "${PROGRAM_FILES_32}/MySQL/bin"
+ "C:/MySQL/bin/debug"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 8.0;Location]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 8.0;Location]/bin/opt"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 8.0;Location]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/bin"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 8.0;Location]/bin/opt"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"
+ "$ENV{ProgramFiles}/MySQL/MySQL Server 8.0/bin/opt"
+ "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt"
+ "$ENV{SystemDrive}/MySQL/MySQL Server 8.0/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 )
if( MYSQL_INCLUDE_DIR )
set( MYSQL_FOUND 1 )
@@ -230,7 +286,10 @@ if( MYSQL_LIBRARY )
else( MYSQL_INCLUDE_DIR )
message(FATAL_ERROR "Could not find MySQL headers! Please install the development libraries and headers")
endif( MYSQL_INCLUDE_DIR )
- mark_as_advanced( MYSQL_FOUND MYSQL_LIBRARY MYSQL_EXTRA_LIBRARIES MYSQL_INCLUDE_DIR )
+ if( MYSQL_EXECUTABLE )
+ message(STATUS "Found MySQL executable: ${MYSQL_EXECUTABLE}")
+ endif( MYSQL_EXECUTABLE )
+ mark_as_advanced( MYSQL_FOUND MYSQL_LIBRARY MYSQL_EXTRA_LIBRARIES MYSQL_INCLUDE_DIR MYSQL_EXECUTABLE )
else( MYSQL_LIBRARY )
message(FATAL_ERROR "Could not find the MySQL libraries! Please install the development libraries and headers")
endif( MYSQL_LIBRARY )
diff --git a/src/cmake/revision.h.in.cmake b/src/cmake/revision.h.in.cmake
index 3417b88e4c..de599c5a66 100644
--- a/src/cmake/revision.h.in.cmake
+++ b/src/cmake/revision.h.in.cmake
@@ -4,8 +4,12 @@
#define _HASH "@rev_hash@"
#define _DATE "@rev_date@"
#define _BRANCH "@rev_branch@"
+ #define _CMAKE_COMMAND R"(@CMAKE_COMMAND@)"
#define _CMAKE_VERSION R"(@CMAKE_VERSION@)"
#define _CMAKE_HOST_SYSTEM R"(@CMAKE_HOST_SYSTEM_NAME@ @CMAKE_HOST_SYSTEM_VERSION@)"
+ #define _SOURCE_DIRECTORY R"(@CMAKE_SOURCE_DIR@)"
+ #define _BUILD_DIRECTORY R"(@BUILDDIR@)"
+ #define _MYSQL_EXECUTABLE R"(@MYSQL_EXECUTABLE@)"
#define VER_COMPANYNAME_STR "AzerothCore"
#define VER_LEGALCOPYRIGHT_STR "(c)2016-@rev_year@ AzerothCore"
#define VER_FILEVERSION 0,0,0