As the doc of cmake property JOB_POOLS says
Defined pools could be used globally by setting CMAKE_JOB_POOL_COMPILE and CMAKE_JOB_POOL_LINKor per target by setting the target properties JOB_POOL_COMPILEand JOB_POOL_LINK . Custom commands and custom targets can specify pools using the option JOB_POOL . Using a pool that is not defined by JOB_POOLS causes an error by ninja at build time.
But I find no way to set it for step targets of external project.