CMakeLists: Derive the source directory grouping from targets themselves
Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
This commit is contained in:
parent
9699194b54
commit
ab021d163e
14 changed files with 735 additions and 767 deletions
|
@ -3,107 +3,112 @@ set(CMAKE_AUTORCC ON)
|
|||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
|
||||
|
||||
set(SRCS
|
||||
configuration/config.cpp
|
||||
configuration/configure_audio.cpp
|
||||
configuration/configure_debug.cpp
|
||||
configuration/configure_dialog.cpp
|
||||
configuration/configure_general.cpp
|
||||
configuration/configure_graphics.cpp
|
||||
configuration/configure_input.cpp
|
||||
configuration/configure_system.cpp
|
||||
configuration/configure_web.cpp
|
||||
debugger/graphics/graphics.cpp
|
||||
debugger/graphics/graphics_breakpoint_observer.cpp
|
||||
debugger/graphics/graphics_breakpoints.cpp
|
||||
debugger/graphics/graphics_cmdlists.cpp
|
||||
debugger/graphics/graphics_surface.cpp
|
||||
debugger/graphics/graphics_tracing.cpp
|
||||
debugger/graphics/graphics_vertex_shader.cpp
|
||||
debugger/profiler.cpp
|
||||
debugger/registers.cpp
|
||||
debugger/wait_tree.cpp
|
||||
updater/updater.cpp
|
||||
util/spinbox.cpp
|
||||
util/util.cpp
|
||||
aboutdialog.cpp
|
||||
bootmanager.cpp
|
||||
game_list.cpp
|
||||
hotkeys.cpp
|
||||
main.cpp
|
||||
ui_settings.cpp
|
||||
citra-qt.rc
|
||||
Info.plist
|
||||
)
|
||||
|
||||
set(HEADERS
|
||||
configuration/config.h
|
||||
configuration/configure_audio.h
|
||||
configuration/configure_debug.h
|
||||
configuration/configure_dialog.h
|
||||
configuration/configure_general.h
|
||||
configuration/configure_graphics.h
|
||||
configuration/configure_input.h
|
||||
configuration/configure_system.h
|
||||
configuration/configure_web.h
|
||||
debugger/graphics/graphics.h
|
||||
debugger/graphics/graphics_breakpoint_observer.h
|
||||
debugger/graphics/graphics_breakpoints.h
|
||||
debugger/graphics/graphics_breakpoints_p.h
|
||||
debugger/graphics/graphics_cmdlists.h
|
||||
debugger/graphics/graphics_surface.h
|
||||
debugger/graphics/graphics_tracing.h
|
||||
debugger/graphics/graphics_vertex_shader.h
|
||||
debugger/profiler.h
|
||||
debugger/registers.h
|
||||
debugger/wait_tree.h
|
||||
updater/updater.h
|
||||
updater/updater_p.h
|
||||
util/spinbox.h
|
||||
util/util.h
|
||||
aboutdialog.h
|
||||
bootmanager.h
|
||||
game_list.h
|
||||
game_list_p.h
|
||||
hotkeys.h
|
||||
main.h
|
||||
ui_settings.h
|
||||
)
|
||||
add_executable(citra-qt
|
||||
Info.plist
|
||||
aboutdialog.cpp
|
||||
aboutdialog.h
|
||||
bootmanager.cpp
|
||||
bootmanager.h
|
||||
citra-qt.rc
|
||||
configuration/config.cpp
|
||||
configuration/config.h
|
||||
configuration/configure_audio.cpp
|
||||
configuration/configure_audio.h
|
||||
configuration/configure_debug.cpp
|
||||
configuration/configure_debug.h
|
||||
configuration/configure_dialog.cpp
|
||||
configuration/configure_dialog.h
|
||||
configuration/configure_general.cpp
|
||||
configuration/configure_general.h
|
||||
configuration/configure_graphics.cpp
|
||||
configuration/configure_graphics.h
|
||||
configuration/configure_input.cpp
|
||||
configuration/configure_input.h
|
||||
configuration/configure_system.cpp
|
||||
configuration/configure_system.h
|
||||
configuration/configure_web.cpp
|
||||
configuration/configure_web.h
|
||||
debugger/graphics/graphics.cpp
|
||||
debugger/graphics/graphics.h
|
||||
debugger/graphics/graphics_breakpoint_observer.cpp
|
||||
debugger/graphics/graphics_breakpoint_observer.h
|
||||
debugger/graphics/graphics_breakpoints.cpp
|
||||
debugger/graphics/graphics_breakpoints.h
|
||||
debugger/graphics/graphics_breakpoints_p.h
|
||||
debugger/graphics/graphics_cmdlists.cpp
|
||||
debugger/graphics/graphics_cmdlists.h
|
||||
debugger/graphics/graphics_surface.cpp
|
||||
debugger/graphics/graphics_surface.h
|
||||
debugger/graphics/graphics_tracing.cpp
|
||||
debugger/graphics/graphics_tracing.h
|
||||
debugger/graphics/graphics_vertex_shader.cpp
|
||||
debugger/graphics/graphics_vertex_shader.h
|
||||
debugger/profiler.cpp
|
||||
debugger/profiler.h
|
||||
debugger/registers.cpp
|
||||
debugger/registers.h
|
||||
debugger/wait_tree.cpp
|
||||
debugger/wait_tree.h
|
||||
game_list.cpp
|
||||
game_list.h
|
||||
game_list_p.h
|
||||
hotkeys.cpp
|
||||
hotkeys.h
|
||||
main.cpp
|
||||
main.h
|
||||
ui_settings.cpp
|
||||
ui_settings.h
|
||||
updater/updater.cpp
|
||||
updater/updater.h
|
||||
updater/updater_p.h
|
||||
util/spinbox.cpp
|
||||
util/spinbox.h
|
||||
util/util.cpp
|
||||
util/util.h
|
||||
)
|
||||
|
||||
set(UIS
|
||||
configuration/configure.ui
|
||||
configuration/configure_audio.ui
|
||||
configuration/configure_debug.ui
|
||||
configuration/configure_general.ui
|
||||
configuration/configure_graphics.ui
|
||||
configuration/configure_input.ui
|
||||
configuration/configure_system.ui
|
||||
configuration/configure_web.ui
|
||||
debugger/registers.ui
|
||||
aboutdialog.ui
|
||||
hotkeys.ui
|
||||
main.ui
|
||||
)
|
||||
configuration/configure.ui
|
||||
configuration/configure_audio.ui
|
||||
configuration/configure_debug.ui
|
||||
configuration/configure_general.ui
|
||||
configuration/configure_graphics.ui
|
||||
configuration/configure_input.ui
|
||||
configuration/configure_system.ui
|
||||
configuration/configure_web.ui
|
||||
debugger/registers.ui
|
||||
aboutdialog.ui
|
||||
hotkeys.ui
|
||||
main.ui
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE ICONS ${CMAKE_SOURCE_DIR}/dist/icons/*)
|
||||
file(GLOB_RECURSE THEMES ${CMAKE_SOURCE_DIR}/dist/qt_themes/*)
|
||||
|
||||
create_directory_groups(${SRCS} ${HEADERS} ${UIS})
|
||||
|
||||
if (Qt5_FOUND)
|
||||
qt5_wrap_ui(UI_HDRS ${UIS})
|
||||
else()
|
||||
qt4_wrap_ui(UI_HDRS ${UIS})
|
||||
endif()
|
||||
|
||||
target_sources(citra-qt
|
||||
PRIVATE
|
||||
${ICONS}
|
||||
${THEMES}
|
||||
${UI_HDRS}
|
||||
${UIS}
|
||||
)
|
||||
|
||||
if (APPLE)
|
||||
set(MACOSX_ICON "../../dist/citra.icns")
|
||||
set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||
add_executable(citra-qt MACOSX_BUNDLE ${SRCS} ${HEADERS} ${UI_HDRS} ${ICONS} ${THEMES} ${MACOSX_ICON})
|
||||
target_sources(citra-qt PRIVATE ${MACOSX_ICON})
|
||||
set_target_properties(citra-qt PROPERTIES MACOSX_BUNDLE TRUE)
|
||||
set_target_properties(citra-qt PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
||||
else()
|
||||
add_executable(citra-qt ${SRCS} ${HEADERS} ${UI_HDRS} ${ICONS} ${THEMES})
|
||||
endif()
|
||||
|
||||
create_target_directory_groups(citra-qt)
|
||||
|
||||
target_link_libraries(citra-qt PRIVATE audio_core common core input_common network video_core)
|
||||
target_link_libraries(citra-qt PRIVATE Boost::boost glad nihstro-headers Qt5::OpenGL Qt5::Widgets)
|
||||
target_link_libraries(citra-qt PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue