From c09f196141b5bc6bc804b3537589b8844326da2d Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sat, 5 Oct 2019 14:41:21 +0300 Subject: [PATCH] - applied fast math flags to C and C++ files Avoid copy-paste using CMake macro --- CMakeLists.txt | 21 ++++++++++++------- libraries/adlmidi/CMakeLists.txt | 3 +-- libraries/dumb/CMakeLists.txt | 4 +--- libraries/game-music-emu/CMakeLists.txt | 3 +-- .../glslang/OGLCompilersDLL/CMakeLists.txt | 2 +- libraries/glslang/glslang/CMakeLists.txt | 2 +- libraries/glslang/spirv/CMakeLists.txt | 2 +- libraries/oplsynth/CMakeLists.txt | 4 ++-- libraries/opnmidi/CMakeLists.txt | 3 +-- libraries/timidity/CMakeLists.txt | 4 ++-- libraries/timidityplus/CMakeLists.txt | 4 ++-- libraries/wildmidi/CMakeLists.txt | 4 ++-- libraries/zmusic/CMakeLists.txt | 4 ++-- libraries/zmusic/musicformats/win32/i_cd.cpp | 2 +- 14 files changed, 31 insertions(+), 31 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ac9155561..e2efc5ffe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,6 +143,19 @@ if( ZD_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE ) set( PROFILE 0 CACHE BOOL "Enable profiling with gprof for Debug and RelWithDebInfo build types." ) endif() +# Fast math flags, required by some subprojects +set( ZD_FASTMATH_FLAG "" ) +if( ZD_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE ) + set( ZD_FASTMATH_FLAG "-ffast-math -ffp-contract=fast" ) +elseif( MSVC ) + set( ZD_FASTMATH_FLAG "/fp:fast" ) +endif() + +macro( use_fast_math ) + set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ZD_FASTMATH_FLAG}" ) +endmacro() + option( NO_OPENAL "Disable OpenAL sound support" OFF ) find_package( BZip2 ) @@ -305,14 +318,6 @@ if (HAVE_VULKAN) add_subdirectory( libraries/glslang/OGLCompilersDLL ) endif() -# Fast math flags, required by some subprojects -set( ZD_FASTMATH_FLAG "" ) -if( ZD_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE ) - set( ZD_FASTMATH_FLAG "-ffast-math -ffp-contract=fast" ) -elseif( MSVC ) - set( ZD_FASTMATH_FLAG "/fp:fast" ) -endif() - if( ZLIB_FOUND AND NOT FORCE_INTERNAL_ZLIB ) message( STATUS "Using system zlib, includes found at ${ZLIB_INCLUDE_DIR}" ) else() diff --git a/libraries/adlmidi/CMakeLists.txt b/libraries/adlmidi/CMakeLists.txt index 045d26e66..ec831200c 100644 --- a/libraries/adlmidi/CMakeLists.txt +++ b/libraries/adlmidi/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required( VERSION 2.8.7 ) make_release_only() +use_fast_math() add_definitions(-DADLMIDI_DISABLE_MIDI_SEQUENCER) @@ -8,8 +9,6 @@ if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" ) endif() -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}") - add_library( adl STATIC adldata.cpp adlmidi.cpp diff --git a/libraries/dumb/CMakeLists.txt b/libraries/dumb/CMakeLists.txt index 904ca75c3..4a1c77c3a 100644 --- a/libraries/dumb/CMakeLists.txt +++ b/libraries/dumb/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required( VERSION 2.8.7 ) make_release_only() +use_fast_math() include( CheckFunctionExists ) include( CheckCXXCompilerFlag ) @@ -14,9 +15,6 @@ if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) endif() endif() -# Enable fast flag for dumb -set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}" ) - CHECK_FUNCTION_EXISTS( itoa ITOA_EXISTS ) if( NOT ITOA_EXISTS ) add_definitions( -DNEED_ITOA=1 ) diff --git a/libraries/game-music-emu/CMakeLists.txt b/libraries/game-music-emu/CMakeLists.txt index 8569b1b7a..bc52e1740 100644 --- a/libraries/game-music-emu/CMakeLists.txt +++ b/libraries/game-music-emu/CMakeLists.txt @@ -32,8 +32,7 @@ if( MSVC ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4101 /wd4800 /wd4702 /wd4706 /wd4805 /wd4310 /wd4244 /wd4456 /wd4459 /wd4146 /wd4127 /wd4458 /wd4267 /wd4804") endif() -# Enable fast flag for GME -set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ZD_FASTMATH_FLAG}" ) +use_fast_math() # Default emulators to build (all of them! ;) # [ZDoom] No options, enable all of them by default. diff --git a/libraries/glslang/OGLCompilersDLL/CMakeLists.txt b/libraries/glslang/OGLCompilersDLL/CMakeLists.txt index db97e565f..c6e6c8fc2 100644 --- a/libraries/glslang/OGLCompilersDLL/CMakeLists.txt +++ b/libraries/glslang/OGLCompilersDLL/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.8.12) make_release_only() -set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}" ) +use_fast_math() # Request C++11 if(${CMAKE_VERSION} VERSION_LESS 3.1) diff --git a/libraries/glslang/glslang/CMakeLists.txt b/libraries/glslang/glslang/CMakeLists.txt index e376a9178..3cd287b39 100644 --- a/libraries/glslang/glslang/CMakeLists.txt +++ b/libraries/glslang/glslang/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.8.12) make_release_only() -set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}" ) +use_fast_math() if(WIN32) add_subdirectory(OSDependent/Windows) diff --git a/libraries/glslang/spirv/CMakeLists.txt b/libraries/glslang/spirv/CMakeLists.txt index 03d34d8f4..ced245190 100644 --- a/libraries/glslang/spirv/CMakeLists.txt +++ b/libraries/glslang/spirv/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.8.12) make_release_only() -set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}" ) +use_fast_math() # Request C++11 if(${CMAKE_VERSION} VERSION_LESS 3.1) diff --git a/libraries/oplsynth/CMakeLists.txt b/libraries/oplsynth/CMakeLists.txt index 043dd328c..d2a363ceb 100644 --- a/libraries/oplsynth/CMakeLists.txt +++ b/libraries/oplsynth/CMakeLists.txt @@ -1,12 +1,12 @@ cmake_minimum_required( VERSION 2.8.7 ) +use_fast_math() + if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) endif() -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}") - include( CheckFunctionExists ) CHECK_FUNCTION_EXISTS( stricmp STRICMP_EXISTS ) diff --git a/libraries/opnmidi/CMakeLists.txt b/libraries/opnmidi/CMakeLists.txt index d6a469f11..189b22294 100644 --- a/libraries/opnmidi/CMakeLists.txt +++ b/libraries/opnmidi/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required( VERSION 2.8.7 ) make_release_only() +use_fast_math() # we play with out own sequencer add_definitions(-DOPNMIDI_DISABLE_MIDI_SEQUENCER) @@ -12,8 +13,6 @@ if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" ) endif() -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}") - add_library( opn STATIC chips/gens_opn2.cpp chips/gens/Ym2612_Emu.cpp diff --git a/libraries/timidity/CMakeLists.txt b/libraries/timidity/CMakeLists.txt index a33f07afd..632c5b8bd 100644 --- a/libraries/timidity/CMakeLists.txt +++ b/libraries/timidity/CMakeLists.txt @@ -1,12 +1,12 @@ cmake_minimum_required( VERSION 2.8.7 ) +use_fast_math() + if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) endif() -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}") - include( CheckFunctionExists ) CHECK_FUNCTION_EXISTS( stricmp STRICMP_EXISTS ) diff --git a/libraries/timidityplus/CMakeLists.txt b/libraries/timidityplus/CMakeLists.txt index ee1bf062d..053b6ffba 100644 --- a/libraries/timidityplus/CMakeLists.txt +++ b/libraries/timidityplus/CMakeLists.txt @@ -1,12 +1,12 @@ cmake_minimum_required( VERSION 2.8.7 ) +use_fast_math() + if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) endif() -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}") - include_directories( timiditypp ) file( GLOB HEADER_FILES diff --git a/libraries/wildmidi/CMakeLists.txt b/libraries/wildmidi/CMakeLists.txt index e5b2138df..e291526fe 100644 --- a/libraries/wildmidi/CMakeLists.txt +++ b/libraries/wildmidi/CMakeLists.txt @@ -1,12 +1,12 @@ cmake_minimum_required( VERSION 2.8.7 ) +use_fast_math() + if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) endif() -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}") - include( CheckFunctionExists ) CHECK_FUNCTION_EXISTS( stricmp STRICMP_EXISTS ) diff --git a/libraries/zmusic/CMakeLists.txt b/libraries/zmusic/CMakeLists.txt index dd30c8a7b..87940544a 100644 --- a/libraries/zmusic/CMakeLists.txt +++ b/libraries/zmusic/CMakeLists.txt @@ -1,12 +1,12 @@ cmake_minimum_required( VERSION 2.8.7 ) +use_fast_math() + if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) endif() -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ZD_FASTMATH_FLAG}") - include( CheckFunctionExists ) CHECK_FUNCTION_EXISTS( stricmp STRICMP_EXISTS ) diff --git a/libraries/zmusic/musicformats/win32/i_cd.cpp b/libraries/zmusic/musicformats/win32/i_cd.cpp index 8a0cbfa82..73e7651f8 100644 --- a/libraries/zmusic/musicformats/win32/i_cd.cpp +++ b/libraries/zmusic/musicformats/win32/i_cd.cpp @@ -136,7 +136,7 @@ bool FCDThread::Init () CD_WindowClass.style = CS_NOCLOSE; CD_WindowClass.lpfnWndProc = CD_WndProc; CD_WindowClass.hInstance = g_hInst; - CD_WindowClass.lpszClassName = L"ZNusic CD Player"; + CD_WindowClass.lpszClassName = L"ZMusic CD Player"; CD_WindowAtom = RegisterClass (&CD_WindowClass); if (CD_WindowAtom == 0)