From 3acab7a3d7a0475581d9e3ccd2ebda65cfe35d68 Mon Sep 17 00:00:00 2001 From: Hans Johnson Date: Wed, 5 Dec 2018 09:21:59 -0600 Subject: [PATCH] ENH: Use CMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=ON The use of CMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=ON allows the linker and the compiler to communicate more closely. This will cause compilation warnings if any symbol violates the one-definition-rule (i.e. a symbol is defined in more than one translation unit with different definitions). NOTE: LTO is not supported with clang on linux with the ldgold linker --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 62876688b6..7a73c009c1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,7 @@ matrix: env: - CFLAGS="-Wall -Wextra -m64" - CXXFLAGS="-Wall -Wextra -m64" - - CMAKE_EXTRA="-DGDCM_USE_SYSTEM_OPENSSL:BOOL=ON -DGDCM_WRAP_PYTHON:BOOL=OFF -DGDCM_WRAP_CSHARP:BOOL=OFF -DGDCM_WRAP_JAVA:BOOL=OFF -DGDCM_WRAP_PHP:BOOL=OFF -DGDCM_USE_SYSTEM_EXPAT:BOOL=ON -DGDCM_USE_SYSTEM_JSON:BOOL=OFF -DGDCM_USE_SYSTEM_LIBXML2:BOOL=ON -DGDCM_USE_SYSTEM_OPENJPEG:BOOL=OFF -DGDCM_USE_SYSTEM_POPPLER:BOOL=OFF -DGDCM_USE_SYSTEM_UUID:BOOL=OFF -DGDCM_USE_SYSTEM_ZLIB:BOOL=ON -DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF" + - CMAKE_EXTRA="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=ON -DGDCM_USE_SYSTEM_OPENSSL:BOOL=ON -DGDCM_WRAP_PYTHON:BOOL=OFF -DGDCM_WRAP_CSHARP:BOOL=OFF -DGDCM_WRAP_JAVA:BOOL=OFF -DGDCM_WRAP_PHP:BOOL=OFF -DGDCM_USE_SYSTEM_EXPAT:BOOL=ON -DGDCM_USE_SYSTEM_JSON:BOOL=OFF -DGDCM_USE_SYSTEM_LIBXML2:BOOL=ON -DGDCM_USE_SYSTEM_OPENJPEG:BOOL=OFF -DGDCM_USE_SYSTEM_POPPLER:BOOL=OFF -DGDCM_USE_SYSTEM_UUID:BOOL=OFF -DGDCM_USE_SYSTEM_ZLIB:BOOL=ON -DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF" - B_NAME=system - compiler: clang os: linux @@ -35,7 +35,7 @@ matrix: env: - CFLAGS="-Wall -Wextra" # -m64 -fsanitize=address,undefined - CXXFLAGS="-Wall -Wextra" # -m64 -fsanitize=address,undefined - - CMAKE_EXTRA="-DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF" + - CMAKE_EXTRA="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=ON -DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF" - B_NAME=fsanitize before_install: