diff options
author | Wohlstand <admin@wohlnet.ru> | 2021-07-17 23:42:49 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2021-07-17 23:42:49 +0300 |
commit | bc40f7a625900f47fd195a3ff009052fc9033292 (patch) | |
tree | fd215c636945bb9c190df54b9ea9202f778d3b28 /CMakeLists.txt | |
parent | d1270566785345a60e6f7063afbebb001cc493f3 (diff) | |
download | libADLMIDI-bc40f7a625900f47fd195a3ff009052fc9033292.tar.gz libADLMIDI-bc40f7a625900f47fd195a3ff009052fc9033292.tar.bz2 libADLMIDI-bc40f7a625900f47fd195a3ff009052fc9033292.zip |
Build: Tune the Vita compatibility
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bdc3c5..e6df8c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,11 @@ if(NOT MSVC AND NOT MSDOS) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" ) set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" ) endif() +# Supress the std::vector::insert() GCC change warning + if(VITA) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcompare-debug-second") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcompare-debug-second") + endif() endif() if(NOT CMAKE_BUILD_TYPE) @@ -110,6 +115,12 @@ function(set_visibility_hidden destTarget) endfunction() #=========================================================================================== +if(VITA OR 3DS) + set(DEFAULT_HEAVY_EMULATORS OFF) +else() + set(DEFAULT_HEAVY_EMULATORS ON) +endif() + option(libADLMIDI_STATIC "Build static library of libADLMIDI" ON) option(libADLMIDI_SHARED "Build shared library of libADLMIDI" OFF) @@ -119,9 +130,9 @@ option(WITH_HQ_RESAMPLER "Build with support for high quality resampling" OFF option(WITH_MUS_SUPPORT "Build with support for DMX MUS files" ON) option(WITH_XMI_SUPPORT "Build with support for AIL XMI files" ON) option(USE_DOSBOX_EMULATOR "Use DosBox 0.74 OPL3 emulator (semi-accurate, suggested for slow or mobile platforms)" ON) -option(USE_NUKED_EMULATOR "Use Nuked OPL3 emulator (most accurate, powerful)" ON) -option(USE_OPAL_EMULATOR "Use Opal emulator (inaccurate)" ON) -option(USE_JAVA_EMULATOR "Use JavaOPL emulator" ON) +option(USE_NUKED_EMULATOR "Use Nuked OPL3 emulator (most accurate, powerful)" ${DEFAULT_HEAVY_EMULATORS}) +option(USE_OPAL_EMULATOR "Use Opal emulator (inaccurate)" ${DEFAULT_HEAVY_EMULATORS}) +option(USE_JAVA_EMULATOR "Use JavaOPL emulator" ${DEFAULT_HEAVY_EMULATORS}) option(WITH_GENADLDATA "Build and run full rebuild of embedded banks cache" OFF) option(WITH_GENADLDATA_COMMENTS "Enable comments in a generated embedded instruments cache file" OFF) @@ -140,6 +151,15 @@ if(WIN32) option(WITH_WINMMDRV "Build a WinMM MIDI driver" OFF) endif() +if(NOT WIN32 + AND NOT VITA + AND NOT EMSCRIPTEN + AND NOT ADLMIDI_DOS) + option(ENABLE_FPIC "Build static libraries as position independent code" ON) +else() + set(ENABLE_FPIC OFF) +endif() + function(handle_options targetLib) if(WITH_MIDI_SEQUENCER) target_sources(${targetLib} PRIVATE ${libADLMIDI_SOURCE_DIR}/src/adlmidi_sequencer.cpp) @@ -249,7 +269,7 @@ if(libADLMIDI_STATIC OR WITH_VLC_PLUGIN) handle_options(ADLMIDI_static) # -fPIC thing - if(NOT WIN32 AND NOT ADLMIDI_DOS) + if(ENABLE_FPIC) set_target_properties(ADLMIDI_static PROPERTIES COMPILE_FLAGS "-fPIC") endif() @@ -281,11 +301,6 @@ if(libADLMIDI_SHARED) set_property(TARGET ADLMIDI_shared APPEND_STRING PROPERTY LINK_FLAGS " -lc") endif() - # -fPIC thing - if(NOT WIN32 AND NOT ADLMIDI_DOS) - set_target_properties(ADLMIDI_shared PROPERTIES COMPILE_FLAGS "-fPIC") - endif() - set_target_properties(ADLMIDI_shared PROPERTIES SOVERSION "1") endif() |