EnzzoCaaue

cmakelist

Oct 22nd, 2016
22,607
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. cmake_minimum_required(VERSION 2.8)
  2.  
  3. set(CMAKE_DISABLE_SOURCE_CHANGES ON)
  4. set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
  5.  
  6. project(tfs)
  7.  
  8. set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
  9.  
  10. include(cotire)
  11.  
  12. # Initialize CXXFLAGS.
  13. set(CMAKE_CXX_FLAGS "-Wall -Werror -pipe")
  14. set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
  15. set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
  16. set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG")
  17. set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
  18.  
  19. if (CMAKE_COMPILER_IS_GNUCXX)
  20. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
  21. endif()
  22.  
  23. include(FindCXX11)
  24.  
  25. # Find packages.
  26. find_package(GMP REQUIRED)
  27. find_package(PugiXML REQUIRED)
  28. find_package(LuaJIT)
  29. find_package(MySQL)
  30. find_package(Threads)
  31.  
  32. option(USE_LUAJIT "Use LuaJIT" ${LUAJIT_FOUND})
  33.  
  34. if(USE_LUAJIT)
  35. find_package(LuaJIT REQUIRED)
  36. if(APPLE)
  37. set(CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000")
  38. endif()
  39. else()
  40. find_package(Lua)
  41. endif()
  42.  
  43. find_package(Boost 1.53.0 COMPONENTS system REQUIRED)
  44.  
  45. include(src/CMakeLists.txt)
  46. add_executable(tfs ${tfs_SRC})
  47.  
  48. include_directories(${MYSQL_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${PUGIXML_INCLUDE_DIR} ${GMP_INCLUDE_DIR})
  49. target_link_libraries(tfs ${MYSQL_CLIENT_LIBS} ${LUA_LIBRARIES} ${Boost_LIBRARIES} ${PUGIXML_LIBRARIES} ${GMP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
  50.  
  51. set_target_properties(tfs PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "src/otpch.h")
  52. set_target_properties(tfs PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
  53. cotire(tfs)
Advertisement
Add Comment
Please, Sign In to add comment