From 216a2737f2d91539c882d4971acf3ebc12ed2b49 Mon Sep 17 00:00:00 2001 From: Antz Date: Wed, 10 Feb 2016 11:44:09 +0000 Subject: [PATCH] [Sync] Some minor updates from Two --- .travis.sh | 7 + .travis.yml | 7 +- CMakeLists.txt | 16 +- COPYING | 340 ------------------------------- README.md | 7 +- Rel20_Todo.md | 2 +- Thanks.md | 37 ---- cmake/FindGit.cmake | 2 + cmake/FindMySQL.cmake | 228 +++++---------------- cmake/FindVisualStudio2010.cmake | 20 -- cmake/SetDefinitions.cmake | 4 +- 11 files changed, 84 insertions(+), 586 deletions(-) create mode 100644 .travis.sh delete mode 100644 COPYING delete mode 100644 Thanks.md delete mode 100644 cmake/FindVisualStudio2010.cmake diff --git a/.travis.sh b/.travis.sh new file mode 100644 index 000000000..ba72200d5 --- /dev/null +++ b/.travis.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -eu + +if [[ x$OSTYPE =~ ^xdarwin ]]; then + brew install "mysql" +fi \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 33bb43a82..448455817 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,8 @@ language: cpp +before_install: + - bash .travis.sh + # reduce clone time by only getting the latest commit and not the whole history (default for travis is 100) git: depth: 1 @@ -14,10 +17,10 @@ branches: - master - develop21 -# build on both Linux and OSX +# build on both Linux and OSX (finally) os: - linux - - osx + - osx # build with both gcc and clang to ensure compatibility compiler: diff --git a/CMakeLists.txt b/CMakeLists.txt index 7bef527ea..6730a5277 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,10 +154,10 @@ else() endif() if(SOAP) - message(STATUS "Support for SOAP : Yes (default)") + message(STATUS "Support for SOAP : Yes") add_definitions(-DENABLE_SOAP) else() - message(STATUS "Support for SOAP : No") + message(STATUS "Support for SOAP : No (default)") endif() if(SCRIPT_LIB_ELUNA) @@ -181,12 +181,12 @@ endif() # message(STATUS "Script engine SD3 : No (default)") #endif() -if(PLAYERBOTS) - message(STATUS "Enable Player Bots : Yes (default)") - add_definitions(-DENABLE_PLAYERBOTS) -else() - message(STATUS "Enable Player Bots : No") -endif() +#if(PLAYERBOTS) +# message(STATUS "Enable Player Bots : Yes (default)") +# add_definitions(-DENABLE_PLAYERBOTS) +#else() +# message(STATUS "Enable Player Bots : No") +#endif() if(BUILD_TOOLS) message(STATUS "Build tools : Yes (default)") diff --git a/COPYING b/COPYING deleted file mode 100644 index e90dfed1a..000000000 --- a/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/README.md b/README.md index 8a0cf2f61..6d5bd38d2 100644 --- a/README.md +++ b/README.md @@ -55,8 +55,9 @@ Compilers Building *Mangos* is currently possible with these compilers: * **Microsoft Visual Studio (Express[^1])**, 32 bit and 64 bit. Both - [Visual Studio][30] and the Express editions of [Visual Studio][31] - are supported. + [Visual Studio][30] and the Express editions of [Visual Studio][31] are + supported. Only Visual Studio 2012 and above are now officially supported. + * **Microsoft Windows SDK**, 32 bit and 64 bit. The [Windows 7 SDK][32] is recommended, as older versions lack compiler features required to build the server. @@ -94,7 +95,7 @@ their systems package management instead of source packages.* scripting environment, which allows us to make live changes to scripted content. -*Recast*, *G3D* and *libmpq* are included in the *Mangos* distribution as +*ACE*, *Recast*, *G3D* and *libmpq* are included in the *Mangos* distribution as we rely on specific versions. Optional dependencies diff --git a/Rel20_Todo.md b/Rel20_Todo.md index adee60e2d..171ef483a 100644 --- a/Rel20_Todo.md +++ b/Rel20_Todo.md @@ -1,4 +1,4 @@ -ROADMAP and goals for 0.20.0 release +ROADMAP and goals for 0.21.0 release ------------ * Completely synchronize fixes between mangos repositories (zero, one, two) diff --git a/Thanks.md b/Thanks.md deleted file mode 100644 index 860a11e6a..000000000 --- a/Thanks.md +++ /dev/null @@ -1,37 +0,0 @@ -The THANKS file: - -All distributions should contain a `THANKS' file containing a two column list -of the contributors, one per line, alphabetically sorted. The left column gives -the contributor's name, while the right column gives the last known good email -address for this contributor. This list should be introduced with a wording -similar to this one: - - MaNGOS THANKS file - - MaNGOS has originally been written by Team Python and WoW Daemon Team. Many - people further contributed to MaNGOS by reporting problems, suggesting various - improvements or submitting actual code. - - Here is a list of these people. Help me keep it complete and exempt of errors. - - Special thanks should also go out to the WowwoW team. We have gained help from - them many times in the creation of this project. Keep up the good work guys. - - Thanks should also go out to the Ludmilla team, who are also providing the - community with a great server. We have not gained too much help from them, - but we have received some. - - Thanks to WCell team (especially Ralek) for reseach on realm reconnect sequence, - item scaling stats algorithm, gameobject rotation issues. - - We would also like to acknowledge the contributions made by the following - teams, those input and code has from time to time been included in the MaNGOS - code. Each of the commits will have a prefix indicating the source team :- - - t - TrinityCore - p - Project SilverPine - r - MangosR2 - s - ScriptDev - c - cMangos - m - mangos - \ No newline at end of file diff --git a/cmake/FindGit.cmake b/cmake/FindGit.cmake index 2d8214287..2d6d614da 100644 --- a/cmake/FindGit.cmake +++ b/cmake/FindGit.cmake @@ -35,6 +35,8 @@ endif() find_program(GIT_EXECUTABLE NAMES ${git_names} + HINTS + ENV PATH DOC "git command line client" ) mark_as_advanced(GIT_EXECUTABLE) diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake index 7cf876067..00f602a63 100644 --- a/cmake/FindMySQL.cmake +++ b/cmake/FindMySQL.cmake @@ -4,193 +4,77 @@ # This module defines # MYSQL_INCLUDE_DIR, where to find mysql.h -# MYSQL_LIBRARIES, the libraries to link against to connect to MySQL -# MYSQL_FOUND, if false, you cannot build anything that requires MySQL. +# MYSQL_LIBRARY, the libraries needed to use MySQL. +# MYSQL_FOUND, If false, do not try to use MySQL. -# also defined, but not for general use are -# MYSQL_LIBRARY, where to find the MySQL library. +if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY) + set(MYSQL_FOUND TRUE) +else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY) -set( MYSQL_FOUND 0 ) + SET(PROGRAM_FILES_ARCH_PATH) + if(PLATFORM EQUAL 32) + SET(PROGRAM_FILES_ARCH_PATH $ENV{ProgramFiles}) + elseif(PLATFORM EQUAL 64) + SET(PROGRAM_FILES_ARCH_PATH $ENV{ProgramW6432}) + endif() -if( UNIX ) - set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH - "preferred path to MySQL (mysql_config)" - ) + if (${PROGRAM_FILES_ARCH_PATH}) + STRING(REPLACE "\\\\" "/" PROGRAM_FILES_ARCH_PATH ${PROGRAM_FILES_ARCH_PATH}) + endif(${PROGRAM_FILES_ARCH_PATH}) - find_program(MYSQL_CONFIG mysql_config - ${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 - ) - - 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 - ) - set(MYSQL_ADD_LIBRARIES "") - string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}") - foreach(LIB ${MYSQL_LIB_LIST}) - string(REGEX REPLACE "[ ]*-l([^ ]*)" "\\1" LIB "${LIB}") - list(APPEND MYSQL_ADD_LIBRARIES "${LIB}") - #message("[DEBUG] MYSQL ADD_LIBRARIES : ${MYSQL_ADD_LIBRARIES}") - endforeach(LIB ${MYSQL_LIB_LIST}) - - set(MYSQL_ADD_LIBRARIES_PATH "") - string(REGEX MATCHALL "-L[^ ]*" MYSQL_LIBDIR_LIST "${MY_TMP}") - foreach(LIB ${MYSQL_LIBDIR_LIST}) - string(REGEX REPLACE "[ ]*-L([^ ]*)" "\\1" LIB "${LIB}") - list(APPEND MYSQL_ADD_LIBRARIES_PATH "${LIB}") - #message("[DEBUG] MYSQL ADD_LIBRARIES_PATH : ${MYSQL_ADD_LIBRARIES_PATH}") - endforeach(LIB ${MYSQL_LIBS}) - - else( MYSQL_CONFIG ) - set(MYSQL_ADD_LIBRARIES "") - list(APPEND MYSQL_ADD_LIBRARIES "mysqlclient_r") - endif( MYSQL_CONFIG ) -endif( UNIX ) - -find_path(MYSQL_INCLUDE_DIR - NAMES - mysql.h - PATHS - ${MYSQL_ADD_INCLUDE_PATH} + find_path(MYSQL_INCLUDE_DIR mysql.h /usr/include /usr/include/mysql /usr/local/include /usr/local/include/mysql /usr/local/mysql/include - "C:/Program Files/MySQL/MySQL Server 5.6/include" - "C:/Program Files/MySQL/MySQL Server 5.5/include" - "C:/Program Files/MySQL/MySQL Server 5.1/include" - "C:/Program Files/MySQL/MySQL Server 5.0/include" - "C:/Program Files/MySQL/include" - "C:/Program Files (x86)/MySQL/MySQL Server 5.6/include" - "C:/Program Files (x86)/MySQL/MySQL Server 5.5/include" - "C:/Program Files (x86)/MySQL/MySQL Server 5.1/include" - "C:/Program Files (x86)/MySQL/MySQL Server 5.0/include" - "C:/Program Files (x86)/MySQL/include" - "C:/MySQL/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/include" - "$ENV{ProgramFiles}/MySQL/*/include" - "$ENV{SystemDrive}/MySQL/*/include" - "c:/msys/local/include" - "$ENV{MYSQL_ROOT}/include" - DOC - "Specify the directory containing mysql.h." -) + /opt/local/include/mysql*/mysql + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.0/include" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.1/include" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.2/include" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.3/include" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.4/include" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.5/include" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.6/include" + ) -if( UNIX ) - foreach(LIB ${MYSQL_ADD_LIBRARIES}) - find_library( MYSQL_LIBRARY + if(WIN32 AND MSVC) + find_library(MYSQL_LIBRARY NAMES - mysql libmysql ${LIB} + libmysql + PATHS + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.0/lib/opt" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.1/lib/opt" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.2/lib" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.3/lib" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.4/lib" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.5/lib" + "${PROGRAM_FILES_ARCH_PATH}/MySQL/MySQL Server 5.6/lib" + ) + else(WIN32 AND MSVC) + find_library(MYSQL_LIBRARY + NAMES + mysqlclient + mysqlclient_r + mysql + libmysql PATHS - ${MYSQL_ADD_LIBRARIES_PATH} - /usr/lib /usr/lib/mysql - /usr/local/lib /usr/local/lib/mysql /usr/local/mysql/lib - DOC "Specify the location of the mysql library here." - ) - endforeach(LIB ${MYSQL_ADD_LIBRARY}) -endif( UNIX ) + /opt/local/lib/mysql*/mysql + ) + endif(WIN32 AND MSVC) -if( WIN32 ) - find_library( MYSQL_LIBRARY - NAMES - libmysql - PATHS - ${MYSQL_ADD_LIBRARIES_PATH} - "C:/Program Files/MySQL/MySQL Server 5.6/lib" - "C:/Program Files/MySQL/MySQL Server 5.6/lib/opt" - "C:/Program Files/MySQL/MySQL Server 5.5/lib" - "C:/Program Files/MySQL/MySQL Server 5.5/lib/opt" - "C:/Program Files/MySQL/MySQL Server 5.1/lib" - "C:/Program Files/MySQL/MySQL Server 5.1/lib/opt" - "C:/Program Files/MySQL/MySQL Server 5.0/lib" - "C:/Program Files/MySQL/MySQL Server 5.0/lib/opt" - "C:/Program Files/MySQL/lib" - "C:/Program Files (x86)/MySQL/MySQL Server 5.6/lib" - "C:/Program Files (x86)/MySQL/MySQL Server 5.6/lib/opt" - "C:/Program Files (x86)/MySQL/MySQL Server 5.5/lib" - "C:/Program Files (x86)/MySQL/MySQL Server 5.5/lib/opt" - "C:/Program Files (x86)/MySQL/MySQL Server 5.1/lib" - "C:/Program Files (x86)/MySQL/MySQL Server 5.1/lib/opt" - "C:/Program Files (x86)/MySQL/MySQL Server 5.0/lib" - "C:/Program Files (x86)/MySQL/MySQL Server 5.0/lib/opt" - "C:/Program Files (x86)/MySQL/lib" - "C:/MySQL/lib/debug" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/lib/opt" - "$ENV{ProgramFiles}/MySQL/*/lib/opt" - "$ENV{SystemDrive}/MySQL/*/lib/opt" - "c:/msys/local/include" - "$ENV{MYSQL_ROOT}/lib" - DOC "Specify the location of the mysql library here." - ) -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 - 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( MYSQL_LIBRARY ) - if( MYSQL_INCLUDE_DIR ) - set( MYSQL_FOUND 1 ) + if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY) + set(MYSQL_FOUND TRUE) message(STATUS "Found MySQL library: ${MYSQL_LIBRARY}") message(STATUS "Found MySQL headers: ${MYSQL_INCLUDE_DIR}") - 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 ) -else( MYSQL_LIBRARY ) - message(FATAL_ERROR "Could not find the MySQL libraries! Please install the development libraries and headers") -endif( MYSQL_LIBRARY ) \ No newline at end of file + else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY) + set(MYSQL_FOUND FALSE) + message(FATAL_ERROR "Could not find ${PLATFORM}-bit MySQL headers or libraries! Please install the development libraries and headers.") + endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY) + + mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARY) + +endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY) diff --git a/cmake/FindVisualStudio2010.cmake b/cmake/FindVisualStudio2010.cmake deleted file mode 100644 index 343403def..000000000 --- a/cmake/FindVisualStudio2010.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# This module defines -# VS_DEVENV, path to devenv.com. - -FIND_PATH(VS100_DIR devenv.com - $ENV{VS100COMNTOOLS}/../IDE - "C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE" - "C:\\Program Files\\Microsoft Visual Studio 10.0\\Common7\\IDE" - "C:\\Programme\\Microsoft Visual Studio 10.0\\Common7\\IDE" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\10.0\\Setup\\VS;EnvironmentDirectory]" -) - -SET(VS100_FOUND 0) -IF(VS100_DIR) - SET(VS100_FOUND 1) - MESSAGE(STATUS "Found Visual Studion 2010") -ENDIF(VS100_DIR) - -MARK_AS_ADVANCED( - VS100_DIR -) diff --git a/cmake/SetDefinitions.cmake b/cmake/SetDefinitions.cmake index 80fa18c9c..a1602aa32 100644 --- a/cmake/SetDefinitions.cmake +++ b/cmake/SetDefinitions.cmake @@ -146,8 +146,6 @@ elseif(UNIX) # -Wno-narrowing needed to suppress a warning in g3d # -Wno-deprecated-register is needed to suppress 185 gsoap warnings on Unix systems. - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-narrowing -Wno-deprecated-register") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-narrowing -Wno-deprecated-register -Wno-ignored-attributes -Wno-deprecated-declarations") endif() -elseif(FreeBSD) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") endif() \ No newline at end of file