Dependencies.txt 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. Camelot relies on the following 3rd party libraries:
  2. - Boost 1.49
  3. - http://www.boost.org
  4. - Cg 3.1
  5. - http://developer.nvidia.com/cg-toolkit
  6. Place dependency files in:
  7. - Library include files in (CamelotRootDir)/Dependencies/Include
  8. - Static library files in (CamelotRootDir)/Dependencies/lib/(Platform)/(Configuration)
  9. - Dynamic library files in (CamelotRootDir)/bin/(Platform)/(Configuration)
  10. ----------------------------------------------------------------------------------
  11. Camelot plug-in dependencies:
  12. CamelotFBXImporter (optional) relies on:
  13. - FBX SDK 2013.3
  14. - http://usa.autodesk.com/fbx
  15. CamelotFreeImgImporter (optional) relies on:
  16. - FreeImage 3.13.1
  17. - http://freeimage.sourceforge.net
  18. CamelotFontImporter (optional) relies on:
  19. - Freetype 2.3.5
  20. - http://www.freetype.org
  21. - IMPORTANT NOTE: When compiling as static library make sure to define "FREETYPE2_STATIC". It is not defined by default
  22. in provided Visual Studio projects, which can cause a headache.
  23. Place plug-in specific dependency files in:
  24. - Library include files in (CamelotRootDir)/(PluginDir)/Dependencies/Include
  25. - Static library files in (CamelotRootDir)/(PluginDir)/Dependencies/lib/(Platform)/(Configuration)
  26. - Dynamic library files in (CamelotRootDir)/bin/(Platform)/(Configuration)
  27. ----------------------------------------------------------------------------------
  28. Camelot editor dependencies:
  29. - Qt Toolkit
  30. - http://qt-project.org/downloads
  31. Qt setup instructions:
  32. 1. Make sure to install Qt 5.0.1 (earlier or later versions might possibly work fine)
  33. 2. Set up CamelotEditor project so it is pre-processed by Qt MOC before compilation. Each header with CmQt* prefix needs to be preproceesed
  34. by MOC, and its files output in GeneratedFiles folder.
  35. 2. Add Qt include files to CamelotEditor/Dependencies/Include
  36. 3. Add Qt libraries to CamelotEditor/Dependencies/lib/Debug, CamelotEditor/Dependencies/lib/Release, CamelotEditor/Dependencies/lib/x64/Debug and CamelotEditor/Dependencies/lib/x64/Release
  37. - You may download pre-compiled 32bit versions of the libraries for some compilers from the Qt web
  38. - For other cases you will need to compile them yourself
  39. 4. Add dynamic Qt libraries in (CamelotRootDir)/bin/(Platform)/(Configuration)
  40. 5. Only some Qt libraries are used, so you don't need to add them all. We use:
  41. - Qt5Core
  42. - Qt5Gui
  43. - Qt5Widgets
  44. 6. Add Qt platform plugins:
  45. - copy qtbase/plugins/platform/ contents from compiled Qt binaries to (CamelotRootDir)/bin/(Platform)/(Configuration)/qtplugins/platform/
  46. - this folder contains platform-specific libraries (e.g. qwindows.dll for Windows)
  47. - Create conf.qt file in (CamelotRootDir)/bin/(Platform)/(Configuration) containing:
  48. [Paths]
  49. Plugins = qtplugins
  50. - This tells Qt where the plugins are located (i.e. in the "plugins" subfolder of the current folder)
  51. Compiling Qt using MSVC2012 compiler:
  52. - At the moment there are no provided precompiled libraries for 2012 version of MSVC so
  53. you will need to compile them yourself. Qt also doesn't officially provide 64bit
  54. versions of their libraries, so this short guide will cover that as well.
  55. 1. Get Qt 5.0.1. source from http://qt-project.org/downloads
  56. 2. Extract source to qt-everywhere-opensource-src-5.0.1
  57. 3. Install:
  58. - ActivePerl 5.16.1.1601 (for x64): http://www.activestate.com/activeperl/downloads
  59. - Python 2.7.3 (for x64): http://www.python.org/download/
  60. 4. To compile run Visual Studio 2012 Native Tools Command Prompt
  61. (x64 or x86 version, depending which platform you want to compile for)
  62. 5. Go to qt-everywhere-opensource-src-5.0.1 in the command prompt
  63. 6. Run: configure -prefix %CD%\qtbase -opensource -nomake tests -nomake examples -opengl desktop -debug-and-release -platform win32-msvc2012
  64. 7. Run: nmake
  65. OR
  66. 8. Download and run jom. jom is faster than nmake because it will use multiple CPU cores
  67. - Download jom from: http://qt-project.org/wiki/jom
  68. - Place it in qt-everywhere-opensource-src-5.0.1 dir
  69. - Run: jom -j N
  70. - (N is the number of cores you want to use)
  71. 9. Wait some time (About 10 minutes on my PC, but I've seen people report waiting for hours)
  72. MOC preproces:
  73. 1. Each header starting with CmQt* (or, more generally, each file containing Q_OBJECT) needs to be
  74. preprocessed by MOC, and MOC output needs to be compiled with the project
  75. 2. Example command line for preprocessing a single file:
  76. "$(QTDIR)\bin\moc.exe" ".\Include\CmQtEditor.h" -o ".\GeneratedFiles\moc_CmQtEditor.cpp"
  77. -DUNICODE -DWIN32 -DQT_NO_KEYWORDS -DQT_LARGEFILE_SUPPORT -DQT_DLL "-I.\GeneratedFiles" "-I.\Include" "-I.\Dependencies\Include"
  78. "-I.\..\CamelotRenderer\Include" "-I.\..\CamelotUtility\Include" "-I.\..\Dependencies\Include"
  79. 3. (Optional step) With Visual Studio you can set up a custom build set so this is done automatically
  80. 4. (Optional step) Qt also provides a Visual Studio Add-In that handles MOC for your, although it is currently very buggy with VS2012 so I do not use it.
  81. ----------------------------------------------------------------------------------
  82. Legend:
  83. (CamelotRootDir) - Path to CamelotEngine folder
  84. (Platform) - Platform you're compiling for, e.g. Win32, x64, etc.
  85. - In some cases 32bit platforms don't reside in their own platform folder, in which case ignore this field
  86. (Configuration) - Debug, Release, etc.
  87. Other notes:
  88. - If possible all dependencies should be compiled without unicode or multi-character support, in case you experience any issues when passing strings between
  89. module boundaries.
  90. Listed dependencies have not been provided with the engine source code.
  91. You will need to grab them manually from the specified links,
  92. (compile them, depending if library comes pre-compiled or not),
  93. and place them in the above specified folders.