Play-/Source/ui_unix/CMakeLists.txt

203 lines
5.2 KiB
Text
Raw Normal View History

2018-01-12 02:46:57 +00:00
cmake_minimum_required(VERSION 3.5)
set(CMAKE_MODULE_PATH
${CMAKE_CURRENT_SOURCE_DIR}/../../../Dependencies/cmake-modules
${CMAKE_MODULE_PATH}
)
include(Header)
project(PlayUI)
add_definitions(-DPLAY_VERSION="${PROJECT_Version}")
if(NOT TARGET PlayCore)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}/Source
)
endif()
list(APPEND PROJECT_LIBS PlayCore)
if(NOT TARGET gsh_opengl)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../gs/GSH_OpenGL
${CMAKE_CURRENT_BINARY_DIR}/gs/GSH_OpenGL
)
endif()
list(INSERT PROJECT_LIBS 0 gsh_opengl)
2018-05-23 03:11:24 +03:00
if (NOT TARGET glew_s)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../../../Dependencies/glew-2.0.0
${CMAKE_CURRENT_BINARY_DIR}/glew-2.0.0
)
endif()
list(APPEND PROJECT_LIBS glew_s)
if(TARGET_PLATFORM_UNIX)
find_package(LIBEVDEV REQUIRED)
list(APPEND PROJECT_LIBS ${LIBEVDEV_LIBRARY})
list(APPEND DEFINITIONS_LIST HAS_LIBEVDEV=1)
endif()
2018-01-12 02:46:57 +00:00
2018-10-16 12:54:10 -04:00
if(TARGET_PLATFORM_MACOS OR TARGET_PLATFORM_UNIX)
if(NOT TARGET sh_openal)
2018-10-16 12:54:10 -04:00
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/../../tools/PsfPlayer/Source/SH_OpenAL
${CMAKE_CURRENT_BINARY_DIR}/SH_OpenAL
2018-10-16 12:54:10 -04:00
)
endif()
list(APPEND PROJECT_LIBS sh_openal)
2018-10-16 12:54:10 -04:00
endif()
2018-01-12 02:46:57 +00:00
set(QT_SOURCES
ControllerConfig/bindingmodel.cpp
ControllerConfig/bindingmodel.h
ControllerConfig/controllerconfigdialog.cpp
ControllerConfig/controllerconfigdialog.h
ControllerConfig/inputeventselectiondialog.cpp
ControllerConfig/inputeventselectiondialog.h
2018-01-12 02:46:57 +00:00
main.cpp
mainwindow.cpp
2018-08-09 12:58:41 -04:00
mainwindow.h
ContinuationChecker.cpp
ContinuationChecker.h
2018-01-12 02:46:57 +00:00
ElidedLabel.cpp
2018-08-09 12:58:41 -04:00
ElidedLabel.h
2018-01-12 02:46:57 +00:00
GSH_OpenGLQt.cpp
2018-08-09 12:58:41 -04:00
GSH_OpenGLQt.h
2018-01-12 02:46:57 +00:00
StatsManager.cpp
2018-08-09 12:58:41 -04:00
StatsManager.h
2018-01-12 02:46:57 +00:00
PH_HidUnix.cpp
2018-08-09 12:58:41 -04:00
PH_HidUnix.h
2018-10-09 13:07:52 -04:00
S3FileBrowser.cpp
S3FileBrowser.h
2018-01-12 02:46:57 +00:00
settingsdialog.cpp
2018-08-09 12:58:41 -04:00
settingsdialog.h
2018-01-12 02:46:57 +00:00
openglwindow.cpp
2018-08-09 12:58:41 -04:00
openglwindow.h
2018-01-12 02:46:57 +00:00
memorycardmanagerdialog.cpp
2018-08-09 12:58:41 -04:00
memorycardmanagerdialog.h
PreferenceDefs.h
QStringUtils.cpp
QStringUtils.h
2018-01-12 02:46:57 +00:00
vfsmanagerdialog.cpp
2018-08-09 12:58:41 -04:00
vfsmanagerdialog.h
2018-01-12 02:46:57 +00:00
vfsmodel.cpp
2018-08-09 12:58:41 -04:00
vfsmodel.h
2018-01-12 02:46:57 +00:00
vfsdiscselectordialog.cpp
2018-08-09 12:58:41 -04:00
vfsdiscselectordialog.h
2018-01-12 02:46:57 +00:00
VfsDevice.cpp
2018-08-09 12:58:41 -04:00
VfsDevice.h
2018-01-12 02:46:57 +00:00
InputBindingManager.cpp
2018-08-09 12:58:41 -04:00
InputBindingManager.h
2018-01-12 02:46:57 +00:00
GamePad/GamePadUtils.cpp
2018-08-09 12:58:41 -04:00
GamePad/GamePadUtils.h
2018-01-12 02:46:57 +00:00
)
2018-05-23 03:11:24 +03:00
if(LIBEVDEV_FOUND)
set(QT_SOURCES
${QT_SOURCES}
GamePad/GamePadInputEventListener.cpp
2018-07-31 18:45:11 -04:00
GamePad/GamePadInputEventListener.h
2018-05-23 03:11:24 +03:00
GamePad/GamePadDeviceListener.cpp
2018-07-31 18:45:11 -04:00
GamePad/GamePadDeviceListener.h
2018-05-23 03:11:24 +03:00
)
endif()
2018-10-18 08:20:35 -04:00
if(TARGET_PLATFORM_WIN32)
set(QT_SOURCES
${QT_SOURCES}
../../tools/PsfPlayer/Source/win32_ui/SH_WaveOut.cpp
)
list(APPEND PROJECT_LIBS winmm)
endif()
2018-01-12 02:46:57 +00:00
set(QT_MOC_HEADERS
ControllerConfig/bindingmodel.h
ControllerConfig/controllerconfigdialog.h
ControllerConfig/inputeventselectiondialog.h
2018-01-12 02:46:57 +00:00
mainwindow.h
ContinuationChecker.h
2018-01-12 02:46:57 +00:00
ElidedLabel.h
settingsdialog.h
openglwindow.h
memorycardmanagerdialog.h
2018-10-09 13:07:52 -04:00
S3FileBrowser.h
2018-01-12 02:46:57 +00:00
vfsmanagerdialog.h
vfsmodel.h
vfsdiscselectordialog.h
)
set(QT_UIS
2018-10-05 13:35:51 -04:00
Qt_ui/controllerconfigdialog.ui
Qt_ui/inputeventselectiondialog.ui
2018-01-12 02:46:57 +00:00
Qt_ui/mainwindow.ui
Qt_ui/memorycardmanager.ui
2018-10-09 13:07:52 -04:00
Qt_ui/s3filebrowser.ui
2018-10-05 13:35:51 -04:00
Qt_ui/settingsdialog.ui
2018-01-12 02:46:57 +00:00
Qt_ui/vfsmanagerdialog.ui
Qt_ui/vfsdiscselectordialog.ui
)
set(QT_RESOURCES
Qt_ui/resources.qrc
)
find_package(Qt5 REQUIRED COMPONENTS Widgets Core)
list(APPEND PROJECT_LIBS Qt5::Widgets Qt5::Core)
add_definitions(${QT_DEFINITIONS})
QT5_ADD_RESOURCES(QT_RES_SOURCES ${QT_RESOURCES})
QT5_WRAP_UI(QT_UI_HEADERS ${QT_UIS})
QT5_WRAP_CPP(QT_MOC_SRCS ${QT_MOC_HEADERS})
if(TARGET_PLATFORM_MACOS)
set(OSX_RES
${CMAKE_CURRENT_SOURCE_DIR}/AppIcon.icns
${CMAKE_CURRENT_SOURCE_DIR}/../../patches.xml
)
add_executable(Play MACOSX_BUNDLE ${QT_SOURCES} ${QT_MOC_SRCS} ${QT_RES_SOURCES} ${QT_UI_HEADERS} ${OSX_RES})
# Set a custom plist file for the app bundle
# NOTE: for these values to be used Info.plist has to be edited
# NOTE: from cmake 3.7.0 you can use %b for month name abbreviations
string(TIMESTAMP DATE "%d-%m-%Y")
set_target_properties(
Play
PROPERTIES
MACOSX_BUNDLE_INFO_STRING "${PROJECT_NAME}"
MACOSX_BUNDLE_GUI_IDENTIFIER "com.virtualapplications.Play"
MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_NAME} Version ${PROJECT_Version}"
MACOSX_BUNDLE_BUNDLE_NAME ${PROJECT_NAME}
MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_Version}"
MACOSX_BUNDLE_BUNDLE_VERSION ${DATE}
MACOSX_BUNDLE_COPYRIGHT "© Virtual Applications, 2017"
MACOSX_BUNDLE_ICON_FILE "AppIcon.icns"
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in"
RESOURCE "${OSX_RES}"
)
2018-10-23 13:07:11 -04:00
elseif(TARGET_PLATFORM_WIN32)
add_executable(Play WIN32 ${QT_SOURCES} ${QT_MOC_SRCS} ${QT_RES_SOURCES} ${QT_UI_HEADERS})
else()
add_executable(Play ${QT_SOURCES} ${QT_MOC_SRCS} ${QT_RES_SOURCES} ${QT_UI_HEADERS})
endif()
2018-01-12 02:46:57 +00:00
target_link_libraries(Play ${PROJECT_LIBS})
2018-05-23 03:11:24 +03:00
target_compile_definitions(Play PRIVATE ${DEFINITIONS_LIST})
2018-01-12 02:46:57 +00:00
target_include_directories(Play PRIVATE
./
../../
${LIBEVDEV_INCLUDE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
2018-09-26 13:16:50 -04:00
if(TARGET_PLATFORM_WIN32)
add_custom_command(TARGET Play POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:Qt5::Core> $<TARGET_FILE_DIR:Play>
)
add_custom_command(TARGET Play POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:Qt5::Widgets> $<TARGET_FILE_DIR:Play>
)
add_custom_command(TARGET Play POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:Qt5::Gui> $<TARGET_FILE_DIR:Play>
)
endif()