
if(BUILD_PARSERS)
    target_sources(freeorionparseobj
        PUBLIC
            ${CMAKE_CURRENT_LIST_DIR}/MovableEnvelope.h
            ${CMAKE_CURRENT_LIST_DIR}/Parse.h
            ${CMAKE_CURRENT_LIST_DIR}/PythonParser.h
        PRIVATE
            ${CMAKE_CURRENT_LIST_DIR}/CommonParamsParser.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser1.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser2.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser3.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser4.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser5.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser6.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser7.h
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParserImpl.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser1.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser2.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser3.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser4.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser5.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectParserImpl.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectPythonParser.h
            ${CMAKE_CURRENT_LIST_DIR}/EnumParser.h
            ${CMAKE_CURRENT_LIST_DIR}/EnumPythonParser.h
            ${CMAKE_CURRENT_LIST_DIR}/EnumValueRefRules.h
            ${CMAKE_CURRENT_LIST_DIR}/Lexer.h
            ${CMAKE_CURRENT_LIST_DIR}/ParseImpl.h
            ${CMAKE_CURRENT_LIST_DIR}/ReportParseError.h
            ${CMAKE_CURRENT_LIST_DIR}/Tokens.h
            ${CMAKE_CURRENT_LIST_DIR}/ValueRefParser.h
            ${CMAKE_CURRENT_LIST_DIR}/ArithmeticRules.cpp
            ${CMAKE_CURRENT_LIST_DIR}/BuildingsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/CommonParamsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser1.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser2.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser3.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser4.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser5.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser6.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser7.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/DoubleComplexValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/DoubleValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser1.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser2.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser3.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser4.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser5.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EffectParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EffectPythonParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EmpireStatsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EncyclopediaParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EnumParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/EnumPythonParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/FieldsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/FleetPlansParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/GameRulesParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/IntComplexValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/IntValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ItemsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/Lexer.cpp
            ${CMAKE_CURRENT_LIST_DIR}/MonsterFleetPlansParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/NamedValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/Parse.cpp
            ${CMAKE_CURRENT_LIST_DIR}/PlanetEnvironmentValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/PlanetSizeValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/PlanetTypeValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/PoliciesParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ReportParseError.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ShipDesignsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ShipHullsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ShipPartsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/SpecialsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/SpeciesParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/StarTypeValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/StringComplexValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/StringValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/TechsParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/UniverseObjectTypeValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ValueRefPythonParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/VisibilityValueRefParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/PythonParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/SourcePythonParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionPythonParser.cpp
            ${CMAKE_CURRENT_LIST_DIR}/ConditionPythonParser.h
            ${CMAKE_CURRENT_LIST_DIR}/EffectPythonParser.h
            ${CMAKE_CURRENT_LIST_DIR}/EnumPythonParser.h
            ${CMAKE_CURRENT_LIST_DIR}/SourcePythonParser.h
            ${CMAKE_CURRENT_LIST_DIR}/ValueRefPythonParser.h
    )
else()
    target_sources(freeorionparseobj
        PUBLIC
            ${CMAKE_CURRENT_LIST_DIR}/Parse.h
            ${CMAKE_CURRENT_LIST_DIR}/PythonParser.h
        PRIVATE
            ${CMAKE_CURRENT_LIST_DIR}/DummyParsers.cpp
    )
endif()
