Play-/Source/ui_unix/CMakeLists.txt

163 lines
4 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
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
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-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
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-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
ElidedLabel.h
settingsdialog.h
openglwindow.h
memorycardmanagerdialog.h
vfsmanagerdialog.h
vfsmodel.h
vfsdiscselectordialog.h
)
set(QT_UIS
Qt_ui/mainwindow.ui
Qt_ui/settingsdialog.ui
Qt_ui/memorycardmanager.ui
Qt_ui/vfsmanagerdialog.ui
Qt_ui/vfsdiscselectordialog.ui
Qt_ui/controllerconfigdialog.ui
Qt_ui/inputeventselectiondialog.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}"
)
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}
)