Browse code

Add warnings to building with GCC/Clang.

* These were mostly copied from the old Makefile.
* The files including wxWidgets need -Wno-old-style-cast done in the code via pragmas because I do not want to disable that warning for the rest of the files. (It might've been overkill for some places where wxWidgets was included, but whatever.)

Naram Qashat authored on 2021/04/04 23:35:09
Showing 1 changed files
... ...
@@ -66,7 +66,7 @@ set(HEADERS
66 66
 	spu/sampledata.h
67 67
 	XSFConfig_2SF.h
68 68
 	XSFConfigDialog_2SF.h)
69
-set(SOURCES
69
+set(DESMUME_SOURCES
70 70
 	desmume/addons/slot1_retail.cpp
71 71
 	desmume/arm_instructions.cpp
72 72
 	desmume/arm_jit.cpp
... ...
@@ -112,12 +112,24 @@ set(SOURCES
112 112
 	spu/adpcmdecoder.cpp
113 113
 	spu/interpolator.cpp
114 114
 	spu/samplecache.cpp
115
-	spu/sampledata.cpp
115
+	spu/sampledata.cpp)
116
+set(SOURCES
117
+	${DESMUME_SOURCES}
116 118
 	XSFConfig_2SF.cpp
117 119
 	XSFConfigDialog_2SF.cpp
118 120
 	XSFPlayer_2SF.cpp)
119 121
 
122
+set(DESMUME_COMPILE_OPTIONS
123
+	$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:-Wno-shadow -Wno-unused-parameter -Wno-unused-value -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-function -Wno-implicit-fallthrough -Wno-old-style-cast -Wno-deprecated-copy
124
+		-Wno-sign-compare -Wno-float-equal -Wno-missing-braces>
125
+	$<$<CXX_COMPILER_ID:GNU>:-Wno-class-memaccess -Wno-unused-but-set-variable>
126
+	$<$<CXX_COMPILER_ID:Clang>:-Wno-array-bounds>)
127
+
128
+set_source_files_properties(${DESMUME_SOURCES} PROPERTIES
129
+	COMPILE_OPTIONS "${DESMUME_COMPILE_OPTIONS}")
130
+
120 131
 add_library(in_2sf SHARED ${HEADERS} ${SOURCES})
132
+set_target_properties(in_2sf PROPERTIES PREFIX "")
121 133
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
122 134
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
123 135
 target_compile_options(in_2sf PUBLIC
Browse code

Add wxWidgets-based configuration dialog boxes.

* Removes the configuration dialog boxes that used my DialogBuilder.
* Move default configuration values to be inlined within the headers.
* Moved 2SF's and GSF's XSFConfig classes to their own headers to accommodate the new wxWidgets dialog boxes.
* Make it so NCSF's SoundView dialog can be toggled on or off from the configuration dialog box.

Naram Qashat authored on 2021/04/04 12:46:14
Showing 1 changed files
... ...
@@ -63,7 +63,9 @@ set(HEADERS
63 63
 	spu/adpcmdecoder.h
64 64
 	spu/interpolator.h
65 65
 	spu/samplecache.h
66
-	spu/sampledata.h)
66
+	spu/sampledata.h
67
+	XSFConfig_2SF.h
68
+	XSFConfigDialog_2SF.h)
67 69
 set(SOURCES
68 70
 	desmume/addons/slot1_retail.cpp
69 71
 	desmume/arm_instructions.cpp
... ...
@@ -112,12 +114,13 @@ set(SOURCES
112 114
 	spu/samplecache.cpp
113 115
 	spu/sampledata.cpp
114 116
 	XSFConfig_2SF.cpp
117
+	XSFConfigDialog_2SF.cpp
115 118
 	XSFPlayer_2SF.cpp)
116 119
 
117 120
 add_library(in_2sf SHARED ${HEADERS} ${SOURCES})
118 121
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
119 122
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
120 123
 target_compile_options(in_2sf PUBLIC
121
-	$<$<CXX_COMPILER_ID:MSVC>:/wd4018 /wd4100 /wd4146 /wd4127 /wd4189 /wd4201 /wd4245 /wd4456 /wd4459 /wd4701 /wd4703 /wd4706 /wd4996 /wd6001 /wd6011 /wd6297 /wd6308 /wd6385 /wd6386 /wd26454 /wd26495 /wd26812 /wd26819 /wd28112>)
124
+	$<$<CXX_COMPILER_ID:MSVC>:/wd4018 /wd4100 /wd4146 /wd4127 /wd4189 /wd4201 /wd4245 /wd4456 /wd4459 /wd4505 /wd4701 /wd4703 /wd4706 /wd4996 /wd6001 /wd6011 /wd6297 /wd6308 /wd6385 /wd6386 /wd26454 /wd26495 /wd26812 /wd26819 /wd28112>)
122 125
 target_link_libraries(in_2sf
123 126
 	in_xsf_framework)
Browse code

Silence various Visual Studio warnings:

* Fix the ones in my code where I could use a proper type or valid casts.
* Ignore the designer-time and compiler-time warnings in vendor code or in my code where I am unable to suppress them via casting.
(Most of these were ignored already before introducing the CMake scripts, because they were in vendor code or were annoying to deal with.)

Naram Qashat authored on 2021/03/29 00:10:11
Showing 1 changed files
... ...
@@ -117,5 +117,7 @@ set(SOURCES
117 117
 add_library(in_2sf SHARED ${HEADERS} ${SOURCES})
118 118
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
119 119
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
120
+target_compile_options(in_2sf PUBLIC
121
+	$<$<CXX_COMPILER_ID:MSVC>:/wd4018 /wd4100 /wd4146 /wd4127 /wd4189 /wd4201 /wd4245 /wd4456 /wd4459 /wd4701 /wd4703 /wd4706 /wd4996 /wd6001 /wd6011 /wd6297 /wd6308 /wd6385 /wd6386 /wd26454 /wd26495 /wd26812 /wd26819 /wd28112>)
120 122
 target_link_libraries(in_2sf
121 123
 	in_xsf_framework)
Browse code

Add CMake scripts in preparation for wxWidgets changes.

(One downside here, zlib's CMake script renames its zconf.h... which in turn means that the submodule now thinks there are uncommitted changes. :/)

Naram Qashat authored on 2021/03/28 19:43:33
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,121 @@
1
+set(HEADERS
2
+	desmume/arm_jit.h
3
+	desmume/armcpu.h
4
+	desmume/bios.h
5
+	desmume/cp15.h
6
+	desmume/emufile.h
7
+	desmume/FIFO.h
8
+	desmume/firmware.h
9
+	desmume/instruction_attributes.h
10
+	desmume/instruction_tabdef.inc
11
+	desmume/instructions.h
12
+	desmume/matrix.h
13
+	desmume/mc.h
14
+	desmume/mem.h
15
+	desmume/metaspu/metaspu.h
16
+	desmume/MMU.h
17
+	desmume/MMU_timing.h
18
+	desmume/NDSSystem.h
19
+	desmume/PACKED.h
20
+	desmume/PACKED_END.h
21
+	desmume/readwrite.h
22
+	desmume/registers.h
23
+	desmume/slot1.h
24
+	desmume/SPU.h
25
+	desmume/thumb_tabdef.inc
26
+	desmume/types.h
27
+	desmume/utils/AsmJit/apibegin.h
28
+	desmume/utils/AsmJit/apiend.h
29
+	desmume/utils/AsmJit/AsmJit.h
30
+	desmume/utils/AsmJit/base.h
31
+	desmume/utils/AsmJit/base/assembler.h
32
+	desmume/utils/AsmJit/base/codegen.h
33
+	desmume/utils/AsmJit/base/compiler.h
34
+	desmume/utils/AsmJit/base/constpool.h
35
+	desmume/utils/AsmJit/base/containers.h
36
+	desmume/utils/AsmJit/base/context_p.h
37
+	desmume/utils/AsmJit/base/cpuinfo.h
38
+	desmume/utils/AsmJit/base/cputicks.h
39
+	desmume/utils/AsmJit/base/error.h
40
+	desmume/utils/AsmJit/base/globals.h
41
+	desmume/utils/AsmJit/base/intutil.h
42
+	desmume/utils/AsmJit/base/lock.h
43
+	desmume/utils/AsmJit/base/logger.h
44
+	desmume/utils/AsmJit/base/operand.h
45
+	desmume/utils/AsmJit/base/runtime.h
46
+	desmume/utils/AsmJit/base/string.h
47
+	desmume/utils/AsmJit/base/vectypes.h
48
+	desmume/utils/AsmJit/base/vmem.h
49
+	desmume/utils/AsmJit/base/zone.h
50
+	desmume/utils/AsmJit/build.h
51
+	desmume/utils/AsmJit/Config.h
52
+	desmume/utils/AsmJit/host.h
53
+	desmume/utils/AsmJit/x86.h
54
+	desmume/utils/AsmJit/x86/x86assembler.h
55
+	desmume/utils/AsmJit/x86/x86compiler.h
56
+	desmume/utils/AsmJit/x86/x86context_p.h
57
+	desmume/utils/AsmJit/x86/x86cpuinfo.h
58
+	desmume/utils/AsmJit/x86/x86inst.h
59
+	desmume/utils/AsmJit/x86/x86operand.h
60
+	desmume/utils/AsmJit/x86/x86scheduler_p.h
61
+	desmume/utils/bits.h
62
+	desmume/version.h
63
+	spu/adpcmdecoder.h
64
+	spu/interpolator.h
65
+	spu/samplecache.h
66
+	spu/sampledata.h)
67
+set(SOURCES
68
+	desmume/addons/slot1_retail.cpp
69
+	desmume/arm_instructions.cpp
70
+	desmume/arm_jit.cpp
71
+	desmume/armcpu.cpp
72
+	desmume/bios.cpp
73
+	desmume/cp15.cpp
74
+	desmume/emufile.cpp
75
+	desmume/FIFO.cpp
76
+	desmume/firmware.cpp
77
+	desmume/mc.cpp
78
+	desmume/metaspu/metaspu.cpp
79
+	desmume/MMU.cpp
80
+	desmume/NDSSystem.cpp
81
+	desmume/readwrite.cpp
82
+	desmume/slot1.cpp
83
+	desmume/SPU.cpp
84
+	desmume/thumb_instructions.cpp
85
+	desmume/utils/AsmJit/base/assembler.cpp
86
+	desmume/utils/AsmJit/base/codegen.cpp
87
+	desmume/utils/AsmJit/base/compiler.cpp
88
+	desmume/utils/AsmJit/base/constpool.cpp
89
+	desmume/utils/AsmJit/base/containers.cpp
90
+	desmume/utils/AsmJit/base/context.cpp
91
+	desmume/utils/AsmJit/base/cpuinfo.cpp
92
+	desmume/utils/AsmJit/base/cputicks.cpp
93
+	desmume/utils/AsmJit/base/error.cpp
94
+	desmume/utils/AsmJit/base/globals.cpp
95
+	desmume/utils/AsmJit/base/logger.cpp
96
+	desmume/utils/AsmJit/base/operand.cpp
97
+	desmume/utils/AsmJit/base/runtime.cpp
98
+	desmume/utils/AsmJit/base/string.cpp
99
+	desmume/utils/AsmJit/base/vmem.cpp
100
+	desmume/utils/AsmJit/base/zone.cpp
101
+	desmume/utils/AsmJit/x86/x86assembler.cpp
102
+	desmume/utils/AsmJit/x86/x86compiler.cpp
103
+	desmume/utils/AsmJit/x86/x86context.cpp
104
+	desmume/utils/AsmJit/x86/x86cpuinfo.cpp
105
+	desmume/utils/AsmJit/x86/x86inst.cpp
106
+	desmume/utils/AsmJit/x86/x86operand.cpp
107
+	desmume/utils/AsmJit/x86/x86operand_regs.cpp
108
+	desmume/utils/AsmJit/x86/x86scheduler.cpp
109
+	desmume/version.cpp
110
+	spu/adpcmdecoder.cpp
111
+	spu/interpolator.cpp
112
+	spu/samplecache.cpp
113
+	spu/sampledata.cpp
114
+	XSFConfig_2SF.cpp
115
+	XSFPlayer_2SF.cpp)
116
+
117
+add_library(in_2sf SHARED ${HEADERS} ${SOURCES})
118
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
119
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
120
+target_link_libraries(in_2sf
121
+	in_xsf_framework)