summaryrefslogtreecommitdiff
path: root/src/yuzu/CMakeLists.txt
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-01-17 19:37:34 -0500
committerLioncash <mathew1800@gmail.com>2018-01-17 21:51:43 -0500
commite710a1b9894d835d740ed63c03098fd637f61f63 (patch)
tree7585a15cdf38ea2913a847c738c84e769e43ea77 /src/yuzu/CMakeLists.txt
parentee08c39b7251c6a037014b503ecf70ebf8dc5ed5 (diff)
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.
Diffstat (limited to 'src/yuzu/CMakeLists.txt')
-rw-r--r--src/yuzu/CMakeLists.txt125
1 files changed, 65 insertions, 60 deletions
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
index f5c46f1e9..0c4056c49 100644
--- a/src/yuzu/CMakeLists.txt
+++ b/src/yuzu/CMakeLists.txt
@@ -3,79 +3,84 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
-set(SRCS
- about_dialog.cpp
- configuration/config.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
- debugger/profiler.cpp
- debugger/registers.cpp
- debugger/wait_tree.cpp
- util/spinbox.cpp
- util/util.cpp
- bootmanager.cpp
- game_list.cpp
- hotkeys.cpp
- main.cpp
- ui_settings.cpp
- yuzu.rc
- Info.plist
- )
-
-set(HEADERS
- about_dialog.h
- configuration/config.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
- debugger/profiler.h
- debugger/registers.h
- debugger/wait_tree.h
- util/spinbox.h
- util/util.h
- bootmanager.h
- game_list.h
- game_list_p.h
- hotkeys.h
- main.h
- ui_settings.h
- )
+add_executable(yuzu
+ Info.plist
+ about_dialog.cpp
+ about_dialog.h
+ bootmanager.cpp
+ bootmanager.h
+ configuration/config.cpp
+ configuration/config.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
+ 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
+ util/spinbox.cpp
+ util/spinbox.h
+ util/util.cpp
+ util/util.h
+ yuzu.rc
+)
set(UIS
- aboutdialog.ui
- configuration/configure.ui
- configuration/configure_debug.ui
- configuration/configure_general.ui
- configuration/configure_graphics.ui
- configuration/configure_input.ui
- configuration/configure_system.ui
- debugger/registers.ui
- hotkeys.ui
- main.ui
- )
+ aboutdialog.ui
+ configuration/configure.ui
+ configuration/configure_debug.ui
+ configuration/configure_general.ui
+ configuration/configure_graphics.ui
+ configuration/configure_input.ui
+ configuration/configure_system.ui
+ debugger/registers.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})
-
qt5_wrap_ui(UI_HDRS ${UIS})
+target_sources(yuzu
+ PRIVATE
+ ${ICONS}
+ ${THEMES}
+ ${UI_HDRS}
+ ${UIS}
+)
+
if (APPLE)
set(MACOSX_ICON "../../dist/yuzu.icns")
set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
- add_executable(yuzu MACOSX_BUNDLE ${SRCS} ${HEADERS} ${UI_HDRS} ${MACOSX_ICON} ${ICONS})
+ target_sources(yuzu PRIVATE ${MACOSX_ICON})
+ set_target_properties(yuzu PROPERTIES MACOSX_BUNDLE TRUE)
set_target_properties(yuzu PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
-else()
- add_executable(yuzu ${SRCS} ${HEADERS} ${UI_HDRS} ${ICONS})
endif()
+
+create_target_directory_groups(yuzu)
+
target_link_libraries(yuzu PRIVATE common core input_common video_core)
target_link_libraries(yuzu PRIVATE Boost::boost glad Qt5::OpenGL Qt5::Widgets)
target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)