- if not bld.env.PLAYER_ONLY:
- for t in ['dcpomatic_cli', 'dcpomatic_server_cli', 'server_test', 'dcpomatic_kdm_cli', 'dcpomatic_create']:
- obj = bld(features='cxx cxxprogram')
- obj.uselib = uselib
- obj.includes = ['..']
- obj.use = ['libdcpomatic2']
- obj.source = '%s.cc' % t
- obj.target = t.replace('dcpomatic', 'dcpomatic2')
- if t == 'server_test':
- obj.install_path = None
+ if bld.env.TARGET_WINDOWS_64 or bld.env.TARGET_WINDOWS_32:
+ uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE WINSOCK2 OLE32 DSOUND WINMM KSUSER SETUPAPI UUID '
+ if bld.env.TARGET_LINUX:
+ uselib += 'DL '
+
+ cli_tools = ['dcpomatic_cli', 'dcpomatic_server_cli', 'server_test', 'dcpomatic_kdm_cli', 'dcpomatic_create']
+ if bld.env.ENABLE_DISK and not bld.env.DISABLE_GUI:
+ cli_tools.append('dcpomatic_disk_writer')
+
+ for t in cli_tools:
+ obj = bld(features='cxx cxxprogram')
+ obj.uselib = uselib
+ obj.includes = ['..']
+ obj.use = ['libdcpomatic2']
+ obj.source = '%s.cc' % t
+ if (bld.env.TARGET_WINDOWS_64 or bld.env.TARGET_WINDOWS_32) and t == 'dcpomatic_disk_writer':
+ obj.source += ' ../../platform/windows/%s.rc' % t
+ # Prevent a console window opening when we start dcpomatic2_disk_writer
+ obj.env.append_value('LINKFLAGS', '-Wl,-subsystem,windows')
+ obj.target = t.replace('dcpomatic', 'dcpomatic2')
+ if t == 'server_test':
+ obj.install_path = None