set(HEADERS
    libcockatrice/card/card_info.h
    libcockatrice/card/card_info_comparator.h
    libcockatrice/card/card_localization.h
    libcockatrice/card/lazy_properties_hash.h
    libcockatrice/card/database/card_database.h
    libcockatrice/card/database/card_database_loader.h
    libcockatrice/card/database/card_database_manager.h
    libcockatrice/card/database/card_database_querier.h
    libcockatrice/card/database/parser/card_database_parser.h
    libcockatrice/card/database/parser/cockatrice_xml_3.h
    libcockatrice/card/database/parser/cockatrice_xml_4.h
    libcockatrice/card/import/card_name_normalizer.h
    libcockatrice/card/printing/exact_card.h
    libcockatrice/card/printing/printing_info.h
    libcockatrice/card/set/card_set.h
    libcockatrice/card/relation/card_relation.h
)

add_library(
  libcockatrice_card STATIC
  ${HEADERS}
  libcockatrice/card/card_info.cpp
  libcockatrice/card/card_info_comparator.cpp
  libcockatrice/card/card_localization.cpp
  libcockatrice/card/lazy_properties_hash.cpp
  libcockatrice/card/database/card_database.cpp
  libcockatrice/card/database/card_database_cache.cpp
  libcockatrice/card/database/card_database_loader.cpp
  libcockatrice/card/database/card_database_manager.cpp
  libcockatrice/card/database/card_database_querier.cpp
  libcockatrice/card/database/parser/card_database_parser.cpp
  libcockatrice/card/database/parser/cockatrice_xml_3.cpp
  libcockatrice/card/database/parser/cockatrice_xml_4.cpp
  libcockatrice/card/import/card_name_normalizer.cpp
  libcockatrice/card/printing/exact_card.cpp
  libcockatrice/card/printing/printing_info.cpp
  libcockatrice/card/relation/card_relation.cpp
  libcockatrice/card/set/card_set.cpp
  libcockatrice/card/set/card_set_list.cpp
  libcockatrice/card/format/format_legality_rules.cpp
  libcockatrice/card/format/format_legality_rules.h
)

target_include_directories(
  libcockatrice_card
  PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
  PUBLIC ${CMAKE_SOURCE_DIR}/cockatrice/src/filters
)

target_link_libraries(
  libcockatrice_card
  PUBLIC libcockatrice_interfaces
  PUBLIC libcockatrice_utility
  PUBLIC ${QT_CORE_MODULE}
)

target_precompile_headers(libcockatrice_card PRIVATE "${CMAKE_SOURCE_DIR}/cmake/pch/qtcore_pch.h")
