mirror of https://github.com/PCSX2/pcsx2.git
cmake: Windows dependency builds
This commit is contained in:
parent
205c8a05c3
commit
e1bb96cc94
|
@ -0,0 +1,55 @@
|
||||||
|
add_library(baseclasses
|
||||||
|
amextra.cpp
|
||||||
|
amfilter.cpp
|
||||||
|
amvideo.cpp
|
||||||
|
combase.cpp
|
||||||
|
ctlutil.cpp
|
||||||
|
ddmm.cpp
|
||||||
|
mtype.cpp
|
||||||
|
outputq.cpp
|
||||||
|
pstream.cpp
|
||||||
|
pullpin.cpp
|
||||||
|
refclock.cpp
|
||||||
|
renbase.cpp
|
||||||
|
schedule.cpp
|
||||||
|
seekpt.cpp
|
||||||
|
source.cpp
|
||||||
|
strmctl.cpp
|
||||||
|
sysclock.cpp
|
||||||
|
transfrm.cpp
|
||||||
|
transip.cpp
|
||||||
|
vtrans.cpp
|
||||||
|
wxdebug.cpp
|
||||||
|
wxlist.cpp
|
||||||
|
wxutil.cpp
|
||||||
|
amextra.h
|
||||||
|
amfilter.h
|
||||||
|
cache.h
|
||||||
|
combase.h
|
||||||
|
ctlutil.h
|
||||||
|
ddmm.h
|
||||||
|
fourcc.h
|
||||||
|
measure.h
|
||||||
|
msgthrd.h
|
||||||
|
mtype.h
|
||||||
|
outputq.h
|
||||||
|
pstream.h
|
||||||
|
pullpin.h
|
||||||
|
refclock.h
|
||||||
|
reftime.h
|
||||||
|
renbase.h
|
||||||
|
schedule.h
|
||||||
|
seekpt.h
|
||||||
|
source.h
|
||||||
|
streams.h
|
||||||
|
strmctl.h
|
||||||
|
sysclock.h
|
||||||
|
transfrm.h
|
||||||
|
transip.h
|
||||||
|
vtrans.h
|
||||||
|
wxdebug.h
|
||||||
|
wxlist.h
|
||||||
|
wxutil.h
|
||||||
|
)
|
||||||
|
target_include_directories(baseclasses PUBLIC .)
|
||||||
|
target_precompile_headers(baseclasses PRIVATE streams.h)
|
|
@ -0,0 +1,50 @@
|
||||||
|
add_library(freetype
|
||||||
|
src/autofit/autofit.c
|
||||||
|
src/bdf/bdf.c
|
||||||
|
src/cff/cff.c
|
||||||
|
src/base/ftbase.c
|
||||||
|
src/base/ftbitmap.c
|
||||||
|
src/cache/ftcache.c
|
||||||
|
src/base/ftfstype.c
|
||||||
|
src/base/ftgasp.c
|
||||||
|
src/base/ftglyph.c
|
||||||
|
src/gzip/ftgzip.c
|
||||||
|
src/base/ftinit.c
|
||||||
|
src/lzw/ftlzw.c
|
||||||
|
src/base/ftstroke.c
|
||||||
|
src/base/ftsystem.c
|
||||||
|
src/smooth/smooth.c
|
||||||
|
src/base/ftbbox.c
|
||||||
|
src/base/ftfntfmt.c
|
||||||
|
src/base/ftmm.c
|
||||||
|
src/base/ftpfr.c
|
||||||
|
src/base/ftsynth.c
|
||||||
|
src/base/fttype1.c
|
||||||
|
src/base/ftwinfnt.c
|
||||||
|
src/base/ftlcdfil.c
|
||||||
|
src/base/ftgxval.c
|
||||||
|
src/base/ftotval.c
|
||||||
|
src/base/ftpatent.c
|
||||||
|
src/pcf/pcf.c
|
||||||
|
src/pfr/pfr.c
|
||||||
|
src/psaux/psaux.c
|
||||||
|
src/pshinter/pshinter.c
|
||||||
|
src/psnames/psmodule.c
|
||||||
|
src/raster/raster.c
|
||||||
|
src/sfnt/sfnt.c
|
||||||
|
src/truetype/truetype.c
|
||||||
|
src/type1/type1.c
|
||||||
|
src/cid/type1cid.c
|
||||||
|
src/type42/type42.c
|
||||||
|
src/winfonts/winfnt.c
|
||||||
|
include/ft2build.h
|
||||||
|
include/freetype/config/ftconfig.h
|
||||||
|
include/freetype/config/ftheader.h
|
||||||
|
include/freetype/config/ftmodule.h
|
||||||
|
include/freetype/config/ftoption.h
|
||||||
|
include/freetype/config/ftstdlib.h
|
||||||
|
)
|
||||||
|
target_compile_definitions(freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_SECURE_NO_DEPRECATE FT2_BUILD_LIBRARY)
|
||||||
|
target_include_directories(freetype PUBLIC include)
|
||||||
|
target_link_libraries(freetype PRIVATE ZLIB::ZLIB)
|
||||||
|
add_library(Freetype::Freetype ALIAS freetype)
|
|
@ -0,0 +1,60 @@
|
||||||
|
add_library(jpeg
|
||||||
|
jaricom.c
|
||||||
|
jcapimin.c
|
||||||
|
jcapistd.c
|
||||||
|
jcarith.c
|
||||||
|
jccoefct.c
|
||||||
|
jccolor.c
|
||||||
|
jcdctmgr.c
|
||||||
|
jchuff.c
|
||||||
|
jcinit.c
|
||||||
|
jcmainct.c
|
||||||
|
jcmarker.c
|
||||||
|
jcmaster.c
|
||||||
|
jcomapi.c
|
||||||
|
jcparam.c
|
||||||
|
jcprepct.c
|
||||||
|
jcsample.c
|
||||||
|
jctrans.c
|
||||||
|
jdapimin.c
|
||||||
|
jdapistd.c
|
||||||
|
jdarith.c
|
||||||
|
jdatadst.c
|
||||||
|
jdatasrc.c
|
||||||
|
jdcoefct.c
|
||||||
|
jdcolor.c
|
||||||
|
jddctmgr.c
|
||||||
|
jdhuff.c
|
||||||
|
jdinput.c
|
||||||
|
jdmainct.c
|
||||||
|
jdmarker.c
|
||||||
|
jdmaster.c
|
||||||
|
jdmerge.c
|
||||||
|
jdpostct.c
|
||||||
|
jdsample.c
|
||||||
|
jdtrans.c
|
||||||
|
jerror.c
|
||||||
|
jfdctflt.c
|
||||||
|
jfdctfst.c
|
||||||
|
jfdctint.c
|
||||||
|
jidctflt.c
|
||||||
|
jidctfst.c
|
||||||
|
jidctint.c
|
||||||
|
jmemansi.c
|
||||||
|
jmemmgr.c
|
||||||
|
jquant1.c
|
||||||
|
jquant2.c
|
||||||
|
jutils.c
|
||||||
|
jconfig.h
|
||||||
|
jdct.h
|
||||||
|
jerror.h
|
||||||
|
jinclude.h
|
||||||
|
jmemsys.h
|
||||||
|
jmorecfg.h
|
||||||
|
jpegint.h
|
||||||
|
jpeglib.h
|
||||||
|
jversion.h
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(jpeg PUBLIC .)
|
||||||
|
add_library(JPEG::JPEG ALIAS jpeg)
|
|
@ -0,0 +1,21 @@
|
||||||
|
add_library(png
|
||||||
|
png.c
|
||||||
|
pngerror.c
|
||||||
|
pngget.c
|
||||||
|
pngmem.c
|
||||||
|
pngpread.c
|
||||||
|
pngread.c
|
||||||
|
pngrio.c
|
||||||
|
pngrtran.c
|
||||||
|
pngrutil.c
|
||||||
|
pngset.c
|
||||||
|
pngtrans.c
|
||||||
|
pngwio.c
|
||||||
|
pngwrite.c
|
||||||
|
pngwtran.c
|
||||||
|
pngwutil.c
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(png PRIVATE ZLIB::ZLIB)
|
||||||
|
target_include_directories(png PUBLIC .)
|
||||||
|
add_library(PNG::PNG ALIAS png)
|
|
@ -0,0 +1,14 @@
|
||||||
|
add_library(samplerate
|
||||||
|
samplerate.c
|
||||||
|
src_linear.c
|
||||||
|
src_sinc.c
|
||||||
|
src_zoh.c
|
||||||
|
common.h
|
||||||
|
config.h
|
||||||
|
fastest_coeffs.h
|
||||||
|
high_qual_coeffs.h
|
||||||
|
mid_qual_coeffs.h
|
||||||
|
samplerate.h
|
||||||
|
)
|
||||||
|
target_include_directories(samplerate PUBLIC .)
|
||||||
|
add_library(PkgConfig::SAMPLERATE ALIAS samplerate)
|
|
@ -0,0 +1,36 @@
|
||||||
|
add_library(portaudio
|
||||||
|
src/common/pa_allocation.c
|
||||||
|
src/common/pa_converters.c
|
||||||
|
src/common/pa_cpuload.c
|
||||||
|
src/common/pa_debugprint.c
|
||||||
|
src/common/pa_dither.c
|
||||||
|
src/common/pa_front.c
|
||||||
|
src/common/pa_process.c
|
||||||
|
src/common/pa_ringbuffer.c
|
||||||
|
src/common/pa_stream.c
|
||||||
|
src/common/pa_trace.c
|
||||||
|
src/hostapi/dsound/pa_win_ds.c
|
||||||
|
src/hostapi/dsound/pa_win_ds_dynlink.c
|
||||||
|
src/hostapi/wdmks/pa_win_wdmks.c
|
||||||
|
src/hostapi/wmme/pa_win_wmme.c
|
||||||
|
src/hostapi/wasapi/pa_win_wasapi.c
|
||||||
|
src/os/win/pa_win_coinitialize.c
|
||||||
|
src/os/win/pa_win_hostapis.c
|
||||||
|
src/os/win/pa_win_util.c
|
||||||
|
src/os/win/pa_win_waveformat.c
|
||||||
|
src/os/win/pa_win_wdmks_utils.c
|
||||||
|
src/os/win/pa_x86_plain_converters.c
|
||||||
|
include/pa_asio.h
|
||||||
|
include/pa_jack.h
|
||||||
|
include/pa_linux_alsa.h
|
||||||
|
include/pa_mac_core.h
|
||||||
|
include/pa_win_ds.h
|
||||||
|
include/pa_win_wasapi.h
|
||||||
|
include/pa_win_waveformat.h
|
||||||
|
include/pa_win_wdmks.h
|
||||||
|
include/pa_win_wmme.h
|
||||||
|
include/portaudio.h
|
||||||
|
src/os/win/pa_win_coinitialize.h
|
||||||
|
)
|
||||||
|
target_include_directories(portaudio PUBLIC include PRIVATE src/common src/os/win)
|
||||||
|
add_library(PkgConfig::PORTAUDIO ALIAS portaudio)
|
|
@ -0,0 +1,11 @@
|
||||||
|
add_library(pthreads4w
|
||||||
|
pthread.c
|
||||||
|
config.h
|
||||||
|
context.h
|
||||||
|
include/pthread.h
|
||||||
|
include/sched.h
|
||||||
|
include/semaphore.h
|
||||||
|
need_errno.h
|
||||||
|
)
|
||||||
|
target_compile_definitions(pthreads4w PUBLIC PTW32_STATIC_LIB __CLEANUP_SEH PRIVATE HAVE_PTW32_CONFIG_H PTW32_BUILD_INLINED)
|
||||||
|
target_include_directories(pthreads4w PUBLIC include)
|
|
@ -0,0 +1,34 @@
|
||||||
|
add_library(soundtouch
|
||||||
|
source/SoundStretch/WavFile.cpp
|
||||||
|
source/SoundTouch/AAFilter.cpp
|
||||||
|
source/SoundTouch/BPMDetect.cpp
|
||||||
|
source/SoundTouch/cpu_detect_x86.cpp
|
||||||
|
source/SoundTouch/FIFOSampleBuffer.cpp
|
||||||
|
source/SoundTouch/FIRFilter.cpp
|
||||||
|
source/SoundTouch/InterpolateCubic.cpp
|
||||||
|
source/SoundTouch/InterpolateLinear.cpp
|
||||||
|
source/SoundTouch/InterpolateShannon.cpp
|
||||||
|
source/SoundTouch/mmx_optimized.cpp
|
||||||
|
source/SoundTouch/PeakFinder.cpp
|
||||||
|
source/SoundTouch/RateTransposer.cpp
|
||||||
|
source/SoundTouch/SoundTouch.cpp
|
||||||
|
source/SoundTouch/sse_optimized.cpp
|
||||||
|
source/SoundTouch/TDStretch.cpp
|
||||||
|
soundtouch/BPMDetect.h
|
||||||
|
soundtouch/FIFOSampleBuffer.h
|
||||||
|
soundtouch/FIFOSamplePipe.h
|
||||||
|
soundtouch/SoundTouch.h
|
||||||
|
soundtouch/STTypes.h
|
||||||
|
source/SoundStretch/WavFile.h
|
||||||
|
source/SoundTouch/AAFilter.h
|
||||||
|
source/SoundTouch/cpu_detect.h
|
||||||
|
source/SoundTouch/FIRFilter.h
|
||||||
|
source/SoundTouch/InterpolateCubic.h
|
||||||
|
source/SoundTouch/InterpolateLinear.h
|
||||||
|
source/SoundTouch/InterpolateShannon.h
|
||||||
|
source/SoundTouch/PeakFinder.h
|
||||||
|
source/SoundTouch/RateTransposer.h
|
||||||
|
source/SoundTouch/TDStretch.h
|
||||||
|
)
|
||||||
|
target_include_directories(soundtouch PUBLIC soundtouch)
|
||||||
|
add_library(PkgConfig::SOUNDTOUCH ALIAS soundtouch)
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,158 @@
|
||||||
|
add_library(xz-lzma
|
||||||
|
xz/src/common/tuklib_cpucores.c
|
||||||
|
xz/src/common/tuklib_physmem.c
|
||||||
|
xz/src/liblzma/check/check.c
|
||||||
|
xz/src/liblzma/check/crc32_fast.c
|
||||||
|
xz/src/liblzma/check/crc32_table.c
|
||||||
|
xz/src/liblzma/check/crc64_fast.c
|
||||||
|
xz/src/liblzma/check/crc64_table.c
|
||||||
|
xz/src/liblzma/check/sha256.c
|
||||||
|
xz/src/liblzma/common/alone_decoder.c
|
||||||
|
xz/src/liblzma/common/alone_encoder.c
|
||||||
|
xz/src/liblzma/common/auto_decoder.c
|
||||||
|
xz/src/liblzma/common/block_buffer_decoder.c
|
||||||
|
xz/src/liblzma/common/block_buffer_encoder.c
|
||||||
|
xz/src/liblzma/common/block_decoder.c
|
||||||
|
xz/src/liblzma/common/block_encoder.c
|
||||||
|
xz/src/liblzma/common/block_header_decoder.c
|
||||||
|
xz/src/liblzma/common/block_header_encoder.c
|
||||||
|
xz/src/liblzma/common/block_util.c
|
||||||
|
xz/src/liblzma/common/common.c
|
||||||
|
xz/src/liblzma/common/easy_buffer_encoder.c
|
||||||
|
xz/src/liblzma/common/easy_decoder_memusage.c
|
||||||
|
xz/src/liblzma/common/easy_encoder.c
|
||||||
|
xz/src/liblzma/common/easy_encoder_memusage.c
|
||||||
|
xz/src/liblzma/common/easy_preset.c
|
||||||
|
xz/src/liblzma/common/filter_buffer_decoder.c
|
||||||
|
xz/src/liblzma/common/filter_buffer_encoder.c
|
||||||
|
xz/src/liblzma/common/filter_common.c
|
||||||
|
xz/src/liblzma/common/filter_decoder.c
|
||||||
|
xz/src/liblzma/common/filter_encoder.c
|
||||||
|
xz/src/liblzma/common/filter_flags_decoder.c
|
||||||
|
xz/src/liblzma/common/filter_flags_encoder.c
|
||||||
|
xz/src/liblzma/common/hardware_cputhreads.c
|
||||||
|
xz/src/liblzma/common/hardware_physmem.c
|
||||||
|
xz/src/liblzma/common/index.c
|
||||||
|
xz/src/liblzma/common/index_decoder.c
|
||||||
|
xz/src/liblzma/common/index_encoder.c
|
||||||
|
xz/src/liblzma/common/index_hash.c
|
||||||
|
xz/src/liblzma/common/outqueue.c
|
||||||
|
xz/src/liblzma/common/stream_buffer_decoder.c
|
||||||
|
xz/src/liblzma/common/stream_buffer_encoder.c
|
||||||
|
xz/src/liblzma/common/stream_decoder.c
|
||||||
|
xz/src/liblzma/common/stream_encoder.c
|
||||||
|
xz/src/liblzma/common/stream_encoder_mt.c
|
||||||
|
xz/src/liblzma/common/stream_flags_common.c
|
||||||
|
xz/src/liblzma/common/stream_flags_decoder.c
|
||||||
|
xz/src/liblzma/common/stream_flags_encoder.c
|
||||||
|
xz/src/liblzma/common/vli_decoder.c
|
||||||
|
xz/src/liblzma/common/vli_encoder.c
|
||||||
|
xz/src/liblzma/common/vli_size.c
|
||||||
|
xz/src/liblzma/delta/delta_common.c
|
||||||
|
xz/src/liblzma/delta/delta_decoder.c
|
||||||
|
xz/src/liblzma/delta/delta_encoder.c
|
||||||
|
xz/src/liblzma/lzma/fastpos_table.c
|
||||||
|
xz/src/liblzma/lzma/lzma2_decoder.c
|
||||||
|
xz/src/liblzma/lzma/lzma2_encoder.c
|
||||||
|
xz/src/liblzma/lzma/lzma_decoder.c
|
||||||
|
xz/src/liblzma/lzma/lzma_encoder.c
|
||||||
|
xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c
|
||||||
|
xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c
|
||||||
|
xz/src/liblzma/lzma/lzma_encoder_presets.c
|
||||||
|
xz/src/liblzma/lz/lz_decoder.c
|
||||||
|
xz/src/liblzma/lz/lz_encoder.c
|
||||||
|
xz/src/liblzma/lz/lz_encoder_mf.c
|
||||||
|
xz/src/liblzma/rangecoder/price_table.c
|
||||||
|
xz/src/liblzma/simple/arm.c
|
||||||
|
xz/src/liblzma/simple/armthumb.c
|
||||||
|
xz/src/liblzma/simple/ia64.c
|
||||||
|
xz/src/liblzma/simple/powerpc.c
|
||||||
|
xz/src/liblzma/simple/simple_coder.c
|
||||||
|
xz/src/liblzma/simple/simple_decoder.c
|
||||||
|
xz/src/liblzma/simple/simple_encoder.c
|
||||||
|
xz/src/liblzma/simple/sparc.c
|
||||||
|
xz/src/liblzma/simple/x86.c
|
||||||
|
xz/src/common/mythread.h
|
||||||
|
xz/src/common/sysdefs.h
|
||||||
|
xz/src/common/tuklib_common.h
|
||||||
|
xz/src/common/tuklib_config.h
|
||||||
|
xz/src/common/tuklib_cpucores.h
|
||||||
|
xz/src/common/tuklib_integer.h
|
||||||
|
xz/src/common/tuklib_physmem.h
|
||||||
|
xz/src/liblzma/api/lzma.h
|
||||||
|
xz/src/liblzma/api/lzma/base.h
|
||||||
|
xz/src/liblzma/api/lzma/bcj.h
|
||||||
|
xz/src/liblzma/api/lzma/block.h
|
||||||
|
xz/src/liblzma/api/lzma/check.h
|
||||||
|
xz/src/liblzma/api/lzma/container.h
|
||||||
|
xz/src/liblzma/api/lzma/delta.h
|
||||||
|
xz/src/liblzma/api/lzma/filter.h
|
||||||
|
xz/src/liblzma/api/lzma/hardware.h
|
||||||
|
xz/src/liblzma/api/lzma/index.h
|
||||||
|
xz/src/liblzma/api/lzma/index_hash.h
|
||||||
|
xz/src/liblzma/api/lzma/lzma12.h
|
||||||
|
xz/src/liblzma/api/lzma/stream_flags.h
|
||||||
|
xz/src/liblzma/api/lzma/version.h
|
||||||
|
xz/src/liblzma/api/lzma/vli.h
|
||||||
|
xz/src/liblzma/check/check.h
|
||||||
|
xz/src/liblzma/check/crc32_table_be.h
|
||||||
|
xz/src/liblzma/check/crc32_table_le.h
|
||||||
|
xz/src/liblzma/check/crc64_table_be.h
|
||||||
|
xz/src/liblzma/check/crc64_table_le.h
|
||||||
|
xz/src/liblzma/check/crc_macros.h
|
||||||
|
xz/src/liblzma/common/alone_decoder.h
|
||||||
|
xz/src/liblzma/common/block_buffer_encoder.h
|
||||||
|
xz/src/liblzma/common/block_decoder.h
|
||||||
|
xz/src/liblzma/common/block_encoder.h
|
||||||
|
xz/src/liblzma/common/common.h
|
||||||
|
xz/src/liblzma/common/easy_preset.h
|
||||||
|
xz/src/liblzma/common/filter_common.h
|
||||||
|
xz/src/liblzma/common/filter_decoder.h
|
||||||
|
xz/src/liblzma/common/filter_encoder.h
|
||||||
|
xz/src/liblzma/common/index.h
|
||||||
|
xz/src/liblzma/common/index_encoder.h
|
||||||
|
xz/src/liblzma/common/memcmplen.h
|
||||||
|
xz/src/liblzma/common/outqueue.h
|
||||||
|
xz/src/liblzma/common/stream_decoder.h
|
||||||
|
xz/src/liblzma/common/stream_flags_common.h
|
||||||
|
xz/src/liblzma/delta/delta_common.h
|
||||||
|
xz/src/liblzma/delta/delta_decoder.h
|
||||||
|
xz/src/liblzma/delta/delta_encoder.h
|
||||||
|
xz/src/liblzma/delta/delta_private.h
|
||||||
|
xz/src/liblzma/lzma/fastpos.h
|
||||||
|
xz/src/liblzma/lzma/lzma2_decoder.h
|
||||||
|
xz/src/liblzma/lzma/lzma2_encoder.h
|
||||||
|
xz/src/liblzma/lzma/lzma_common.h
|
||||||
|
xz/src/liblzma/lzma/lzma_decoder.h
|
||||||
|
xz/src/liblzma/lzma/lzma_encoder.h
|
||||||
|
xz/src/liblzma/lzma/lzma_encoder_private.h
|
||||||
|
xz/src/liblzma/lz/lz_decoder.h
|
||||||
|
xz/src/liblzma/lz/lz_encoder.h
|
||||||
|
xz/src/liblzma/lz/lz_encoder_hash.h
|
||||||
|
xz/src/liblzma/lz/lz_encoder_hash_table.h
|
||||||
|
xz/src/liblzma/rangecoder/price.h
|
||||||
|
xz/src/liblzma/rangecoder/range_common.h
|
||||||
|
xz/src/liblzma/rangecoder/range_decoder.h
|
||||||
|
xz/src/liblzma/rangecoder/range_encoder.h
|
||||||
|
xz/src/liblzma/simple/simple_coder.h
|
||||||
|
xz/src/liblzma/simple/simple_decoder.h
|
||||||
|
xz/src/liblzma/simple/simple_encoder.h
|
||||||
|
xz/src/liblzma/simple/simple_private.h
|
||||||
|
config.h
|
||||||
|
)
|
||||||
|
target_compile_definitions(xz-lzma PRIVATE HAVE_CONFIG_H)
|
||||||
|
target_include_directories(xz-lzma
|
||||||
|
PUBLIC
|
||||||
|
xz/src/liblzma/api
|
||||||
|
PRIVATE
|
||||||
|
.
|
||||||
|
xz/src/common
|
||||||
|
xz/src/liblzma/check
|
||||||
|
xz/src/liblzma/common
|
||||||
|
xz/src/liblzma/delta
|
||||||
|
xz/src/liblzma/lz
|
||||||
|
xz/src/liblzma/lzma
|
||||||
|
xz/src/liblzma/rangecoder
|
||||||
|
xz/src/liblzma/simple
|
||||||
|
)
|
||||||
|
add_library(LibLZMA::LibLZMA ALIAS xz-lzma)
|
|
@ -0,0 +1,31 @@
|
||||||
|
add_library(pcsx2-zlib
|
||||||
|
adler32.c
|
||||||
|
compress.c
|
||||||
|
crc32.c
|
||||||
|
deflate.c
|
||||||
|
gzclose.c
|
||||||
|
gzlib.c
|
||||||
|
gzread.c
|
||||||
|
gzwrite.c
|
||||||
|
infback.c
|
||||||
|
inffast.c
|
||||||
|
inflate.c
|
||||||
|
inftrees.c
|
||||||
|
trees.c
|
||||||
|
uncompr.c
|
||||||
|
zutil.c
|
||||||
|
crc32.h
|
||||||
|
deflate.h
|
||||||
|
inffast.h
|
||||||
|
inffixed.h
|
||||||
|
inflate.h
|
||||||
|
inftrees.h
|
||||||
|
trees.h
|
||||||
|
zconf.h
|
||||||
|
zlib.h
|
||||||
|
zutil.h
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(pcsx2-zlib PUBLIC .)
|
||||||
|
|
||||||
|
add_library(ZLIB::ZLIB ALIAS pcsx2-zlib)
|
|
@ -77,6 +77,8 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
set(USE_GCC TRUE)
|
set(USE_GCC TRUE)
|
||||||
message(STATUS "Building with GNU GCC")
|
message(STATUS "Building with GNU GCC")
|
||||||
|
elseif(MSVC)
|
||||||
|
message(STATUS "Building with MSVC")
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}")
|
message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}")
|
||||||
endif()
|
endif()
|
||||||
|
@ -99,6 +101,8 @@ set(CMAKE_LINKER_FLAGS_DEVEL "${CMAKE_LINKER_FLAGS_RELWITHDEBINFO}"
|
||||||
CACHE STRING "Flags used for linking binaries during development builds" FORCE)
|
CACHE STRING "Flags used for linking binaries during development builds" FORCE)
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_DEVEL "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO}"
|
set(CMAKE_SHARED_LINKER_FLAGS_DEVEL "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO}"
|
||||||
CACHE STRING "Flags used for linking shared libraries during development builds" FORCE)
|
CACHE STRING "Flags used for linking shared libraries during development builds" FORCE)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS_DEVEL "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO}"
|
||||||
|
CACHE STRING "Flags used for linking executables during development builds" FORCE)
|
||||||
if(CMAKE_CONFIGURATION_TYPES)
|
if(CMAKE_CONFIGURATION_TYPES)
|
||||||
list(INSERT CMAKE_CONFIGURATION_TYPES 0 Devel)
|
list(INSERT CMAKE_CONFIGURATION_TYPES 0 Devel)
|
||||||
endif()
|
endif()
|
||||||
|
@ -152,17 +156,21 @@ if(${PCSX2_TARGET_ARCHITECTURES} MATCHES "i386")
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
|
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
|
||||||
|
|
||||||
if(NOT DEFINED ARCH_FLAG)
|
if(NOT DEFINED ARCH_FLAG)
|
||||||
if (DISABLE_ADVANCE_SIMD)
|
if (MSVC)
|
||||||
if (USE_ICC)
|
set(ARCH_FLAG /arch:SSE2)
|
||||||
set(ARCH_FLAG "-msse2 -msse4.1")
|
|
||||||
else()
|
|
||||||
set(ARCH_FLAG "-msse -msse2 -msse4.1 -mfxsr -march=i686")
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
# AVX requires some fix of the ABI (mangling) (default 2)
|
if (DISABLE_ADVANCE_SIMD)
|
||||||
# Note: V6 requires GCC 4.7
|
if (USE_ICC)
|
||||||
#set(ARCH_FLAG "-march=native -fabi-version=6")
|
set(ARCH_FLAG "-msse2 -msse4.1")
|
||||||
set(ARCH_FLAG "-mfxsr -march=native")
|
else()
|
||||||
|
set(ARCH_FLAG "-msse -msse2 -msse4.1 -mfxsr -march=i686")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
# AVX requires some fix of the ABI (mangling) (default 2)
|
||||||
|
# Note: V6 requires GCC 4.7
|
||||||
|
#set(ARCH_FLAG "-march=native -fabi-version=6")
|
||||||
|
set(ARCH_FLAG "-mfxsr -march=native")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -174,7 +182,7 @@ elseif(${PCSX2_TARGET_ARCHITECTURES} MATCHES "x86_64")
|
||||||
# x86_64 requires -fPIC
|
# x86_64 requires -fPIC
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
if(NOT DEFINED ARCH_FLAG)
|
if(NOT DEFINED ARCH_FLAG AND NOT MSVC)
|
||||||
if (DISABLE_ADVANCE_SIMD)
|
if (DISABLE_ADVANCE_SIMD)
|
||||||
if (USE_ICC)
|
if (USE_ICC)
|
||||||
set(ARCH_FLAG "-msse2 -msse4.1")
|
set(ARCH_FLAG "-msse2 -msse4.1")
|
||||||
|
@ -235,7 +243,13 @@ option(USE_PGO_OPTIMIZE "Enable PGO optimization (use profile)")
|
||||||
|
|
||||||
# Note1: Builtin strcmp/memcmp was proved to be slower on Mesa than stdlib version.
|
# Note1: Builtin strcmp/memcmp was proved to be slower on Mesa than stdlib version.
|
||||||
# Note2: float operation SSE is impacted by the PCSX2 SSE configuration. In particular, flush to zero denormal.
|
# Note2: float operation SSE is impacted by the PCSX2 SSE configuration. In particular, flush to zero denormal.
|
||||||
add_compile_options(-pipe -fvisibility=hidden -pthread -fno-builtin-strcmp -fno-builtin-memcmp -mfpmath=sse -fno-operator-names)
|
if(NOT MSVC)
|
||||||
|
add_compile_options(-pipe -fvisibility=hidden -pthread -fno-builtin-strcmp -fno-builtin-memcmp -mfpmath=sse -fno-operator-names)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
list(APPEND PCSX2_DEFS TIXML_USE_STL _SCL_SECURE_NO_WARNINGS _UNICODE UNICODE)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(USE_VTUNE)
|
if(USE_VTUNE)
|
||||||
list(APPEND PCSX2_DEFS ENABLE_VTUNE)
|
list(APPEND PCSX2_DEFS ENABLE_VTUNE)
|
||||||
|
@ -252,9 +266,13 @@ endif()
|
||||||
# -Wno-stringop-truncation: Who comes up with these compiler warnings, anyways?
|
# -Wno-stringop-truncation: Who comes up with these compiler warnings, anyways?
|
||||||
# -Wno-stringop-overflow: Probably the same people as this one...
|
# -Wno-stringop-overflow: Probably the same people as this one...
|
||||||
|
|
||||||
set(DEFAULT_WARNINGS -Wall -Wextra -Wno-attributes -Wno-unused-function -Wno-unused-parameter -Wno-missing-field-initializers -Wno-deprecated-declarations -Wno-format -Wno-format-security -Wno-overloaded-virtual)
|
if (MSVC)
|
||||||
if (NOT USE_ICC)
|
set(DEFAULT_WARNINGS)
|
||||||
list(APPEND DEFAULT_WARNINGS -Wno-unused-value)
|
else()
|
||||||
|
set(DEFAULT_WARNINGS -Wall -Wextra -Wno-attributes -Wno-unused-function -Wno-unused-parameter -Wno-missing-field-initializers -Wno-deprecated-declarations -Wno-format -Wno-format-security -Wno-overloaded-virtual)
|
||||||
|
if (NOT USE_ICC)
|
||||||
|
list(APPEND DEFAULT_WARNINGS -Wno-unused-value)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (USE_CLANG)
|
if (USE_CLANG)
|
||||||
|
@ -269,7 +287,7 @@ endif()
|
||||||
# -Wstrict-aliasing=n: to fix one day aliasing issue. n=1/2/3
|
# -Wstrict-aliasing=n: to fix one day aliasing issue. n=1/2/3
|
||||||
if (USE_ICC)
|
if (USE_ICC)
|
||||||
set(AGGRESSIVE_WARNING -Wstrict-aliasing)
|
set(AGGRESSIVE_WARNING -Wstrict-aliasing)
|
||||||
else()
|
elseif(NOT MSVC)
|
||||||
set(AGGRESSIVE_WARNING -Wstrict-aliasing -Wstrict-overflow=1)
|
set(AGGRESSIVE_WARNING -Wstrict-aliasing -Wstrict-overflow=1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ function(get_git_version_info)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(write_svnrev_h)
|
function(write_svnrev_h)
|
||||||
file(WRITE ${CMAKE_BINARY_DIR}/common/include/svnrev.h "#define SVN_REV ${PCSX2_WC_TIME}ll \n#define SVN_MODS 0\n#define GIT_REV \"${PCSX2_GIT_REV}\"")
|
file(WRITE ${CMAKE_BINARY_DIR}/common/include/svnrev.h "#define SVN_REV ${PCSX2_WC_TIME}ll \n#define SVN_MODS 0\n#define GIT_REV \"${PCSX2_GIT_REV}\"\n")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(check_compiler_version version_warn version_err)
|
function(check_compiler_version version_warn version_err)
|
||||||
|
|
|
@ -1,163 +1,179 @@
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# Search all libraries on the system
|
# Search all libraries on the system
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
## Use cmake package to find module
|
|
||||||
if (Linux)
|
|
||||||
find_package(ALSA REQUIRED)
|
|
||||||
make_imported_target_if_missing(ALSA::ALSA ALSA)
|
|
||||||
endif()
|
|
||||||
find_package(PCAP REQUIRED)
|
|
||||||
find_package(LibXml2 REQUIRED)
|
|
||||||
make_imported_target_if_missing(LibXml2::LibXml2 LibXml2)
|
|
||||||
find_package(Freetype REQUIRED) # GS OSD
|
|
||||||
find_package(Gettext) # translation tool
|
|
||||||
if(EXISTS ${PROJECT_SOURCE_DIR}/.git)
|
if(EXISTS ${PROJECT_SOURCE_DIR}/.git)
|
||||||
find_package(Git)
|
find_package(Git)
|
||||||
endif()
|
endif()
|
||||||
find_package(LibLZMA REQUIRED)
|
if (WIN32)
|
||||||
make_imported_target_if_missing(LibLZMA::LibLZMA LIBLZMA)
|
# We bundle everything on Windows
|
||||||
|
add_subdirectory(3rdparty/zlib EXCLUDE_FROM_ALL)
|
||||||
# Using find_package OpenGL without either setting your opengl preference to GLVND or LEGACY
|
add_subdirectory(3rdparty/libpng EXCLUDE_FROM_ALL)
|
||||||
# is deprecated as of cmake 3.11.
|
add_subdirectory(3rdparty/libjpeg EXCLUDE_FROM_ALL)
|
||||||
set(OpenGL_GL_PREFERENCE GLVND)
|
add_subdirectory(3rdparty/libsamplerate EXCLUDE_FROM_ALL)
|
||||||
find_package(OpenGL REQUIRED)
|
add_subdirectory(3rdparty/baseclasses EXCLUDE_FROM_ALL)
|
||||||
find_package(PNG REQUIRED)
|
add_subdirectory(3rdparty/freetype EXCLUDE_FROM_ALL)
|
||||||
find_package(Vtune)
|
add_subdirectory(3rdparty/portaudio EXCLUDE_FROM_ALL)
|
||||||
|
add_subdirectory(3rdparty/pthreads4w EXCLUDE_FROM_ALL)
|
||||||
# Does not require the module (allow to compile non-wx plugins)
|
add_subdirectory(3rdparty/soundtouch EXCLUDE_FROM_ALL)
|
||||||
# Force the unicode build (the variable is only supported on cmake 2.8.3 and above)
|
add_subdirectory(3rdparty/wxwidgets3.0 EXCLUDE_FROM_ALL)
|
||||||
# Warning do not put any double-quote for the argument...
|
add_subdirectory(3rdparty/xz EXCLUDE_FROM_ALL)
|
||||||
# set(wxWidgets_CONFIG_OPTIONS --unicode=yes --debug=yes) # In case someone want to debug inside wx
|
|
||||||
#
|
|
||||||
# Fedora uses an extra non-standard option ... Arch must be the first option.
|
|
||||||
# They do uname -m if missing so only fix for cross compilations.
|
|
||||||
# http://pkgs.fedoraproject.org/cgit/wxGTK.git/plain/wx-config
|
|
||||||
if(Fedora AND CMAKE_CROSSCOMPILING)
|
|
||||||
set(wxWidgets_CONFIG_OPTIONS --arch ${PCSX2_TARGET_ARCHITECTURES} --unicode=yes)
|
|
||||||
else()
|
else()
|
||||||
set(wxWidgets_CONFIG_OPTIONS --unicode=yes)
|
## Use cmake package to find module
|
||||||
endif()
|
if (Linux)
|
||||||
|
find_package(ALSA REQUIRED)
|
||||||
|
make_imported_target_if_missing(ALSA::ALSA ALSA)
|
||||||
|
endif()
|
||||||
|
find_package(PCAP REQUIRED)
|
||||||
|
find_package(LibXml2 REQUIRED)
|
||||||
|
make_imported_target_if_missing(LibXml2::LibXml2 LibXml2)
|
||||||
|
find_package(Freetype REQUIRED) # GS OSD
|
||||||
|
find_package(Gettext) # translation tool
|
||||||
|
find_package(LibLZMA REQUIRED)
|
||||||
|
make_imported_target_if_missing(LibLZMA::LibLZMA LIBLZMA)
|
||||||
|
|
||||||
# I'm removing the version check, because it excludes newer versions and requires specifically 3.0.
|
# Using find_package OpenGL without either setting your opengl preference to GLVND or LEGACY
|
||||||
#list(APPEND wxWidgets_CONFIG_OPTIONS --version=3.0)
|
# is deprecated as of cmake 3.11.
|
||||||
|
set(OpenGL_GL_PREFERENCE GLVND)
|
||||||
|
find_package(OpenGL REQUIRED)
|
||||||
|
find_package(PNG REQUIRED)
|
||||||
|
find_package(Vtune)
|
||||||
|
|
||||||
# The wx version must be specified so a mix of gtk2 and gtk3 isn't used
|
# Does not require the module (allow to compile non-wx plugins)
|
||||||
# as that can cause compile errors.
|
# Force the unicode build (the variable is only supported on cmake 2.8.3 and above)
|
||||||
if(GTK2_API AND NOT APPLE)
|
# Warning do not put any double-quote for the argument...
|
||||||
list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk2)
|
# set(wxWidgets_CONFIG_OPTIONS --unicode=yes --debug=yes) # In case someone want to debug inside wx
|
||||||
elseif(NOT APPLE)
|
#
|
||||||
list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk3)
|
# Fedora uses an extra non-standard option ... Arch must be the first option.
|
||||||
endif()
|
# They do uname -m if missing so only fix for cross compilations.
|
||||||
|
# http://pkgs.fedoraproject.org/cgit/wxGTK.git/plain/wx-config
|
||||||
|
if(Fedora AND CMAKE_CROSSCOMPILING)
|
||||||
|
set(wxWidgets_CONFIG_OPTIONS --arch ${PCSX2_TARGET_ARCHITECTURES} --unicode=yes)
|
||||||
|
else()
|
||||||
|
set(wxWidgets_CONFIG_OPTIONS --unicode=yes)
|
||||||
|
endif()
|
||||||
|
|
||||||
# wx2.8 => /usr/bin/wx-config-2.8
|
# I'm removing the version check, because it excludes newer versions and requires specifically 3.0.
|
||||||
# lib32-wx2.8 => /usr/bin/wx-config32-2.8
|
#list(APPEND wxWidgets_CONFIG_OPTIONS --version=3.0)
|
||||||
# wx3.0 => /usr/bin/wx-config-3.0
|
|
||||||
# I'm going to take a wild guess and predict this:
|
# The wx version must be specified so a mix of gtk2 and gtk3 isn't used
|
||||||
# lib32-wx3.0 => /usr/bin/wx-config32-3.0
|
# as that can cause compile errors.
|
||||||
# FindwxWidgets only searches for wx-config.
|
if(GTK2_API AND NOT APPLE)
|
||||||
if(CMAKE_CROSSCOMPILING)
|
list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk2)
|
||||||
# May need to fix the filenames for lib32-wx3.0.
|
elseif(NOT APPLE)
|
||||||
if(${PCSX2_TARGET_ARCHITECTURES} MATCHES "i386")
|
list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk3)
|
||||||
if (Fedora AND EXISTS "/usr/bin/wx-config-3.0")
|
endif()
|
||||||
|
|
||||||
|
# wx2.8 => /usr/bin/wx-config-2.8
|
||||||
|
# lib32-wx2.8 => /usr/bin/wx-config32-2.8
|
||||||
|
# wx3.0 => /usr/bin/wx-config-3.0
|
||||||
|
# I'm going to take a wild guess and predict this:
|
||||||
|
# lib32-wx3.0 => /usr/bin/wx-config32-3.0
|
||||||
|
# FindwxWidgets only searches for wx-config.
|
||||||
|
if(CMAKE_CROSSCOMPILING)
|
||||||
|
# May need to fix the filenames for lib32-wx3.0.
|
||||||
|
if(${PCSX2_TARGET_ARCHITECTURES} MATCHES "i386")
|
||||||
|
if (Fedora AND EXISTS "/usr/bin/wx-config-3.0")
|
||||||
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
|
||||||
|
endif()
|
||||||
|
if (EXISTS "/usr/bin/wx-config32")
|
||||||
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config32")
|
||||||
|
endif()
|
||||||
|
if (EXISTS "/usr/bin/wx-config32-3.0")
|
||||||
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config32-3.0")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||||
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/local/bin/wxgtk3u-3.0-config")
|
||||||
|
endif()
|
||||||
|
if(EXISTS "/usr/bin/wx-config-3.2")
|
||||||
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.2")
|
||||||
|
endif()
|
||||||
|
if(EXISTS "/usr/bin/wx-config-3.1")
|
||||||
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.1")
|
||||||
|
endif()
|
||||||
|
if(EXISTS "/usr/bin/wx-config-3.0")
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
|
||||||
endif()
|
endif()
|
||||||
if (EXISTS "/usr/bin/wx-config32")
|
if(EXISTS "/usr/bin/wx-config")
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config32")
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config")
|
||||||
endif()
|
endif()
|
||||||
if (EXISTS "/usr/bin/wx-config32-3.0")
|
if(NOT GTK2_API AND EXISTS "/usr/bin/wx-config-gtk3")
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config32-3.0")
|
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-gtk3")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/local/bin/wxgtk3u-3.0-config")
|
|
||||||
endif()
|
|
||||||
if(EXISTS "/usr/bin/wx-config-3.2")
|
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.2")
|
|
||||||
endif()
|
|
||||||
if(EXISTS "/usr/bin/wx-config-3.1")
|
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.1")
|
|
||||||
endif()
|
|
||||||
if(EXISTS "/usr/bin/wx-config-3.0")
|
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
|
|
||||||
endif()
|
|
||||||
if(EXISTS "/usr/bin/wx-config")
|
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config")
|
|
||||||
endif()
|
|
||||||
if(NOT GTK2_API AND EXISTS "/usr/bin/wx-config-gtk3")
|
|
||||||
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-gtk3")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(wxWidgets REQUIRED base core adv)
|
find_package(wxWidgets REQUIRED base core adv)
|
||||||
include(${wxWidgets_USE_FILE})
|
include(${wxWidgets_USE_FILE})
|
||||||
make_imported_target_if_missing(wxWidgets::all wxWidgets)
|
make_imported_target_if_missing(wxWidgets::all wxWidgets)
|
||||||
|
|
||||||
find_package(ZLIB REQUIRED)
|
find_package(ZLIB REQUIRED)
|
||||||
|
|
||||||
## Use pcsx2 package to find module
|
## Use pcsx2 package to find module
|
||||||
include(FindLibc)
|
include(FindLibc)
|
||||||
|
|
||||||
## Use pcsx2 package to find module
|
## Use pcsx2 package to find module
|
||||||
include(FindPulseAudio)
|
include(FindPulseAudio)
|
||||||
|
|
||||||
## Use CheckLib package to find module
|
## Use CheckLib package to find module
|
||||||
include(CheckLib)
|
include(CheckLib)
|
||||||
|
|
||||||
if(Linux)
|
if(Linux)
|
||||||
check_lib(EGL EGL EGL/egl.h)
|
check_lib(EGL EGL EGL/egl.h)
|
||||||
check_lib(X11_XCB X11-xcb X11/Xlib-xcb.h)
|
check_lib(X11_XCB X11-xcb X11/Xlib-xcb.h)
|
||||||
check_lib(XCB xcb xcb/xcb.h)
|
check_lib(XCB xcb xcb/xcb.h)
|
||||||
check_lib(AIO aio libaio.h)
|
check_lib(AIO aio libaio.h)
|
||||||
# There are two udev pkg config files - udev.pc (wrong), libudev.pc (correct)
|
# There are two udev pkg config files - udev.pc (wrong), libudev.pc (correct)
|
||||||
# When cross compiling, pkg-config will be skipped so we have to look for
|
# When cross compiling, pkg-config will be skipped so we have to look for
|
||||||
# udev (it'll automatically be prefixed with lib). But when not cross
|
# udev (it'll automatically be prefixed with lib). But when not cross
|
||||||
# compiling, we have to look for libudev.pc. Argh. Hence the silliness below.
|
# compiling, we have to look for libudev.pc. Argh. Hence the silliness below.
|
||||||
if(CMAKE_CROSSCOMPILING)
|
if(CMAKE_CROSSCOMPILING)
|
||||||
check_lib(LIBUDEV udev libudev.h)
|
check_lib(LIBUDEV udev libudev.h)
|
||||||
|
else()
|
||||||
|
check_lib(LIBUDEV libudev libudev.h)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
if(PORTAUDIO_API)
|
||||||
|
check_lib(PORTAUDIO portaudio portaudio.h pa_linux_alsa.h)
|
||||||
|
endif()
|
||||||
|
check_lib(SOUNDTOUCH SoundTouch SoundTouch.h PATH_SUFFIXES soundtouch)
|
||||||
|
check_lib(SAMPLERATE samplerate samplerate.h)
|
||||||
|
|
||||||
|
if(SDL2_API)
|
||||||
|
check_lib(SDL2 SDL2 SDL.h PATH_SUFFIXES SDL2)
|
||||||
|
alias_library(SDL::SDL PkgConfig::SDL2)
|
||||||
else()
|
else()
|
||||||
check_lib(LIBUDEV libudev libudev.h)
|
# Tell cmake that we use SDL as a library and not as an application
|
||||||
|
set(SDL_BUILDING_LIBRARY TRUE)
|
||||||
|
find_package(SDL REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
if(PORTAUDIO_API)
|
|
||||||
check_lib(PORTAUDIO portaudio portaudio.h pa_linux_alsa.h)
|
|
||||||
endif()
|
|
||||||
check_lib(SOUNDTOUCH SoundTouch SoundTouch.h PATH_SUFFIXES soundtouch)
|
|
||||||
check_lib(SAMPLERATE samplerate samplerate.h)
|
|
||||||
|
|
||||||
if(SDL2_API)
|
if(UNIX AND NOT APPLE)
|
||||||
check_lib(SDL2 SDL2 SDL.h PATH_SUFFIXES SDL2)
|
find_package(X11 REQUIRED)
|
||||||
alias_library(SDL::SDL PkgConfig::SDL2)
|
make_imported_target_if_missing(X11::X11 X11)
|
||||||
else()
|
|
||||||
# Tell cmake that we use SDL as a library and not as an application
|
|
||||||
set(SDL_BUILDING_LIBRARY TRUE)
|
|
||||||
find_package(SDL REQUIRED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
find_package(X11 REQUIRED)
|
|
||||||
make_imported_target_if_missing(X11::X11 X11)
|
|
||||||
endif()
|
|
||||||
if(UNIX)
|
|
||||||
# Most plugins (if not all) and PCSX2 core need gtk2, so set the required flags
|
|
||||||
if (GTK2_API)
|
|
||||||
find_package(GTK2 REQUIRED gtk)
|
|
||||||
alias_library(GTK::gtk GTK2::gtk)
|
|
||||||
else()
|
|
||||||
if(CMAKE_CROSSCOMPILING)
|
|
||||||
find_package(GTK3 REQUIRED gtk)
|
|
||||||
alias_library(GTK::gtk GTK3::gtk)
|
|
||||||
else()
|
|
||||||
check_lib(GTK3 gtk+-3.0 gtk/gtk.h)
|
|
||||||
alias_library(GTK::gtk PkgConfig::GTK3)
|
|
||||||
endif()
|
endif()
|
||||||
|
if(UNIX)
|
||||||
|
# Most plugins (if not all) and PCSX2 core need gtk2, so set the required flags
|
||||||
|
if (GTK2_API)
|
||||||
|
find_package(GTK2 REQUIRED gtk)
|
||||||
|
alias_library(GTK::gtk GTK2::gtk)
|
||||||
|
else()
|
||||||
|
if(CMAKE_CROSSCOMPILING)
|
||||||
|
find_package(GTK3 REQUIRED gtk)
|
||||||
|
alias_library(GTK::gtk GTK3::gtk)
|
||||||
|
else()
|
||||||
|
check_lib(GTK3 gtk+-3.0 gtk/gtk.h)
|
||||||
|
alias_library(GTK::gtk PkgConfig::GTK3)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
#----------------------------------------
|
#----------------------------------------
|
||||||
# Use system include
|
# Use system include
|
||||||
#----------------------------------------
|
#----------------------------------------
|
||||||
find_package(HarfBuzz)
|
find_package(HarfBuzz)
|
||||||
|
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
set(ACTUALLY_ENABLE_TESTS ${ENABLE_TESTS})
|
set(ACTUALLY_ENABLE_TESTS ${ENABLE_TESTS})
|
||||||
if(ENABLE_TESTS)
|
if(ENABLE_TESTS)
|
||||||
|
@ -216,8 +232,10 @@ if(NOT USE_SYSTEM_YAML)
|
||||||
if(EXISTS "${CMAKE_SOURCE_DIR}/3rdparty/yaml-cpp/yaml-cpp/CMakeLists.txt")
|
if(EXISTS "${CMAKE_SOURCE_DIR}/3rdparty/yaml-cpp/yaml-cpp/CMakeLists.txt")
|
||||||
message(STATUS "Using bundled yaml-cpp")
|
message(STATUS "Using bundled yaml-cpp")
|
||||||
add_subdirectory(3rdparty/yaml-cpp/yaml-cpp EXCLUDE_FROM_ALL)
|
add_subdirectory(3rdparty/yaml-cpp/yaml-cpp EXCLUDE_FROM_ALL)
|
||||||
# Remove once https://github.com/jbeder/yaml-cpp/pull/815 is merged
|
if (NOT MSVC)
|
||||||
target_compile_options(yaml-cpp PRIVATE -Wno-shadow)
|
# Remove once https://github.com/jbeder/yaml-cpp/pull/815 is merged
|
||||||
|
target_compile_options(yaml-cpp PRIVATE -Wno-shadow)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "No bundled yaml-cpp was found")
|
message(FATAL_ERROR "No bundled yaml-cpp was found")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -10,7 +10,6 @@ add_library(Utilities)
|
||||||
# Utilities sources
|
# Utilities sources
|
||||||
target_sources(Utilities PRIVATE
|
target_sources(Utilities PRIVATE
|
||||||
VirtualMemory.cpp
|
VirtualMemory.cpp
|
||||||
AlignedMalloc.cpp
|
|
||||||
../../include/Utilities/FixedPointTypes.inl
|
../../include/Utilities/FixedPointTypes.inl
|
||||||
../../include/Utilities/EventSource.inl
|
../../include/Utilities/EventSource.inl
|
||||||
../../include/Utilities/SafeArray.inl
|
../../include/Utilities/SafeArray.inl
|
||||||
|
@ -20,7 +19,6 @@ target_sources(Utilities PRIVATE
|
||||||
Exceptions.cpp
|
Exceptions.cpp
|
||||||
FastFormatString.cpp
|
FastFormatString.cpp
|
||||||
IniInterface.cpp
|
IniInterface.cpp
|
||||||
Linux/LnxHostSys.cpp
|
|
||||||
Mutex.cpp
|
Mutex.cpp
|
||||||
PathUtils.cpp
|
PathUtils.cpp
|
||||||
PrecompiledHeader.cpp
|
PrecompiledHeader.cpp
|
||||||
|
@ -38,7 +36,7 @@ target_sources(Utilities PRIVATE
|
||||||
wxAppWithHelpers.cpp
|
wxAppWithHelpers.cpp
|
||||||
wxGuiTools.cpp
|
wxGuiTools.cpp
|
||||||
wxHelpers.cpp
|
wxHelpers.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
# Utilities headers
|
# Utilities headers
|
||||||
target_sources(Utilities PRIVATE
|
target_sources(Utilities PRIVATE
|
||||||
|
@ -76,25 +74,35 @@ target_sources(Utilities PRIVATE
|
||||||
ThreadingInternal.h
|
ThreadingInternal.h
|
||||||
)
|
)
|
||||||
|
|
||||||
if(APPLE)
|
if(WIN32)
|
||||||
target_sources(Utilities PRIVATE
|
target_sources(Utilities PRIVATE
|
||||||
Darwin/DarwinThreads.cpp
|
|
||||||
Darwin/DarwinMisc.cpp
|
|
||||||
Darwin/DarwinSemaphore.cpp
|
|
||||||
)
|
|
||||||
elseif(Windows)
|
|
||||||
target_sources(Utilities PRIVATE
|
|
||||||
x86/MemcpyFast.cpp
|
|
||||||
Windows/WinThreads.cpp
|
Windows/WinThreads.cpp
|
||||||
Windows/WinHostSys.cpp
|
Windows/WinHostSys.cpp
|
||||||
Windows/WinMisc.cpp
|
Windows/WinMisc.cpp
|
||||||
)
|
|
||||||
else()
|
|
||||||
target_sources(Utilities PRIVATE
|
|
||||||
Linux/LnxThreads.cpp
|
|
||||||
Linux/LnxMisc.cpp
|
|
||||||
Semaphore.cpp
|
Semaphore.cpp
|
||||||
)
|
)
|
||||||
|
if(_M_X86_32)
|
||||||
|
target_sources(Utilities PRIVATE x86/MemcpyFast.cpp)
|
||||||
|
endif()
|
||||||
|
target_link_libraries(Utilities PUBLIC pthreads4w Winmm.lib)
|
||||||
|
else()
|
||||||
|
target_sources(Utilities PRIVATE
|
||||||
|
AlignedMalloc.cpp
|
||||||
|
Linux/LnxHostSys.cpp
|
||||||
|
)
|
||||||
|
if(APPLE)
|
||||||
|
target_sources(Utilities PRIVATE
|
||||||
|
Darwin/DarwinThreads.cpp
|
||||||
|
Darwin/DarwinMisc.cpp
|
||||||
|
Darwin/DarwinSemaphore.cpp
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
target_sources(Utilities PRIVATE
|
||||||
|
Linux/LnxThreads.cpp
|
||||||
|
Linux/LnxMisc.cpp
|
||||||
|
Semaphore.cpp
|
||||||
|
)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_VTUNE)
|
if(USE_VTUNE)
|
||||||
|
|
|
@ -57,7 +57,7 @@ else()
|
||||||
target_sources(x86emitter PRIVATE LnxCpuDetect.cpp)
|
target_sources(x86emitter PRIVATE LnxCpuDetect.cpp)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(x86emitter PRIVATE wxWidgets::all)
|
target_link_libraries(x86emitter PRIVATE Utilities wxWidgets::all)
|
||||||
target_compile_features(x86emitter PUBLIC cxx_std_17)
|
target_compile_features(x86emitter PUBLIC cxx_std_17)
|
||||||
target_include_directories(x86emitter PUBLIC ../../include PRIVATE ../../include/x86emitter)
|
target_include_directories(x86emitter PUBLIC ../../include PRIVATE ../../include/x86emitter)
|
||||||
target_compile_definitions(x86emitter PUBLIC "${PCSX2_DEFS}")
|
target_compile_definitions(x86emitter PUBLIC "${PCSX2_DEFS}")
|
||||||
|
|
|
@ -25,14 +25,18 @@ if(NOT TOP_CMAKE_WAS_SOURCED)
|
||||||
It is advice to delete all wrongly generated cmake stuff => CMakeFiles & CMakeCache.txt")
|
It is advice to delete all wrongly generated cmake stuff => CMakeFiles & CMakeCache.txt")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CommonFlags
|
if(MSVC)
|
||||||
-fno-strict-aliasing
|
set(CommonFlags)
|
||||||
-Wstrict-aliasing # Allow to track strict aliasing issue.
|
else()
|
||||||
-Wno-parentheses
|
set(CommonFlags
|
||||||
-Wno-missing-braces
|
-fno-strict-aliasing
|
||||||
-Wno-unknown-pragmas
|
-Wstrict-aliasing # Allow to track strict aliasing issue.
|
||||||
-DWX_PRECOMP
|
-Wno-parentheses
|
||||||
|
-Wno-missing-braces
|
||||||
|
-Wno-unknown-pragmas
|
||||||
|
-DWX_PRECOMP
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(GCC_VERSION VERSION_EQUAL "8.0" OR GCC_VERSION VERSION_GREATER "8.0")
|
if(GCC_VERSION VERSION_EQUAL "8.0" OR GCC_VERSION VERSION_GREATER "8.0")
|
||||||
# gs is pretty bad at this
|
# gs is pretty bad at this
|
||||||
|
@ -1248,20 +1252,28 @@ target_link_libraries(PCSX2 PRIVATE
|
||||||
yaml-cpp
|
yaml-cpp
|
||||||
chdr-static
|
chdr-static
|
||||||
wxWidgets::all
|
wxWidgets::all
|
||||||
GTK::gtk
|
|
||||||
HarfBuzz::HarfBuzz
|
|
||||||
ZLIB::ZLIB
|
ZLIB::ZLIB
|
||||||
PkgConfig::SOUNDTOUCH
|
PkgConfig::SOUNDTOUCH
|
||||||
PCAP::PCAP
|
|
||||||
PkgConfig::SAMPLERATE
|
PkgConfig::SAMPLERATE
|
||||||
LibXml2::LibXml2
|
|
||||||
OpenGL::GL
|
|
||||||
PNG::PNG
|
PNG::PNG
|
||||||
Freetype::Freetype
|
Freetype::Freetype
|
||||||
LibLZMA::LibLZMA
|
LibLZMA::LibLZMA
|
||||||
${LIBC_LIBRARIES}
|
${LIBC_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(PCSX2 PRIVATE
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
target_link_libraries(PCSX2 PRIVATE
|
||||||
|
GTK::gtk
|
||||||
|
HarfBuzz::HarfBuzz
|
||||||
|
OpenGL::GL
|
||||||
|
PCAP::PCAP
|
||||||
|
LibXml2::LibXml2
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
### Generate the resources files
|
### Generate the resources files
|
||||||
file(MAKE_DIRECTORY ${res_bin})
|
file(MAKE_DIRECTORY ${res_bin})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue