Make OpenMP dependency private
There might be arguments around "if you link to an OpenMP-enabled library, build your code with the OpenMP flag", but since there are no Fortran modules in question, which is why we usually have to declare dependencies as PUBLIC, it looks correct to declare the OpenMP::OpenMP_Fortran as private.
I have also noticed !138 (merged). I understand why you might want to have those if(NOT TARGET ...) guards for packages that you fetch, but I see no reason to have that otherwise. Especially for MODULE packages, which usually have the guards already.
For now, the current changes are enough, but since private dependencies leak into the exported targets (see fortran-support-targets.cmake in the build directory when configured with -DFS_ENABLE_OMP=ON -DBUILD_SHARED_LIBS=OFF -DFS_ENABLE_INSTALL=ON), I think that it makes sense to find_dependency(OpenMP) (or something like that and I don't remember whether it handles COMPONENTS autoamtically) in config.cmake.in when -DFS_ENABLE_OMP=ON -DBUILD_SHARED_LIBS=OFF.
Ah! And the problem I'm trying to solve is that fortran-support declares a public dependency on OpenMP::OpenMP_Fortran, but iconmath gets the flag via OpenMP_Fortran_FLAGS. As a result, the OpenMP compiler flags appears twice on the command line and the pesky NAG fails with Option error: -openmp option specified twice.
And can we please move all find_package to the root CMakeLists.txt so we have everything in one place? Sorry for dumping so much here.