| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- set(launcher_modmanager_SRCS
- modManager/cdownloadmanager_moc.cpp
- modManager/cmodlist.cpp
- modManager/cmodlistmodel_moc.cpp
- modManager/cmodlistview_moc.cpp
- modManager/cmodmanager.cpp
- modManager/imageviewer_moc.cpp
- )
- set(launcher_modmanager_HEADERS
- modManager/cdownloadmanager_moc.h
- modManager/cmodlist.h
- modManager/cmodlistmodel_moc.h
- modManager/cmodlistview_moc.h
- modManager/cmodmanager.h
- modManager/imageviewer_moc.h
- )
- set(launcher_settingsview_SRCS
- settingsView/csettingsview_moc.cpp
- )
- set(launcher_settingsview_HEADERS
- settingsView/csettingsview_moc.h
- )
- set(launcher_SRCS
- StdInc.cpp
- ${launcher_modmanager_SRCS}
- ${launcher_settingsview_SRCS}
- main.cpp
- mainwindow_moc.cpp
- launcherdirs.cpp
- jsonutils.cpp
- updatedialog_moc.cpp
- )
- set(launcher_HEADERS
- StdInc.h
- ${launcher_modmanager_HEADERS}
- ${launcher_settingsview_HEADERS}
- mainwindow_moc.h
- launcherdirs.h
- jsonutils.h
- updatedialog_moc.h
- )
- set(launcher_FORMS
- modManager/cmodlistview_moc.ui
- modManager/imageviewer_moc.ui
- settingsView/csettingsview_moc.ui
- mainwindow_moc.ui
- updatedialog_moc.ui
- )
- if(APPLE_IOS)
- set(launcher_SRCS ${launcher_SRCS} ios/mainwindow_moc.mm)
- endif()
- assign_source_group(${launcher_SRCS} ${launcher_HEADERS} VCMI_launcher.rc)
- # Tell CMake to run moc when necessary:
- set(CMAKE_AUTOMOC ON)
- if(POLICY CMP0071)
- cmake_policy(SET CMP0071 NEW)
- endif()
- # As moc files are generated in the binary dir, tell CMake
- # to always look for includes there:
- set(CMAKE_INCLUDE_CURRENT_DIR ON)
- if(TARGET Qt6::Core)
- qt_wrap_ui(launcher_UI_HEADERS ${launcher_FORMS})
- else()
- qt5_wrap_ui(launcher_UI_HEADERS ${launcher_FORMS})
- endif()
- if(WIN32)
- set(launcher_ICON VCMI_launcher.rc)
- endif()
- if(BUILD_SINGLE_APP)
- add_library(vcmilauncher STATIC ${launcher_SRCS} ${launcher_HEADERS} ${launcher_UI_HEADERS})
- else()
- add_executable(vcmilauncher WIN32 ${launcher_SRCS} ${launcher_HEADERS} ${launcher_UI_HEADERS} ${launcher_ICON})
- endif()
- if(WIN32)
- set_target_properties(vcmilauncher
- PROPERTIES
- OUTPUT_NAME "VCMI_launcher"
- PROJECT_LABEL "VCMI_launcher"
- )
- # FIXME: Can't to get CMP0020 working with Vcpkg and CMake 3.8.2
- # So far I tried:
- # - cmake_minimum_required set to 2.8.11 globally and in this file
- # - cmake_policy in all possible places
- # - used NO_POLICY_SCOPE to make sure no other parts reset policies
- # Still nothing worked, warning kept appearing and WinMain didn't link automatically
- target_link_libraries(vcmilauncher Qt${QT_VERSION_MAJOR}::WinMain)
- endif()
- if(APPLE)
- # This makes Xcode project prettier by moving vcmilauncher_autogen directory into vcmiclient subfolder
- set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER vcmilauncher)
- endif()
- if(BUILD_SINGLE_APP)
- set(VCMI_LIB_TARGET vcmi_lib_client)
- else()
- set(VCMI_LIB_TARGET vcmi)
- endif()
- target_link_libraries(vcmilauncher ${VCMI_LIB_TARGET} Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network)
- target_include_directories(vcmilauncher
- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
- )
- vcmi_set_output_dir(vcmilauncher "")
- enable_pch(vcmilauncher)
- if(APPLE_IOS)
- set(ICONS_DESTINATION ${DATA_DIR})
- else()
- set(ICONS_DESTINATION ${DATA_DIR}/launcher)
- # Copy to build directory for easier debugging
- add_custom_command(TARGET vcmilauncher POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/launcher/icons
- COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/launcher/icons ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/launcher/icons
- )
- install(TARGETS vcmilauncher DESTINATION ${BIN_DIR})
- # Install icons and desktop file on Linux
- if(NOT WIN32 AND NOT APPLE)
- install(FILES "vcmilauncher.desktop" DESTINATION share/applications)
- install(FILES "eu.vcmi.VCMI.metainfo.xml" DESTINATION share/metainfo)
- endif()
- endif()
- install(DIRECTORY icons DESTINATION ${ICONS_DESTINATION})
|