CMakeLists.txt 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. set(CMAKE_AUTOMOC ON)
  2. set(CMAKE_AUTORCC ON)
  3. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  4. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
  5. set(SRCS
  6. configuration/config.cpp
  7. configuration/configure_debug.cpp
  8. configuration/configure_dialog.cpp
  9. configuration/configure_general.cpp
  10. configuration/configure_graphics.cpp
  11. configuration/configure_input.cpp
  12. configuration/configure_system.cpp
  13. debugger/profiler.cpp
  14. debugger/registers.cpp
  15. debugger/wait_tree.cpp
  16. util/spinbox.cpp
  17. util/util.cpp
  18. bootmanager.cpp
  19. game_list.cpp
  20. hotkeys.cpp
  21. main.cpp
  22. ui_settings.cpp
  23. yuzu.rc
  24. Info.plist
  25. )
  26. set(HEADERS
  27. configuration/config.h
  28. configuration/configure_debug.h
  29. configuration/configure_dialog.h
  30. configuration/configure_general.h
  31. configuration/configure_graphics.h
  32. configuration/configure_input.h
  33. configuration/configure_system.h
  34. debugger/profiler.h
  35. debugger/registers.h
  36. debugger/wait_tree.h
  37. util/spinbox.h
  38. util/util.h
  39. bootmanager.h
  40. game_list.h
  41. game_list_p.h
  42. hotkeys.h
  43. main.h
  44. ui_settings.h
  45. )
  46. set(UIS
  47. configuration/configure.ui
  48. configuration/configure_debug.ui
  49. configuration/configure_general.ui
  50. configuration/configure_graphics.ui
  51. configuration/configure_input.ui
  52. configuration/configure_system.ui
  53. debugger/registers.ui
  54. hotkeys.ui
  55. main.ui
  56. )
  57. # file(GLOB_RECURSE ICONS ${CMAKE_SOURCE_DIR}/dist/icons/*)
  58. file(GLOB_RECURSE THEMES ${CMAKE_SOURCE_DIR}/dist/qt_themes/*)
  59. create_directory_groups(${SRCS} ${HEADERS} ${UIS})
  60. if (Qt5_FOUND)
  61. qt5_wrap_ui(UI_HDRS ${UIS})
  62. else()
  63. qt4_wrap_ui(UI_HDRS ${UIS})
  64. endif()
  65. if (APPLE)
  66. set(MACOSX_ICON "../../dist/citra.icns")
  67. set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
  68. add_executable(yuzu MACOSX_BUNDLE ${SRCS} ${HEADERS} ${UI_HDRS} ${MACOSX_ICON})
  69. set_target_properties(yuzu PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
  70. else()
  71. add_executable(yuzu ${SRCS} ${HEADERS} ${UI_HDRS})
  72. endif()
  73. target_link_libraries(yuzu PRIVATE common core input_common video_core)
  74. target_link_libraries(yuzu PRIVATE Boost::boost glad Qt5::OpenGL Qt5::Widgets)
  75. target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
  76. if(UNIX AND NOT APPLE)
  77. install(TARGETS yuzu RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
  78. endif()
  79. if (MSVC)
  80. include(CopyCitraQt5Deps)
  81. include(CopyCitraSDLDeps)
  82. include(CopyYuzuUnicornDeps)
  83. copy_citra_Qt5_deps(yuzu)
  84. copy_citra_SDL_deps(yuzu)
  85. copy_yuzu_unicorn_deps(yuzu)
  86. endif()