CMakeLists.txt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. project(vcmilauncher)
  2. cmake_minimum_required(VERSION 2.8.7)
  3. include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_CURRENT_SOURCE_DIR})
  4. include_directories(${ZLIB_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS})
  5. include_directories(${SDL_INCLUDE_DIR})
  6. set(launcher_modmanager_SRCS
  7. modManager/cdownloadmanager_moc.cpp
  8. modManager/cmodlist.cpp
  9. modManager/cmodlistmodel_moc.cpp
  10. modManager/cmodlistview_moc.cpp
  11. modManager/cmodmanager.cpp
  12. modManager/imageviewer_moc.cpp
  13. )
  14. set(launcher_modmanager_HEADERS
  15. modManager/cdownloadmanager_moc.h
  16. modManager/cmodlist.h
  17. modManager/cmodlistmodel_moc.h
  18. modManager/cmodlistview_moc.h
  19. modManager/cmodmanager.h
  20. modManager/imageviewer_moc.h
  21. )
  22. set(launcher_settingsview_SRCS
  23. settingsView/csettingsview_moc.cpp
  24. )
  25. set(launcher_settingsview_HEADERS
  26. settingsView/csettingsview_moc.h
  27. )
  28. set(launcher_SRCS
  29. StdInc.cpp
  30. ${launcher_modmanager_SRCS}
  31. ${launcher_settingsview_SRCS}
  32. main.cpp
  33. mainwindow_moc.cpp
  34. launcherdirs.cpp
  35. jsonutils.cpp
  36. sdldisplayquery.cpp
  37. )
  38. set(launcher_HEADERS
  39. StdInc.h
  40. ${launcher_modmanager_HEADERS}
  41. ${launcher_settingsview_HEADERS}
  42. mainwindow_moc.h
  43. launcherdirs.h
  44. jsonutils.h
  45. sdldisplayquery.h
  46. )
  47. set(launcher_FORMS
  48. modManager/cmodlistview_moc.ui
  49. modManager/imageviewer_moc.ui
  50. settingsView/csettingsview_moc.ui
  51. mainwindow_moc.ui
  52. )
  53. # Tell CMake to run moc when necessary:
  54. set(CMAKE_AUTOMOC ON)
  55. # As moc files are generated in the binary dir, tell CMake
  56. # to always look for includes there:
  57. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  58. # We need add -DQT_WIDGETS_LIB when using QtWidgets in Qt 5.
  59. add_definitions(${Qt5Widgets_DEFINITIONS})
  60. add_definitions(${Qt5Network_DEFINITIONS})
  61. # Executables fail to build with Qt 5 in the default configuration
  62. # without -fPIE. We add that here.
  63. set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} ${CMAKE_CXX_FLAGS}")
  64. qt5_wrap_ui(launcher_UI_HEADERS ${launcher_FORMS})
  65. if(WIN32)
  66. add_executable(vcmilauncher WIN32 ${launcher_SRCS} ${launcher_HEADERS} ${launcher_UI_HEADERS} VCMI_launcher.rc)
  67. set_target_properties(vcmilauncher PROPERTIES OUTPUT_NAME VCMI_launcher)
  68. else()
  69. add_executable(vcmilauncher ${launcher_SRCS} ${launcher_HEADERS} ${launcher_UI_HEADERS})
  70. endif()
  71. if(MSVC)
  72. # Fix _WinMain@16 linking error
  73. target_link_libraries(vcmilauncher vcmi ${Qt5Core_QTMAIN_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${SDL_LIBRARY})
  74. else()
  75. # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
  76. target_link_libraries(vcmilauncher vcmi ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${SDL_LIBRARY})
  77. endif()
  78. vcmi_set_output_dir(vcmilauncher "")
  79. # temporary(?) disabled - generation of PCH takes too much time since cotire is trying to collect all Qt headers
  80. #set_target_properties(vcmilauncher PROPERTIES ${PCH_PROPERTIES})
  81. #cotire(vcmilauncher)
  82. if (NOT APPLE) # Already inside bundle
  83. install(TARGETS vcmilauncher DESTINATION ${BIN_DIR})
  84. # copy whole directory but .svn control files
  85. install(DIRECTORY icons DESTINATION ${DATA_DIR}/launcher PATTERN ".svn" EXCLUDE)
  86. endif()