gmsh provides CMake targets:

  find_package(gmsh CONFIG REQUIRED)
  target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:gmsh::shared>,gmsh::shared,gmsh::lib>)
