Advertisement
Guest User

Untitled

a guest
May 27th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. # Copyright (C) 2007 <SWGEmu>. All rights reserved.
  2. # Distribution of this file for usage outside of Core3 is prohibited.
  3.  
  4. cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
  5.  
  6. project(core3 CXX C)
  7.  
  8. # Set cmake paths
  9. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
  10.  
  11. # Set cpp requirements
  12. set(CMAKE_CXX_STANDARD 11)
  13. set(CMAKE_CXX_STANDARD_REQUIRED True)
  14.  
  15. # Set up options
  16. option(BUILD_IDL "Generate idl c++ sources with cmake" ON) # Enabled by default
  17. option(IDL_NOPRELOCKS "Disables all prelock annotations" OFF) # Disabled by default
  18. option(ENABLE_CCACHE "Enables ccache search and usage" OFF) # Disabled by default
  19. option(RUN_GIT "Runs git log to dump last commit messages into rev.txt" OFF) # Disabled by default
  20. option(COMPILE_TESTS "Enables mock generation in idlc and test compiling" ON) # Enabled by default
  21. option(LOGIN_SERVER_EXTRA_PORTS "Enables login server with extra ports config" OFF) # Disabled by default
  22.  
  23. # Add lua includes and libraries
  24. find_package(Lua "5.3" REQUIRED)
  25. include_directories(${LUA_INCLUDE_DIR})
  26.  
  27. # Find mysql includes and libraries
  28. find_package(MySql REQUIRED)
  29. #include_directories(${MYSQL_INCLUDE_DIR}) already included in find
  30.  
  31. # Find berkeley includes and libraries
  32. find_package(Berkeley REQUIRED)
  33. include_directories(${DB_INCLUDE_DIR})
  34.  
  35. find_package(Java 1.5 COMPONENTS Runtime REQUIRED )
  36.  
  37. # Find engine3 includes and libraries
  38. find_package(Engine3 REQUIRED)
  39. include_directories(${ENGINE3_INCLUDE_DIR})
  40.  
  41. find_package(OpenSSL REQUIRED)
  42. include_directories(${OPENSSL_INCLUDE_DIR})
  43.  
  44. find_package(ZLIB REQUIRED)
  45. include_directories(${ZLIB_INCLUDE_DIRS})
  46.  
  47. # Find and set -pthreads
  48. set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
  49. set(THREADS_PREFER_PTHREAD_FLAG TRUE)
  50. find_package(Threads REQUIRED)
  51.  
  52. set(Boost_USE_STATIC_LIBS OFF)
  53. set(Boost_USE_MULTITHREADED ON)
  54. set(Boost_USE_STATIC_RUNTIME OFF)
  55.  
  56. find_package(Boost QUIET OPTIONAL_COMPONENTS thread)
  57.  
  58. if(Boost_FOUND)
  59. include_directories(${Boost_INCLUDE_DIRS})
  60. endif()
  61.  
  62. find_package(Git QUIET)
  63.  
  64. if(ENABLE_CCACHE)
  65. find_program(CCACHE_FOUND ccache)
  66.  
  67. if(CCACHE_FOUND)
  68. set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
  69. set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
  70. endif(CCACHE_FOUND)
  71. endif(ENABLE_CCACHE)
  72.  
  73. if(IDL_NOPRELOCKS)
  74. set(IDL_DIRECTIVES ${IDL_DIRECTIVES} -noprelocks)
  75. endif(IDL_NOPRELOCKS)
  76.  
  77. # Include googlemock and googletest
  78. if(COMPILE_TESTS)
  79. add_subdirectory(utils/googletest-release-1.8.0/googlemock)
  80.  
  81. include_directories(${CMAKE_SOURCE_DIR}/utils/googletest-release-1.8.0/googletest/include)
  82. include_directories(${CMAKE_SOURCE_DIR}/utils/googletest-release-1.8.0/googlemock/include)
  83.  
  84. add_definitions(-DCOMPILE_CORE3_TESTS)
  85. else(COMPILE_TESTS)
  86. set(IDL_DIRECTIVES ${IDL_DIRECTIVES} -nomocks)
  87. endif(COMPILE_TESTS)
  88.  
  89. if (LOGIN_SERVER_EXTRA_PORTS)
  90. add_definitions(-DUSE_RANDOM_EXTRA_PORTS)
  91. endif(LOGIN_SERVER_EXTRA_PORTS)
  92.  
  93. include_directories(${CMAKE_SOURCE_DIR}/src)
  94. include_directories(${CMAKE_SOURCE_DIR}/src/autogen)
  95. include_directories(${CMAKE_SOURCE_DIR}/utils)
  96.  
  97. if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3.0)
  98. set(GCCEXTRAFLAGS "-Wall -Wextra -Wno-unused -Wno-sign-compare -Wno-multichar -Wno-unused-parameter -Wno-overloaded-virtual -Wno-missing-declarations -Werror -ggdb")
  99. else()
  100. set(GCCEXTRAFLAGS "-Wall -Wextra -Wno-unused -Wno-sign-compare -Wno-multichar -Wno-unused-parameter -Wno-overloaded-virtual -Wno-missing-declarations -Wno-implicit-fallthrough -Werror -ggdb")
  101. endif()
  102.  
  103.  
  104. add_definitions(-DDEFAULT_DYNAMIC_CAST)
  105.  
  106. add_subdirectory(src)
  107. add_subdirectory(src/conf)
  108. add_subdirectory(src/terrain)
  109. add_subdirectory(src/templates)
  110. add_subdirectory(src/pathfinding)
  111. add_subdirectory(src/server/db)
  112. add_subdirectory(src/server/status)
  113. add_subdirectory(src/server/web)
  114. add_subdirectory(src/server/ping)
  115. add_subdirectory(src/server/login)
  116. add_subdirectory(src/server/chat)
  117. add_subdirectory(src/client)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement