123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- # because of generated UI files
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
- add_definitions(-DQT_USE_QSTRINGBUILDER -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII)
- set(CMAKE_AUTOMOC ON)
- set(SRCS
- AboutDialog.cpp
- AboutDialog.h
- Host.cpp
- Main.cpp
- MainWindow.cpp
- MainWindow.h
- SystemInfo.cpp
- GameList/GameFile.cpp
- GameList/GameGrid.cpp
- GameList/GameTracker.cpp
- GameList/GameTree.cpp
- Utils/Resources.cpp
- Utils/Utils.cpp
- VideoInterface/RenderWidget.cpp
- )
- set(UIS
- AboutDialog.ui
- MainWindow.ui
- SystemInfo.ui
- GameList/GameGrid.ui
- GameList/GameTree.ui
- )
- list(APPEND LIBS core uicommon)
- if(APPLE)
- set(DOLPHINQT_BINARY DolphinQt)
- else()
- set(DOLPHINQT_BINARY dolphin-emu-qt)
- endif()
- qt5_wrap_ui(UI_HEADERS ${UIS})
- add_executable(${DOLPHINQT_BINARY} ${SRCS} ${UI_HEADERS})
- target_link_libraries(${DOLPHINQT_BINARY} ${LIBS})
- qt5_use_modules(${DOLPHINQT_BINARY} Widgets)
- if(APPLE)
- # Note: This is based on the DolphinWX version.
- include(BundleUtilities)
- set(BUNDLE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${DOLPHINQT_BINARY}.app)
- # Ask for an application bundle.
- set_target_properties(${DOLPHINQT_BINARY} PROPERTIES
- MACOSX_BUNDLE true
- MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in
- )
- # get rid of any old copies
- file (REMOVE_RECURSE ${BUNDLE_PATH}/Contents/Resources/Sys)
- if(NOT SKIP_POSTPROCESS_BUNDLE)
- # Fix up the bundle after it is finished.
- # There does not seem to be an easy way to run CMake commands post-build,
- # so we invoke CMake again on a generated script.
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/postprocess_bundle.cmake "
- include(BundleUtilities)
- message(\"Fixing up application bundle: ${BUNDLE_PATH}\")
- message(\"(Note: This is only necessary to produce a redistributable binary.\")
- message(\"To skip, pass -DSKIP_POSTPROCESS_BUNDLE=1 to cmake.)\")
- set(BU_CHMOD_BUNDLE_ITEMS ON)
- execute_process(COMMAND ${CMAKE_SOURCE_DIR}/Tools/deploy-mac.py -p platforms/libqcocoa.dylib \"${BUNDLE_PATH}\")
- file(INSTALL ${CMAKE_SOURCE_DIR}/Data/Sys
- DESTINATION ${BUNDLE_PATH}/Contents/Resources
- )
- ")
- add_custom_command(TARGET ${DOLPHINQT_BINARY} POST_BUILD
- COMMAND ${CMAKE_COMMAND} -P postprocess_bundle.cmake
- )
- else()
- add_custom_command(OUTPUT ${BUNDLE_PATH}/Contents/Resources/Sys
- COMMAND ln -nfs ${CMAKE_SOURCE_DIR}/Data/Sys ${BUNDLE_PATH}/Contents/Resources/Sys
- VERBATIM
- )
- add_custom_target(CopyDataIntoBundleQt ALL
- DEPENDS ${BUNDLE_PATH}/Contents/Resources/Sys
- )
- endif()
- endif()
|