From e4735c703d4cffc15b3e9361b488098946324404 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 30 Jul 2015 09:53:35 -0500 Subject: [PATCH] better -ffast-math handling issue #488 See also http://public.kitware.com/pipermail/cmake/2015-April/060479.html --- CMakeLists.txt | 2 +- src/lib/openjp2/CMakeLists.txt | 1 + src/lib/openjp3d/CMakeLists.txt | 1 + src/lib/openjpip/CMakeLists.txt | 1 + src/lib/openjpwl/CMakeLists.txt | 1 + src/lib/openmj2/CMakeLists.txt | 1 + 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 79f66c357..7898d15ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -190,7 +190,7 @@ if(CMAKE_COMPILER_IS_GNUCC) # For all builds, make sure openjpeg is std99 compliant: # set(CMAKE_C_FLAGS "-Wall -std=c99 ${CMAKE_C_FLAGS}") # FIXME: this setting prevented us from setting a coverage build. # Do not use ffast-math for all build, it would produce incorrect results, only set for release: - set(CMAKE_C_FLAGS_RELEASE "-ffast-math ${CMAKE_C_FLAGS_RELEASE}") + SET(OPENJPEG_LIBRARY_COMPILE_OPTIONS ${OPENJPEG_LIBRARY_COMPILE_OPTIONS} "$<$:-ffast-math>") endif() #----------------------------------------------------------------------------- diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt index 414664f9e..4a865e5d4 100644 --- a/src/lib/openjp2/CMakeLists.txt +++ b/src/lib/openjp2/CMakeLists.txt @@ -85,6 +85,7 @@ if(UNIX) target_link_libraries(${OPENJPEG_LIBRARY_NAME} m) endif() set_target_properties(${OPENJPEG_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) +target_compile_options(${OPENJPEG_LIBRARY_NAME} PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS}) # Install library install(TARGETS ${OPENJPEG_LIBRARY_NAME} diff --git a/src/lib/openjp3d/CMakeLists.txt b/src/lib/openjp3d/CMakeLists.txt index 8f034ffeb..df7c9be2a 100644 --- a/src/lib/openjp3d/CMakeLists.txt +++ b/src/lib/openjp3d/CMakeLists.txt @@ -27,6 +27,7 @@ if(UNIX) target_link_libraries(${OPENJP3D_LIBRARY_NAME} m) endif() set_target_properties(${OPENJP3D_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) +target_compile_options(${OPENJP3D_LIBRARY_NAME} PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS}) # Install library install(TARGETS ${OPENJP3D_LIBRARY_NAME} diff --git a/src/lib/openjpip/CMakeLists.txt b/src/lib/openjpip/CMakeLists.txt index c149ef3fa..28e8259d9 100644 --- a/src/lib/openjpip/CMakeLists.txt +++ b/src/lib/openjpip/CMakeLists.txt @@ -61,6 +61,7 @@ endif() add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS}) set_target_properties(openjpip PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) +target_compile_options(openjpip PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS}) target_link_libraries(openjpip ${OPENJPEG_LIBRARY_NAME}) if(WIN32) # add Winsock on windows+mingw diff --git a/src/lib/openjpwl/CMakeLists.txt b/src/lib/openjpwl/CMakeLists.txt index 616edf58c..00773db1c 100644 --- a/src/lib/openjpwl/CMakeLists.txt +++ b/src/lib/openjpwl/CMakeLists.txt @@ -51,6 +51,7 @@ if(UNIX) endif() set_target_properties(openjpwl PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) +target_compile_options(openjpwl PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS}) # Install library install(TARGETS openjpwl diff --git a/src/lib/openmj2/CMakeLists.txt b/src/lib/openmj2/CMakeLists.txt index 775c93185..6fb8709bf 100644 --- a/src/lib/openmj2/CMakeLists.txt +++ b/src/lib/openmj2/CMakeLists.txt @@ -46,6 +46,7 @@ if(UNIX) target_link_libraries(${OPENMJ2_LIBRARY_NAME} m) endif() set_target_properties(${OPENMJ2_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) +target_compile_options(${OPENJ2_LIBRARY_NAME} PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS}) # Install library install(TARGETS ${OPENMJ2_LIBRARY_NAME}