Duckstation/src/duckstation-qt/CMakeLists.txt

108 lines
3.4 KiB
CMake
Raw Normal View History

2019-12-31 06:17:17 +00:00
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
2020-07-28 09:16:12 +00:00
set(SRCS
2020-06-24 15:31:23 +00:00
resources/resources.qrc
2020-06-11 04:36:48 +00:00
aboutdialog.cpp
aboutdialog.h
2020-04-30 14:59:31 +00:00
advancedsettingswidget.cpp
advancedsettingswidget.h
advancedsettingswidget.ui
2020-01-24 04:51:13 +00:00
audiosettingswidget.cpp
audiosettingswidget.h
audiosettingswidget.ui
2020-08-06 12:08:22 +00:00
autoupdaterdialog.cpp
autoupdaterdialog.h
autoupdaterdialog.ui
2019-12-31 06:17:17 +00:00
consolesettingswidget.cpp
consolesettingswidget.h
consolesettingswidget.ui
controllersettingswidget.cpp
controllersettingswidget.h
gamelistmodel.cpp
gamelistmodel.h
gamelistsearchdirectoriesmodel.cpp
gamelistsearchdirectoriesmodel.h
2019-12-31 06:17:17 +00:00
gamelistsettingswidget.cpp
gamelistsettingswidget.h
gamelistsettingswidget.ui
gamelistwidget.cpp
gamelistwidget.h
2020-05-16 10:02:44 +00:00
gamepropertiesdialog.cpp
gamepropertiesdialog.h
gamepropertiesdialog.ui
generalsettingswidget.cpp
generalsettingswidget.h
generalsettingswidget.ui
2020-01-10 03:31:12 +00:00
gpusettingswidget.cpp
gpusettingswidget.h
gpusettingswidget.ui
2020-01-05 02:46:03 +00:00
hotkeysettingswidget.cpp
hotkeysettingswidget.h
inputbindingdialog.cpp
inputbindingdialog.h
inputbindingdialog.ui
2020-01-05 02:46:03 +00:00
inputbindingwidgets.cpp
inputbindingwidgets.h
2019-12-31 06:17:17 +00:00
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
memorycardsettingswidget.cpp
memorycardsettingswidget.h
qtdisplaywidget.cpp
qtdisplaywidget.h
2019-12-31 06:17:17 +00:00
qthostinterface.cpp
qthostinterface.h
qtprogresscallback.cpp
qtprogresscallback.h
2019-12-31 06:17:17 +00:00
qtutils.cpp
qtutils.h
settingsdialog.cpp
settingsdialog.h
settingsdialog.ui
)
2020-07-28 09:16:12 +00:00
set(TS_FILES
2020-08-03 03:27:20 +00:00
translations/duckstation-qt_de.ts
2020-08-15 01:37:45 +00:00
translations/duckstation-qt_es.ts
2020-08-14 14:12:47 +00:00
translations/duckstation-qt_he.ts
2020-08-17 01:54:10 +00:00
translations/duckstation-qt_it.ts
2020-08-02 03:21:16 +00:00
translations/duckstation-qt_pt-br.ts
translations/duckstation-qt_pt-pt.ts
translations/duckstation-qt_zh-cn.ts
2020-07-28 09:16:12 +00:00
)
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/translations")
qt5_add_translation(QM_FILES ${TS_FILES})
add_executable(duckstation-qt ${SRCS} ${QM_FILES})
target_include_directories(duckstation-qt PRIVATE "${Qt5Gui_PRIVATE_INCLUDE_DIRS}")
2020-06-18 14:18:53 +00:00
target_link_libraries(duckstation-qt PRIVATE frontend-common core common imgui glad minizip scmversion vulkan-loader Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network)
if(WIN32)
# We want a Windows subsystem application not console.
set_target_properties(duckstation-qt PROPERTIES
WIN32_EXECUTABLE TRUE
DEBUG_POSTFIX "-debug")
# Copy in Qt DLLs. Borrowed from Dolphin.
get_target_property(MOC_EXECUTABLE_LOCATION Qt5::moc IMPORTED_LOCATION)
get_filename_component(QT_BINARY_DIRECTORY "${MOC_EXECUTABLE_LOCATION}" DIRECTORY)
find_program(WINDEPLOYQT_EXE windeployqt HINTS "${QT_BINARY_DIRECTORY}")
add_custom_command(TARGET duckstation-qt POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E env PATH="${QT_BINARY_DIRECTORY}"
"${WINDEPLOYQT_EXE}" --libdir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
--plugindir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/QtPlugins"
$<IF:$<CONFIG:Debug>,--debug,--release>
--no-translations
--no-compiler-runtime
--no-angle
"$<TARGET_FILE:duckstation-qt>"
)
add_custom_command(TARGET duckstation-qt POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf.win" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf"
)
endif()