Add CMake build files
This commit is contained in:
@@ -696,68 +696,76 @@ BEGIN
|
||||
END
|
||||
|
||||
|
||||
#ifndef NO_INCLUDE_MANIFEST
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// 24
|
||||
//
|
||||
|
||||
1 24 MOVEABLE PURE "86Box.manifest"
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
#ifdef CMAKE
|
||||
#define ICON_PATH
|
||||
#else
|
||||
#define ICON_PATH "win/"
|
||||
#endif
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
#ifdef RELEASE_BUILD
|
||||
/* Icon by Devcore - https://commons.wikimedia.org/wiki/File:Icon_PC_256x256.png */
|
||||
10 ICON DISCARDABLE "win/icons/86Box-RB.ico"
|
||||
10 ICON DISCARDABLE ICON_PATH "icons/86Box-RB.ico"
|
||||
#else
|
||||
/* Icon by Devcore - https://commons.wikimedia.org/wiki/File:Icon_PC2_256x256.png */
|
||||
10 ICON DISCARDABLE "win/icons/86Box.ico"
|
||||
10 ICON DISCARDABLE ICON_PATH "icons/86Box.ico"
|
||||
#endif
|
||||
16 ICON DISCARDABLE "win/icons/floppy_525.ico"
|
||||
17 ICON DISCARDABLE "win/icons/floppy_525_active.ico"
|
||||
24 ICON DISCARDABLE "win/icons/floppy_35.ico"
|
||||
25 ICON DISCARDABLE "win/icons/floppy_35_active.ico"
|
||||
32 ICON DISCARDABLE "win/icons/cdrom.ico"
|
||||
33 ICON DISCARDABLE "win/icons/cdrom_active.ico"
|
||||
48 ICON DISCARDABLE "win/icons/zip.ico"
|
||||
49 ICON DISCARDABLE "win/icons/zip_active.ico"
|
||||
56 ICON DISCARDABLE "win/icons/mo.ico"
|
||||
57 ICON DISCARDABLE "win/icons/mo_active.ico"
|
||||
64 ICON DISCARDABLE "win/icons/cassette.ico"
|
||||
65 ICON DISCARDABLE "win/icons/cassette_active.ico"
|
||||
80 ICON DISCARDABLE "win/icons/hard_disk.ico"
|
||||
81 ICON DISCARDABLE "win/icons/hard_disk_active.ico"
|
||||
96 ICON DISCARDABLE "win/icons/network.ico"
|
||||
97 ICON DISCARDABLE "win/icons/network_active.ico"
|
||||
144 ICON DISCARDABLE "win/icons/floppy_525_empty.ico"
|
||||
145 ICON DISCARDABLE "win/icons/floppy_525_empty_active.ico"
|
||||
152 ICON DISCARDABLE "win/icons/floppy_35_empty.ico"
|
||||
153 ICON DISCARDABLE "win/icons/floppy_35_empty_active.ico"
|
||||
160 ICON DISCARDABLE "win/icons/cdrom_empty.ico"
|
||||
161 ICON DISCARDABLE "win/icons/cdrom_empty_active.ico"
|
||||
176 ICON DISCARDABLE "win/icons/zip_empty.ico"
|
||||
177 ICON DISCARDABLE "win/icons/zip_empty_active.ico"
|
||||
184 ICON DISCARDABLE "win/icons/mo_empty.ico"
|
||||
185 ICON DISCARDABLE "win/icons/mo_empty_active.ico"
|
||||
192 ICON DISCARDABLE "win/icons/cassette_empty.ico"
|
||||
193 ICON DISCARDABLE "win/icons/cassette_empty_active.ico"
|
||||
240 ICON DISCARDABLE "win/icons/machine.ico"
|
||||
241 ICON DISCARDABLE "win/icons/display.ico"
|
||||
242 ICON DISCARDABLE "win/icons/input_devices.ico"
|
||||
243 ICON DISCARDABLE "win/icons/sound.ico"
|
||||
244 ICON DISCARDABLE "win/icons/ports.ico"
|
||||
245 ICON DISCARDABLE "win/icons/other_peripherals.ico"
|
||||
246 ICON DISCARDABLE "win/icons/floppy_and_cdrom_drives.ico"
|
||||
247 ICON DISCARDABLE "win/icons/other_removable_devices.ico"
|
||||
248 ICON DISCARDABLE "win/icons/floppy_disabled.ico"
|
||||
249 ICON DISCARDABLE "win/icons/cdrom_disabled.ico"
|
||||
250 ICON DISCARDABLE "win/icons/zip_disabled.ico"
|
||||
251 ICON DISCARDABLE "win/icons/mo_disabled.ico"
|
||||
252 ICON DISCARDABLE "win/icons/storage_controllers.ico"
|
||||
16 ICON DISCARDABLE ICON_PATH "icons/floppy_525.ico"
|
||||
17 ICON DISCARDABLE ICON_PATH "icons/floppy_525_active.ico"
|
||||
24 ICON DISCARDABLE ICON_PATH "icons/floppy_35.ico"
|
||||
25 ICON DISCARDABLE ICON_PATH "icons/floppy_35_active.ico"
|
||||
32 ICON DISCARDABLE ICON_PATH "icons/cdrom.ico"
|
||||
33 ICON DISCARDABLE ICON_PATH "icons/cdrom_active.ico"
|
||||
48 ICON DISCARDABLE ICON_PATH "icons/zip.ico"
|
||||
49 ICON DISCARDABLE ICON_PATH "icons/zip_active.ico"
|
||||
56 ICON DISCARDABLE ICON_PATH "icons/mo.ico"
|
||||
57 ICON DISCARDABLE ICON_PATH "icons/mo_active.ico"
|
||||
64 ICON DISCARDABLE ICON_PATH "icons/cassette.ico"
|
||||
65 ICON DISCARDABLE ICON_PATH "icons/cassette_active.ico"
|
||||
80 ICON DISCARDABLE ICON_PATH "icons/hard_disk.ico"
|
||||
81 ICON DISCARDABLE ICON_PATH "icons/hard_disk_active.ico"
|
||||
96 ICON DISCARDABLE ICON_PATH "icons/network.ico"
|
||||
97 ICON DISCARDABLE ICON_PATH "icons/network_active.ico"
|
||||
144 ICON DISCARDABLE ICON_PATH "icons/floppy_525_empty.ico"
|
||||
145 ICON DISCARDABLE ICON_PATH "icons/floppy_525_empty_active.ico"
|
||||
152 ICON DISCARDABLE ICON_PATH "icons/floppy_35_empty.ico"
|
||||
153 ICON DISCARDABLE ICON_PATH "icons/floppy_35_empty_active.ico"
|
||||
160 ICON DISCARDABLE ICON_PATH "icons/cdrom_empty.ico"
|
||||
161 ICON DISCARDABLE ICON_PATH "icons/cdrom_empty_active.ico"
|
||||
176 ICON DISCARDABLE ICON_PATH "icons/zip_empty.ico"
|
||||
177 ICON DISCARDABLE ICON_PATH "icons/zip_empty_active.ico"
|
||||
184 ICON DISCARDABLE ICON_PATH "icons/mo_empty.ico"
|
||||
185 ICON DISCARDABLE ICON_PATH "icons/mo_empty_active.ico"
|
||||
192 ICON DISCARDABLE ICON_PATH "icons/cassette_empty.ico"
|
||||
193 ICON DISCARDABLE ICON_PATH "icons/cassette_empty_active.ico"
|
||||
240 ICON DISCARDABLE ICON_PATH "icons/machine.ico"
|
||||
241 ICON DISCARDABLE ICON_PATH "icons/display.ico"
|
||||
242 ICON DISCARDABLE ICON_PATH "icons/input_devices.ico"
|
||||
243 ICON DISCARDABLE ICON_PATH "icons/sound.ico"
|
||||
244 ICON DISCARDABLE ICON_PATH "icons/ports.ico"
|
||||
245 ICON DISCARDABLE ICON_PATH "icons/other_peripherals.ico"
|
||||
246 ICON DISCARDABLE ICON_PATH "icons/floppy_and_cdrom_drives.ico"
|
||||
247 ICON DISCARDABLE ICON_PATH "icons/other_removable_devices.ico"
|
||||
248 ICON DISCARDABLE ICON_PATH "icons/floppy_disabled.ico"
|
||||
249 ICON DISCARDABLE ICON_PATH "icons/cdrom_disabled.ico"
|
||||
250 ICON DISCARDABLE ICON_PATH "icons/zip_disabled.ico"
|
||||
251 ICON DISCARDABLE ICON_PATH "icons/mo_disabled.ico"
|
||||
252 ICON DISCARDABLE ICON_PATH "icons/storage_controllers.ico"
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
33
src/win/CMakeLists.txt
Normal file
33
src/win/CMakeLists.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
enable_language(RC)
|
||||
|
||||
add_library(plat OBJECT win.c win_dynld.c win_thread.c win_cdrom.c
|
||||
win_keyboard.c win_crashdump.c win_midi.c win_mouse.c)
|
||||
|
||||
add_library(ui OBJECT win_ui.c win_stbar.c win_sdl.c win_dialog.c win_about.c
|
||||
win_settings.c win_devconf.c win_snd_gain.c win_new_floppy.c
|
||||
win_jsconf.c win_media_menu.c 86Box.rc)
|
||||
|
||||
if(MSVC)
|
||||
# MSVC complains when we include the manifest from 86Box.rc...
|
||||
# On the bright side, CMake supports passing the manifest as a source
|
||||
# file when using MSVC, so we might just as well do that!
|
||||
target_compile_definitions(ui PRIVATE NO_INCLUDE_MANIFEST)
|
||||
target_sources(86Box PRIVATE 86Box.manifest)
|
||||
endif()
|
||||
|
||||
if(DINPUT)
|
||||
target_sources(plat PRIVATE win_joystick.cpp)
|
||||
target_link_libraries(86Box dinput8)
|
||||
else()
|
||||
target_sources(plat PRIVATE win_joystick_rawinput.c)
|
||||
endif()
|
||||
|
||||
if(DISCORD)
|
||||
# PUBLIC due to config.c and pc.c
|
||||
target_compile_definitions(ui PUBLIC USE_DISCORD)
|
||||
|
||||
target_sources(ui PRIVATE win_discord.c)
|
||||
endif()
|
||||
|
||||
target_link_libraries(86Box advapi32 comctl32 comdlg32 gdi32 shell32 iphlpapi
|
||||
dxguid imm32 hid setupapi uxtheme version winmm psapi)
|
||||
@@ -318,7 +318,7 @@ DEPFILE := win/.depends
|
||||
|
||||
# Set up the correct toolchain flags.
|
||||
OPTS := $(EXTRAS) $(STUFF)
|
||||
OPTS += -Iinclude \
|
||||
OPTS += -Iinclude -Iinclude_make \
|
||||
-iquote $(CODEGEN) -iquote cpu
|
||||
ifdef EXFLAGS
|
||||
OPTS += $(EXFLAGS)
|
||||
@@ -369,7 +369,7 @@ ifeq ($(ARM64), y)
|
||||
AOPTIM :=
|
||||
AFLAGS := -mfloat-abi=hard
|
||||
endif
|
||||
RFLAGS := --input-format=rc -O coff -Iinclude
|
||||
RFLAGS := --input-format=rc -O coff -Iinclude -Iinclude_make
|
||||
ifeq ($(RELEASE), y)
|
||||
OPTS += -DRELEASE_BUILD
|
||||
RFLAGS += -DRELEASE_BUILD
|
||||
|
||||
Reference in New Issue
Block a user