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. :/)
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -1,1 +1,14 @@
+cmake_minimum_required(VERSION 3.5)
+project(in_xsf CXX)
+enable_language(C)
+set(CMAKE_CXX_STANDARD 17)
+
+add_subdirectory(in_xsf_framework)
+add_subdirectory(in_2sf)
+add_subdirectory(in_gsf)
+add_subdirectory(in_ncsf)
+add_subdirectory(in_snsf)
+
+set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT "in_ncsf")
+
--- /dev/null
+++ b/src/in_2sf/CMakeLists.txt
@@ -1,1 +1,122 @@
+set(HEADERS
+ desmume/arm_jit.h
+ desmume/armcpu.h
+ desmume/bios.h
+ desmume/cp15.h
+ desmume/emufile.h
+ desmume/FIFO.h
+ desmume/firmware.h
+ desmume/instruction_attributes.h
+ desmume/instruction_tabdef.inc
+ desmume/instructions.h
+ desmume/matrix.h
+ desmume/mc.h
+ desmume/mem.h
+ desmume/metaspu/metaspu.h
+ desmume/MMU.h
+ desmume/MMU_timing.h
+ desmume/NDSSystem.h
+ desmume/PACKED.h
+ desmume/PACKED_END.h
+ desmume/readwrite.h
+ desmume/registers.h
+ desmume/slot1.h
+ desmume/SPU.h
+ desmume/thumb_tabdef.inc
+ desmume/types.h
+ desmume/utils/AsmJit/apibegin.h
+ desmume/utils/AsmJit/apiend.h
+ desmume/utils/AsmJit/AsmJit.h
+ desmume/utils/AsmJit/base.h
+ desmume/utils/AsmJit/base/assembler.h
+ desmume/utils/AsmJit/base/codegen.h
+ desmume/utils/AsmJit/base/compiler.h
+ desmume/utils/AsmJit/base/constpool.h
+ desmume/utils/AsmJit/base/containers.h
+ desmume/utils/AsmJit/base/context_p.h
+ desmume/utils/AsmJit/base/cpuinfo.h
+ desmume/utils/AsmJit/base/cputicks.h
+ desmume/utils/AsmJit/base/error.h
+ desmume/utils/AsmJit/base/globals.h
+ desmume/utils/AsmJit/base/intutil.h
+ desmume/utils/AsmJit/base/lock.h
+ desmume/utils/AsmJit/base/logger.h
+ desmume/utils/AsmJit/base/operand.h
+ desmume/utils/AsmJit/base/runtime.h
+ desmume/utils/AsmJit/base/string.h
+ desmume/utils/AsmJit/base/vectypes.h
+ desmume/utils/AsmJit/base/vmem.h
+ desmume/utils/AsmJit/base/zone.h
+ desmume/utils/AsmJit/build.h
+ desmume/utils/AsmJit/Config.h
+ desmume/utils/AsmJit/host.h
+ desmume/utils/AsmJit/x86.h
+ desmume/utils/AsmJit/x86/x86assembler.h
+ desmume/utils/AsmJit/x86/x86compiler.h
+ desmume/utils/AsmJit/x86/x86context_p.h
+ desmume/utils/AsmJit/x86/x86cpuinfo.h
+ desmume/utils/AsmJit/x86/x86inst.h
+ desmume/utils/AsmJit/x86/x86operand.h
+ desmume/utils/AsmJit/x86/x86scheduler_p.h
+ desmume/utils/bits.h
+ desmume/version.h
+ spu/adpcmdecoder.h
+ spu/interpolator.h
+ spu/samplecache.h
+ spu/sampledata.h)
+set(SOURCES
+ desmume/addons/slot1_retail.cpp
+ desmume/arm_instructions.cpp
+ desmume/arm_jit.cpp
+ desmume/armcpu.cpp
+ desmume/bios.cpp
+ desmume/cp15.cpp
+ desmume/emufile.cpp
+ desmume/FIFO.cpp
+ desmume/firmware.cpp
+ desmume/mc.cpp
+ desmume/metaspu/metaspu.cpp
+ desmume/MMU.cpp
+ desmume/NDSSystem.cpp
+ desmume/readwrite.cpp
+ desmume/slot1.cpp
+ desmume/SPU.cpp
+ desmume/thumb_instructions.cpp
+ desmume/utils/AsmJit/base/assembler.cpp
+ desmume/utils/AsmJit/base/codegen.cpp
+ desmume/utils/AsmJit/base/compiler.cpp
+ desmume/utils/AsmJit/base/constpool.cpp
+ desmume/utils/AsmJit/base/containers.cpp
+ desmume/utils/AsmJit/base/context.cpp
+ desmume/utils/AsmJit/base/cpuinfo.cpp
+ desmume/utils/AsmJit/base/cputicks.cpp
+ desmume/utils/AsmJit/base/error.cpp
+ desmume/utils/AsmJit/base/globals.cpp
+ desmume/utils/AsmJit/base/logger.cpp
+ desmume/utils/AsmJit/base/operand.cpp
+ desmume/utils/AsmJit/base/runtime.cpp
+ desmume/utils/AsmJit/base/string.cpp
+ desmume/utils/AsmJit/base/vmem.cpp
+ desmume/utils/AsmJit/base/zone.cpp
+ desmume/utils/AsmJit/x86/x86assembler.cpp
+ desmume/utils/AsmJit/x86/x86compiler.cpp
+ desmume/utils/AsmJit/x86/x86context.cpp
+ desmume/utils/AsmJit/x86/x86cpuinfo.cpp
+ desmume/utils/AsmJit/x86/x86inst.cpp
+ desmume/utils/AsmJit/x86/x86operand.cpp
+ desmume/utils/AsmJit/x86/x86operand_regs.cpp
+ desmume/utils/AsmJit/x86/x86scheduler.cpp
+ desmume/version.cpp
+ spu/adpcmdecoder.cpp
+ spu/interpolator.cpp
+ spu/samplecache.cpp
+ spu/sampledata.cpp
+ XSFConfig_2SF.cpp
+ XSFPlayer_2SF.cpp)
+add_library(in_2sf SHARED ${HEADERS} ${SOURCES})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
+target_link_libraries(in_2sf
+ in_xsf_framework)
+
--- a/src/in_2sf/in_2sf.vcxproj
+++ b/src/in_2sf/in_2sf.vcxproj
@@ -203,6 +203,9 @@
<Project>{9d6d2540-b3dc-462b-bbc0-5b7c32a4d581}</Project>
</ProjectReference>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
--- a/src/in_2sf/in_2sf.vcxproj.filters
+++ b/src/in_2sf/in_2sf.vcxproj.filters
@@ -138,9 +138,6 @@
<ClCompile Include="desmume/utils/AsmJit/base/operand.cpp">
<Filter>Source Files\desmume\utils\AsmJit\base</Filter>
</ClCompile>
- <ClCompile Include="desmume/readwrite.cpp">
- <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
- </ClCompile>
<ClCompile Include="desmume/utils/AsmJit/base/runtime.cpp">
<Filter>Source Files\desmume\utils\AsmJit\base</Filter>
</ClCompile>
@@ -203,6 +200,9 @@
</ClCompile>
<ClCompile Include="spu\sampledata.cpp">
<Filter>Source Files\spu</Filter>
+ </ClCompile>
+ <ClCompile Include="desmume/readwrite.cpp">
+ <Filter>Source Files\desmume</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@@ -407,4 +407,7 @@
<Filter>Header Files\desmume</Filter>
</None>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
</Project>
--- /dev/null
+++ b/src/in_gsf/CMakeLists.txt
@@ -1,1 +1,35 @@
+set(HEADERS
+ vbam/apu/blargg_common.h
+ vbam/apu/blargg_config.h
+ vbam/apu/Blip_Buffer.h
+ vbam/apu/Gb_Apu.h
+ vbam/apu/Gb_Oscs.h
+ vbam/apu/Multi_Buffer.h
+ vbam/common/Port.h
+ vbam/common/SoundDriver.h
+ vbam/gba/bios.h
+ vbam/gba/GBA.h
+ vbam/gba/GBAcpu.h
+ vbam/gba/GBAinline.h
+ vbam/gba/Globals.h
+ vbam/gba/Sound.h)
+set(SOURCES
+ vbam/apu/Blip_Buffer.cpp
+ vbam/apu/Gb_Apu.cpp
+ vbam/apu/Gb_Oscs.cpp
+ vbam/apu/Multi_Buffer.cpp
+ vbam/gba/bios.cpp
+ vbam/gba/GBA.cpp
+ vbam/gba/GBA-arm.cpp
+ vbam/gba/GBA-thumb.cpp
+ vbam/gba/Globals.cpp
+ vbam/gba/Sound.cpp
+ XSFConfig_GSF.cpp
+ XSFPlayer_GSF.cpp)
+add_library(in_gsf SHARED ${HEADERS} ${SOURCES})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
+target_link_libraries(in_gsf
+ in_xsf_framework)
+
--- a/src/in_gsf/in_gsf.vcxproj
+++ b/src/in_gsf/in_gsf.vcxproj
@@ -113,6 +113,9 @@
<Project>{9d6d2540-b3dc-462b-bbc0-5b7c32a4d581}</Project>
</ProjectReference>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
--- a/src/in_gsf/in_gsf.vcxproj.filters
+++ b/src/in_gsf/in_gsf.vcxproj.filters
@@ -117,4 +117,7 @@
<Filter>Header Files\vbam\gba</Filter>
</ClInclude>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
</Project>
--- /dev/null
+++ b/src/in_ncsf/CMakeLists.txt
@@ -1,1 +1,45 @@
+set(HEADERS
+ SSEQPlayer/Channel.h
+ SSEQPlayer/common.h
+ SSEQPlayer/consts.h
+ SSEQPlayer/FATSection.h
+ SSEQPlayer/INFOEntry.h
+ SSEQPlayer/INFOSection.h
+ SSEQPlayer/NDSStdHeader.h
+ SSEQPlayer/Player.h
+ SSEQPlayer/SBNK.h
+ SSEQPlayer/SDAT.h
+ SSEQPlayer/SSEQ.h
+ SSEQPlayer/SWAR.h
+ SSEQPlayer/SWAV.h
+ SSEQPlayer/SYMBSection.h
+ SSEQPlayer/Track.h
+ resource.h
+ XSFConfig_NCSF.h
+ XSFPlayer_NCSF.h)
+set(RESOURCES
+ in_ncsf.rc)
+set(SOURCES
+ SSEQPlayer/Channel.cpp
+ SSEQPlayer/FATSection.cpp
+ SSEQPlayer/INFOEntry.cpp
+ SSEQPlayer/INFOSection.cpp
+ SSEQPlayer/NDSStdHeader.cpp
+ SSEQPlayer/Player.cpp
+ SSEQPlayer/SBNK.cpp
+ SSEQPlayer/SDAT.cpp
+ SSEQPlayer/SSEQ.cpp
+ SSEQPlayer/SWAR.cpp
+ SSEQPlayer/SWAV.cpp
+ SSEQPlayer/SYMBSection.cpp
+ SSEQPlayer/Track.cpp
+ XSFConfig_NCSF.cpp
+ XSFPlayer_NCSF.cpp)
+add_library(in_ncsf SHARED ${HEADERS} ${RESOURCES} ${SOURCES})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
+source_group("Resource Files" FILES ${RESOURCES})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
+target_link_libraries(in_ncsf
+ in_xsf_framework)
+
--- a/src/in_ncsf/in_ncsf.vcxproj
+++ b/src/in_ncsf/in_ncsf.vcxproj
@@ -125,6 +125,9 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
--- a/src/in_ncsf/in_ncsf.vcxproj.filters
+++ b/src/in_ncsf/in_ncsf.vcxproj.filters
@@ -128,4 +128,7 @@
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
</Project>
--- /dev/null
+++ b/src/in_snsf/CMakeLists.txt
@@ -1,1 +1,49 @@
+set(HEADERS
+ snes9x/65c816.h
+ snes9x/apu/apu.h
+ snes9x/apu/blargg_common.h
+ snes9x/apu/blargg_config.h
+ snes9x/apu/blargg_endian.h
+ snes9x/apu/bspline_resampler.h
+ snes9x/apu/hermite_resampler.h
+ snes9x/apu/linear_resampler.h
+ snes9x/apu/osculating_resampler.h
+ snes9x/apu/resampler.h
+ snes9x/apu/ring_buffer.h
+ snes9x/apu/sinc_resampler.h
+ snes9x/apu/SNES_SPC.h
+ snes9x/apu/SPC_CPU.h
+ snes9x/apu/SPC_DSP.h
+ snes9x/cpuaddr.h
+ snes9x/cpuexec.h
+ snes9x/cpumacro.h
+ snes9x/dma.h
+ snes9x/getset.h
+ snes9x/memmap.h
+ snes9x/port.h
+ snes9x/ppu.h
+ snes9x/sdd1.h
+ snes9x/snes9x.h
+ XSFConfig_SNSF.h)
+set(SOURCES
+ snes9x/apu/apu.cpp
+ snes9x/apu/SNES_SPC.cpp
+ snes9x/apu/SNES_SPC_misc.cpp
+ snes9x/apu/SPC_DSP.cpp
+ snes9x/cpu.cpp
+ snes9x/cpuexec.cpp
+ snes9x/cpuops.cpp
+ snes9x/dma.cpp
+ snes9x/globals.cpp
+ snes9x/memmap.cpp
+ snes9x/ppu.cpp
+ snes9x/sdd1.cpp
+ XSFConfig_SNSF.cpp
+ XSFPlayer_SNSF.cpp)
+add_library(in_snsf SHARED ${HEADERS} ${SOURCES})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
+target_link_libraries(in_snsf
+ in_xsf_framework)
+
--- a/src/in_snsf/in_snsf.vcxproj
+++ b/src/in_snsf/in_snsf.vcxproj
@@ -128,6 +128,9 @@
<Project>{9d6d2540-b3dc-462b-bbc0-5b7c32a4d581}</Project>
</ProjectReference>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
--- a/src/in_snsf/in_snsf.vcxproj.filters
+++ b/src/in_snsf/in_snsf.vcxproj.filters
@@ -153,4 +153,7 @@
<Filter>Header Files\snes9x\apu</Filter>
</ClInclude>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
</Project>
--- a/src/in_xsf.sln
+++ b/src/in_xsf.sln
@@ -12,6 +12,11 @@
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "in_ncsf", "in_ncsf\in_ncsf.vcxproj", "{4EDC9B55-39BE-4D36-8819-F414FC77ED1E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "in_xsf_framework", "in_xsf_framework\in_xsf_framework.vcxproj", "{9D6D2540-B3DC-462B-BBC0-5B7C32A4D581}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{FFA9BB94-5C63-468F-8A9C-65FD7D3715E2}"
+ ProjectSection(SolutionItems) = preProject
+ CMakeLists.txt = CMakeLists.txt
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
--- /dev/null
+++ b/src/in_xsf_framework/CMakeLists.txt
@@ -1,1 +1,248 @@
-
+# zlib
+add_subdirectory(zlib)
+
+# wxWidgets
+# Force settings
+set(wxBUILD_COMPATIBILITY 3.1 CACHE STRING " " FORCE)
+set(wxBUILD_INSTALL OFF CACHE BOOL " " FORCE)
+set(wxBUILD_OPTIMIZE ON CACHE BOOL " " FORCE)
+set(wxBUILD_PRECOMP OFF CACHE BOOL " " FORCE)
+set(wxBUILD_SHARED OFF CACHE BOOL " " FORCE)
+set(wxUSE_ABOUTDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_ACCEL OFF CACHE BOOL " " FORCE)
+set(wxUSE_ACCESSIBILITY OFF CACHE BOOL " " FORCE)
+set(wxUSE_ACTIVEX OFF CACHE BOOL " " FORCE)
+set(wxUSE_ACTIVITYINDICATOR OFF CACHE BOOL " " FORCE)
+set(wxUSE_ADDREMOVECTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_AFM_FOR_POSTSCRIPT OFF CACHE BOOL " " FORCE)
+set(wxUSE_ANIMATIONCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_ANY OFF CACHE BOOL " " FORCE)
+set(wxUSE_APPLE_IEEE OFF CACHE BOOL " " FORCE)
+set(wxUSE_ARCHIVE_STREAMS OFF CACHE BOOL " " FORCE)
+set(wxUSE_ARTPROVIDER_STD OFF CACHE BOOL " " FORCE)
+set(wxUSE_ARTPROVIDER_TANGO OFF CACHE BOOL " " FORCE)
+set(wxUSE_AUI OFF CACHE BOOL " " FORCE)
+set(wxUSE_BANNERWINDOW OFF CACHE BOOL " " FORCE)
+set(wxUSE_BASE64 OFF CACHE BOOL " " FORCE)
+set(wxUSE_BITMAPCOMBOBOX OFF CACHE BOOL " " FORCE)
+set(wxUSE_BMPBUTTON OFF CACHE BOOL " " FORCE)
+set(wxUSE_BUSYINFO OFF CACHE BOOL " " FORCE)
+set(wxUSE_CALENDARCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_CARET OFF CACHE BOOL " " FORCE)
+set(wxUSE_CHECKLISTBOX OFF CACHE BOOL " " FORCE)
+set(wxUSE_CHOICEBOOK OFF CACHE BOOL " " FORCE)
+set(wxUSE_CHOICEDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_CLIPBOARD OFF CACHE BOOL " " FORCE)
+set(wxUSE_CMDLINE_PARSER OFF CACHE BOOL " " FORCE)
+set(wxUSE_COLLPANE OFF CACHE BOOL " " FORCE)
+set(wxUSE_COLOURDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_COLOURPICKERCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_COMBOBOX OFF CACHE BOOL " " FORCE)
+set(wxUSE_COMBOCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_COMMANDLINKBUTTON OFF CACHE BOOL " " FORCE)
+set(wxUSE_CONFIG OFF CACHE BOOL " " FORCE)
+set(wxUSE_CONSOLE_EVENTLOOP OFF CACHE BOOL " " FORCE)
+set(wxUSE_CRASHREPORT OFF CACHE BOOL " " FORCE)
+set(wxUSE_DATAVIEWCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_DATEPICKCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_DATETIME OFF CACHE BOOL " " FORCE)
+set(wxUSE_DBGHELP OFF CACHE BOOL " " FORCE)
+set(wxUSE_DC_TRANSFORM_MATRIX OFF CACHE BOOL " " FORCE)
+set(wxUSE_DEBUGREPORT OFF CACHE BOOL " " FORCE)
+set(wxUSE_DIALUP_MANAGER OFF CACHE BOOL " " FORCE)
+set(wxUSE_DIRDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_DIRPICKERCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_DISPLAY OFF CACHE BOOL " " FORCE)
+set(wxUSE_DOC_VIEW_ARCHITECTURE OFF CACHE BOOL " " FORCE)
+set(wxUSE_DRAG_AND_DROP OFF CACHE BOOL " " FORCE)
+set(wxUSE_DRAGIMAGE OFF CACHE BOOL " " FORCE)
+set(wxUSE_EDITABLELISTBOX OFF CACHE BOOL " " FORCE)
+set(wxUSE_EXPAT OFF CACHE STRING " " FORCE)
+set(wxUSE_FILE_HISTORY OFF CACHE BOOL " " FORCE)
+set(wxUSE_FILECTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_FILEDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_FILEPICKERCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_FILESYSTEM OFF CACHE BOOL " " FORCE)
+set(wxUSE_FINDREPLDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_FONTDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_FONTENUM OFF CACHE BOOL " " FORCE)
+set(wxUSE_FONTMAP OFF CACHE BOOL " " FORCE)
+set(wxUSE_FONTPICKERCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_FS_ARCHIVE OFF CACHE BOOL " " FORCE)
+set(wxUSE_FS_INET OFF CACHE BOOL " " FORCE)
+set(wxUSE_FS_ZIP OFF CACHE BOOL " " FORCE)
+set(wxUSE_FSVOLUME OFF CACHE BOOL " " FORCE)
+set(wxUSE_FSWATCHER OFF CACHE BOOL " " FORCE)
+set(wxUSE_GAUGE OFF CACHE BOOL " " FORCE)
+set(wxUSE_GEOMETRY OFF CACHE BOOL " " FORCE)
+set(wxUSE_GIF OFF CACHE BOOL " " FORCE)
+set(wxUSE_GRAPHICS_CONTEXT OFF CACHE BOOL " " FORCE)
+set(wxUSE_GRAPHICS_DIRECT2D OFF CACHE BOOL " " FORCE)
+set(wxUSE_HELP OFF CACHE BOOL " " FORCE)
+set(wxUSE_HOTKEY OFF CACHE BOOL " " FORCE)
+set(wxUSE_HTML OFF CACHE BOOL " " FORCE)
+set(wxUSE_HYPERLINKCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_ICO_CUR OFF CACHE BOOL " " FORCE)
+set(wxUSE_IFF OFF CACHE BOOL " " FORCE)
+set(wxUSE_INFOBAR OFF CACHE BOOL " " FORCE)
+set(wxUSE_INICONF OFF CACHE BOOL " " FORCE)
+set(wxUSE_INTL OFF CACHE BOOL " " FORCE)
+set(wxUSE_IPC OFF CACHE BOOL " " FORCE)
+set(wxUSE_IPV6 OFF CACHE BOOL " " FORCE)
+set(wxUSE_JOYSTICK OFF CACHE BOOL " " FORCE)
+set(wxUSE_LIBJPEG OFF CACHE STRING " " FORCE)
+set(wxUSE_LIBPNG OFF CACHE STRING " " FORCE)
+set(wxUSE_LIBTIFF OFF CACHE STRING " " FORCE)
+set(wxUSE_LISTBOOK OFF CACHE BOOL " " FORCE)
+set(wxUSE_LISTCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_LOG OFF CACHE BOOL " " FORCE)
+set(wxUSE_LOG_DIALOG OFF CACHE BOOL " " FORCE)
+set(wxUSE_LOGGUI OFF CACHE BOOL " " FORCE)
+set(wxUSE_LOGWINDOW OFF CACHE BOOL " " FORCE)
+set(wxUSE_LONGLONG OFF CACHE BOOL " " FORCE)
+set(wxUSE_MARKUP OFF CACHE BOOL " " FORCE)
+set(wxUSE_MDI OFF CACHE BOOL " " FORCE)
+set(wxUSE_MDI_ARCHITECTURE OFF CACHE BOOL " " FORCE)
+set(wxUSE_MEDIACTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_METAFILE OFF CACHE BOOL " " FORCE)
+set(wxUSE_MIMETYPE OFF CACHE BOOL " " FORCE)
+set(wxUSE_MINIFRAME OFF CACHE BOOL " " FORCE)
+set(wxUSE_MOUSEWHEEL OFF CACHE BOOL " " FORCE)
+set(wxUSE_MS_HTML_HELP OFF CACHE BOOL " " FORCE)
+set(wxUSE_NATIVE_DATAVIEWCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_NATIVE_PROGRESSDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_NATIVE_STATUSBAR OFF CACHE BOOL " " FORCE)
+set(wxUSE_NOTIFICATION_MESSAGE OFF CACHE BOOL " " FORCE)
+set(wxUSE_NUMBERDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_ODCOMBOBOX OFF CACHE BOOL " " FORCE)
+set(wxUSE_PALETTE OFF CACHE BOOL " " FORCE)
+set(wxUSE_PCX OFF CACHE BOOL " " FORCE)
+set(wxUSE_PNM OFF CACHE BOOL " " FORCE)
+set(wxUSE_POPUPWIN OFF CACHE BOOL " " FORCE)
+set(wxUSE_POSTSCRIPT OFF CACHE BOOL " " FORCE)
+set(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW OFF CACHE BOOL " " FORCE)
+set(wxUSE_PREFERENCES_EDITOR OFF CACHE BOOL " " FORCE)
+set(wxUSE_PRINTF_POS_PARAMS OFF CACHE BOOL " " FORCE)
+set(wxUSE_PRINTING_ARCHITECTURE OFF CACHE BOOL " " FORCE)
+set(wxUSE_PROGRESSDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_PROPGRID OFF CACHE BOOL " " FORCE)
+set(wxUSE_PROTOCOL OFF CACHE BOOL " " FORCE)
+set(wxUSE_PROTOCOL_FILE OFF CACHE BOOL " " FORCE)
+set(wxUSE_PROTOCOL_FTP OFF CACHE BOOL " " FORCE)
+set(wxUSE_PROTOCOL_HTTP OFF CACHE BOOL " " FORCE)
+set(wxUSE_RADIOBOX OFF CACHE BOOL " " FORCE)
+set(wxUSE_RADIOBTN OFF CACHE BOOL " " FORCE)
+set(wxUSE_REARRANGECTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_REGKEY OFF CACHE BOOL " " FORCE)
+set(wxUSE_RIBBON OFF CACHE BOOL " " FORCE)
+set(wxUSE_RICHMSGDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_RICHTEXT OFF CACHE BOOL " " FORCE)
+set(wxUSE_RICHTOOLTIP OFF CACHE BOOL " " FORCE)
+set(wxUSE_SASH OFF CACHE BOOL " " FORCE)
+set(wxUSE_SEARCHCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_SECRETSTORE OFF CACHE BOOL " " FORCE)
+set(wxUSE_SLIDER OFF CACHE BOOL " " FORCE)
+set(wxUSE_SNGLINST_CHECKER OFF CACHE BOOL " " FORCE)
+set(wxUSE_SOCKETS OFF CACHE BOOL " " FORCE)
+set(wxUSE_SOUND OFF CACHE BOOL " " FORCE)
+set(wxUSE_SPINBTN OFF CACHE BOOL " " FORCE)
+set(wxUSE_SPINCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_SPLASH OFF CACHE BOOL " " FORCE)
+set(wxUSE_SPLINES OFF CACHE BOOL " " FORCE)
+set(wxUSE_SPLITTER OFF CACHE BOOL " " FORCE)
+set(wxUSE_STACKWALKER OFF CACHE BOOL " " FORCE)
+set(wxUSE_STARTUP_TIPS OFF CACHE BOOL " " FORCE)
+set(wxUSE_STATBMP OFF CACHE BOOL " " FORCE)
+set(wxUSE_STATBOX OFF CACHE BOOL " " FORCE)
+set(wxUSE_STATLINE OFF CACHE BOOL " " FORCE)
+set(wxUSE_STATUSBAR OFF CACHE BOOL " " FORCE)
+set(wxUSE_STC OFF CACHE BOOL " " FORCE)
+set(wxUSE_STDPATHS OFF CACHE BOOL " " FORCE)
+set(wxUSE_STOPWATCH OFF CACHE BOOL " " FORCE)
+set(wxUSE_STL ON CACHE BOOL " " FORCE)
+set(wxUSE_SVG OFF CACHE BOOL " " FORCE)
+set(wxUSE_SYSTEM_OPTIONS OFF CACHE BOOL " " FORCE)
+set(wxUSE_TARSTREAM OFF CACHE BOOL " " FORCE)
+set(wxUSE_TASKBARBUTTON OFF CACHE BOOL " " FORCE)
+set(wxUSE_TASKBARICON OFF CACHE BOOL " " FORCE)
+set(wxUSE_TASKBARICON_BALLOONS OFF CACHE BOOL " " FORCE)
+set(wxUSE_TEXTBUFFER OFF CACHE BOOL " " FORCE)
+set(wxUSE_TEXTDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_TEXTFILE OFF CACHE BOOL " " FORCE)
+set(wxUSE_TGA OFF CACHE BOOL " " FORCE)
+set(wxUSE_THREADS OFF CACHE BOOL " " FORCE)
+set(wxUSE_TIMEPICKCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_TIMER OFF CACHE BOOL " " FORCE)
+set(wxUSE_TIPWINDOW OFF CACHE BOOL " " FORCE)
+set(wxUSE_TOGGLEBTN OFF CACHE BOOL " " FORCE)
+set(wxUSE_TOOLBAR OFF CACHE BOOL " " FORCE)
+set(wxUSE_TOOLBAR_NATIVE OFF CACHE BOOL " " FORCE)
+set(wxUSE_TOOLBOOK OFF CACHE BOOL " " FORCE)
+set(wxUSE_TOOLTIPS OFF CACHE BOOL " " FORCE)
+set(wxUSE_TREEBOOK OFF CACHE BOOL " " FORCE)
+set(wxUSE_TREECTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_TREELISTCTRL OFF CACHE BOOL " " FORCE)
+set(wxUSE_UIACTIONSIMULATOR OFF CACHE BOOL " " FORCE)
+set(wxUSE_UNSAFE_WXSTRING_CONV OFF CACHE BOOL " " FORCE)
+set(wxUSE_URL OFF CACHE BOOL " " FORCE)
+set(wxUSE_WEBVIEW OFF CACHE BOOL " " FORCE)
+set(wxUSE_WEBVIEW_IE OFF CACHE BOOL " " FORCE)
+set(wxUSE_WEBVIEW_WEBKIT OFF CACHE BOOL " " FORCE)
+set(wxUSE_WINRT OFF CACHE BOOL " " FORCE)
+set(wxUSE_WIZARDDLG OFF CACHE BOOL " " FORCE)
+set(wxUSE_WXHTML_HELP OFF CACHE BOOL " " FORCE)
+set(wxUSE_XLOCALE OFF CACHE BOOL " " FORCE)
+set(wxUSE_XML OFF CACHE BOOL " " FORCE)
+set(wxUSE_XPM OFF CACHE BOOL " " FORCE)
+set(wxUSE_XRC OFF CACHE BOOL " " FORCE)
+set(wxUSE_ZIPSTREAM OFF CACHE BOOL " " FORCE)
+set(wxUSE_ZLIB OFF CACHE STRING " " FORCE)
+
+add_subdirectory(wxWidgets)
+
+# in_xsf_framework
+set(WINAMP_HEADERS
+ winamp/in2.h
+ winamp/out.h
+ winamp/wa_ipc.h)
+set(HEADERS
+ ${WINAMP_HEADERS}
+ convert.h
+ DialogBuilder.h
+ eqstr.h
+ ltstr.h
+ TagList.h
+ windowsh_wrapper.h
+ XSFCommon.h
+ XSFConfig.h
+ XSFFile.h
+ XSFPlayer.h)
+set(SOURCES
+ DialogBuilder.cpp
+ in_xsf.cpp
+ TagList.cpp
+ XSFConfig.cpp
+ XSFConfig_Winamp.cpp
+ XSFFile.cpp
+ XSFPlayer.cpp)
+
+add_library(in_xsf_framework STATIC ${HEADERS} ${SOURCES})
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
+source_group("Source Files" ${SOURCES})
+target_compile_definitions(in_xsf_framework PUBLIC
+ _CRT_SECURE_NO_WARNINGS
+ WINAMP_PLUGIN
+ UNICODE_INPUT_PLUGIN
+ $<$<AND:$<CXX_COMPILER_ID:MSVC>,$<CONFIG:Debug>>:_ITERATOR_DEBUG_LEVEL=0>)
+target_compile_options(in_xsf_framework PUBLIC
+ $<$<CXX_COMPILER_ID:MSVC>:/W4>)
+target_include_directories(in_xsf_framework PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/winamp
+ ${CMAKE_CURRENT_SOURCE_DIR}/zlib
+ ${CMAKE_CURRENT_BINARY_DIR}/zlib)
+target_link_libraries(in_xsf_framework
+ wx::base
+ wx::core
+ zlibstatic)
+
--- a/src/in_xsf_framework/in_xsf_framework.vcxproj
+++ b/src/in_xsf_framework/in_xsf_framework.vcxproj
@@ -110,6 +110,9 @@
<ClCompile Include="zlib\uncompr.c" />
<ClCompile Include="zlib\zutil.c" />
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
--- a/src/in_xsf_framework/in_xsf_framework.vcxproj.filters
+++ b/src/in_xsf_framework/in_xsf_framework.vcxproj.filters
@@ -123,4 +123,7 @@
<Filter>Source Files\zlib</Filter>
</ClCompile>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CMakeLists.txt" />
+ </ItemGroup>
</Project>