CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. project(vcmi)
  2. cmake_minimum_required(VERSION 2.6)
  3. #needed?
  4. INCLUDE(CheckLibraryExists)
  5. # where to look for cmake modules
  6. set(CMAKE_MODULE_PATH ${CMAKE_HOME_DIRECTORY}/cmake_modules)
  7. # enable Release mode but only if it was not set
  8. if (NOT CMAKE_BUILD_TYPE)
  9. set(CMAKE_BUILD_TYPE Release)
  10. endif()
  11. find_package(Boost 1.46.0 COMPONENTS program_options filesystem system thread iostreams REQUIRED)
  12. find_package(SDL REQUIRED)
  13. find_package(SDL_image REQUIRED)
  14. find_package(SDL_mixer REQUIRED)
  15. find_package(SDL_ttf REQUIRED)
  16. find_package(ZLIB REQUIRED)
  17. find_package(FFMPEG_swscale REQUIRED)
  18. #check if some platform-specific libraries are needed for linking client and server
  19. CHECK_LIBRARY_EXISTS(rt shm_open "" HAVE_RT_LIB)
  20. if(HAVE_RT_LIB)
  21. set(RT_LIB -lrt)
  22. endif()
  23. CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_DL_LIB)
  24. if(HAVE_DL_LIB)
  25. set(DL_LIB -ldl)
  26. endif()
  27. if(CMAKE_CXX_COMPILER MATCHES ".*clang")
  28. set(CMAKE_COMPILER_IS_CLANGXX ON)
  29. endif()
  30. if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
  31. set(CMAKE_CXX_FLAGS "-std=c++0x -Wall -Wextra -Wpointer-arith -Wno-switch -Wno-sign-compare -Wno-unused-parameter -Wno-overloaded-virtual")
  32. endif()
  33. #define required constants
  34. add_definitions(-DM_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/vcmi")
  35. add_definitions(-DM_BIN_DIR="${CMAKE_INSTALL_PREFIX}/bin")
  36. add_definitions(-DM_LIB_DIR="${CMAKE_INSTALL_PREFIX}/lib/vcmi")
  37. add_subdirectory(lib)
  38. add_subdirectory(client)
  39. add_subdirectory(server)
  40. add_subdirectory(AI)
  41. if (NOT DISABLE_ERM)
  42. add_subdirectory(Scripting/ERM)
  43. endif()