CMakeLists.txt 2.2 KB

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