Very confused about shared library requirements

I have a project is a significant amount of C++ with a lot of shared library dependencies, here is the fragment of my meta.yaml.

build:
  skip: True  # [win]
  script: ${RECIPE_DIR}/build_bdsim.sh
  number: 3

requirements:
  build:
    - {{ compiler('cxx') }}
    - {{ stdlib("c") }}
    - cmake
    - make
    - bison
    - {{ cdt('mesa-libgl-devel') }}  # [linux]
    - {{ cdt('mesa-dri-drivers') }}  # [linux]
    - {{ cdt('libselinux') }}  # [linux]
    - {{ cdt('libxdamage') }}  # [linux]
    - {{ cdt('libxxf86vm') }}  # [linux]
    - {{ cdt('libxext') }}     # [linux]
    
  host:
    - clhep
    - xerces-c    
    - root_base >=6.32.0
    - geant4 >=11.2.2
    - qt-main 
    - libzlib
    
  run:
    - clhep
    - xerces-c    
    - root_base >=6.32.0
    - geant4 >=11.2.2
    - qt-main
    - libzlib

Now I have been told that the requirements which needed to build and run should go into run_exports but I am finding this documentation confusing. All the requirements in host and run are needed to build too. I would like to know what the correct way to handle them is.