Cockatrice/libcockatrice_game/CMakeLists.txt
BruebachL a74dfeef6e
[Build] Configure AUTOMOC, AUTOUIC and AUTORCC once (#7637)
The root already set CMAKE_AUTOMOC; add CMAKE_AUTOUIC and CMAKE_AUTORCC
next to it and drop the per-directory copies from 18 CMakeLists files.
These variables are inherited by the subdirectories, so the duplicates
never changed anything.

qt_standard_project_setup is not used: besides the AUTO* variables it
sets CMAKE_RUNTIME_OUTPUT_DIRECTORY on Windows, which breaks the
install(DIRECTORY "$<TARGET_FILE_DIR:...>") copies and the per-app
symbol paths, and appends to CMAKE_INSTALL_RPATH on Linux.

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-11-02 07:06:47 +01:00

77 lines
2.8 KiB
CMake

set(HEADERS
libcockatrice/game/abstract_game.h
libcockatrice/game/board/arrow_data.h
libcockatrice/game/board/card_list.h
libcockatrice/game/board/card_state.h
libcockatrice/game/board/counter_state.h
libcockatrice/game/game.h
libcockatrice/game/game_event_handler.h
libcockatrice/game/game_meta_info.h
libcockatrice/game/game_state.h
libcockatrice/game/phase.h
libcockatrice/game/player/card_menu_action_type.h
libcockatrice/game/player/card_move_request.h
libcockatrice/game/player/event_processing_options.h
libcockatrice/game/player/move_top_cards_until_options.h
libcockatrice/game/player/player_actions.h
libcockatrice/game/player/player_event_handler.h
libcockatrice/game/player/player_info.h
libcockatrice/game/player/player_logic.h
libcockatrice/game/player/player_manager.h
libcockatrice/game/player/token_info.h
libcockatrice/game/replay.h
libcockatrice/game/translation.h
libcockatrice/game/zones/card_zone_algorithms.h
libcockatrice/game/zones/card_zone_logic.h
libcockatrice/game/zones/hand_zone_logic.h
libcockatrice/game/zones/pile_zone_logic.h
libcockatrice/game/zones/stack_zone_logic.h
libcockatrice/game/zones/table_zone_logic.h
libcockatrice/game/zones/view_zone_logic.h
)
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
add_library(
libcockatrice_game STATIC
${MOC_SOURCES}
libcockatrice/game/abstract_game.cpp
libcockatrice/game/board/arrow_data.cpp
libcockatrice/game/board/card_list.cpp
libcockatrice/game/board/card_state.cpp
libcockatrice/game/board/counter_state.cpp
libcockatrice/game/game.cpp
libcockatrice/game/game_event_handler.cpp
libcockatrice/game/game_meta_info.cpp
libcockatrice/game/game_state.cpp
libcockatrice/game/phase.cpp
libcockatrice/game/player/player_actions.cpp
libcockatrice/game/player/player_event_handler.cpp
libcockatrice/game/player/player_info.cpp
libcockatrice/game/player/player_logic.cpp
libcockatrice/game/player/player_manager.cpp
libcockatrice/game/replay.cpp
libcockatrice/game/zones/card_zone_logic.cpp
libcockatrice/game/zones/hand_zone_logic.cpp
libcockatrice/game/zones/pile_zone_logic.cpp
libcockatrice/game/zones/stack_zone_logic.cpp
libcockatrice/game/zones/table_zone_logic.cpp
libcockatrice/game/zones/view_zone_logic.cpp
)
target_include_directories(libcockatrice_game PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(
libcockatrice_game
PUBLIC libcockatrice_card
libcockatrice_deck_list
libcockatrice_filters
libcockatrice_interfaces
libcockatrice_network
libcockatrice_protocol
libcockatrice_settings
libcockatrice_utility
${QT_CORE_MODULE}
${COCKATRICE_QT_VERSION_NAME}::Concurrent
${COCKATRICE_QT_VERSION_NAME}::Gui
)