--- a/fc-cache/meson.build
+++ b/fc-cache/meson.build
@@ -1,6 +1,6 @@
 fccache = executable('fc-cache', ['fc-cache.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [libintl_dep],
+  dependencies: [getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/fc-cat/meson.build
+++ b/fc-cat/meson.build
@@ -1,6 +1,6 @@
 fccat = executable('fc-cat', ['fc-cat.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [libintl_dep],
+  dependencies: [getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/fc-conflist/meson.build
+++ b/fc-conflist/meson.build
@@ -1,6 +1,6 @@
 fcconflist = executable('fc-conflist', ['fc-conflist.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [libintl_dep],
+  dependencies: [getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/fc-list/meson.build
+++ b/fc-list/meson.build
@@ -1,6 +1,6 @@
 fclist = executable('fc-list', ['fc-list.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [libintl_dep],
+  dependencies: [getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/fc-match/meson.build
+++ b/fc-match/meson.build
@@ -1,6 +1,6 @@
 fcmatch = executable('fc-match', ['fc-match.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [libintl_dep],
+  dependencies: [getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/fc-pattern/meson.build
+++ b/fc-pattern/meson.build
@@ -1,6 +1,6 @@
 fcpattern = executable('fc-pattern', ['fc-pattern.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [libintl_dep],
+  dependencies: [getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/fc-query/meson.build
+++ b/fc-query/meson.build
@@ -1,6 +1,6 @@
 fcquery = executable('fc-query', ['fc-query.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [freetype_dep, libintl_dep],
+  dependencies: [freetype_dep, getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/fc-scan/meson.build
+++ b/fc-scan/meson.build
@@ -1,6 +1,6 @@
 fcscan = executable('fc-scan', ['fc-scan.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [freetype_dep, libintl_dep],
+  dependencies: [freetype_dep, getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/fc-validate/meson.build
+++ b/fc-validate/meson.build
@@ -1,6 +1,6 @@
 fcvalidate = executable('fc-validate', ['fc-validate.c', fcstdint_h, alias_headers, ft_alias_headers],
   include_directories: [incbase, incsrc],
-  dependencies: [freetype_dep, libintl_dep],
+  dependencies: [freetype_dep, getopt_dep, libintl_dep],
   link_with: [libfontconfig],
   c_args: c_args,
   install: true,
--- a/meson.build
+++ b/meson.build
@@ -319,6 +319,14 @@ if cc.links(files('meson-cc-tests/solaris-atomic-operations.c'), name: 'Solaris
   conf.set('HAVE_SOLARIS_ATOMIC_OPS', 1)
 endif
 
+if host_machine.system() == 'windows'
+  conf.set('HAVE_GETOPT', 1)
+  conf.set('HAVE_GETOPT_LONG', 1)
+  getopt_dep = cc.find_library('getopt', required: false)
+else
+  getopt_dep = dependency('', required: false)
+endif
+
 
 prefix = get_option('prefix')
 
