gmsh provides CMake targets: find_package(gmsh CONFIG REQUIRED) target_link_libraries(main PRIVATE $,gmsh::shared,gmsh::lib>)