Unverified Commit da90ef78 authored by Dominik Charousset's avatar Dominik Charousset Committed by GitHub

Merge pull request #824

Allow IPO on gcc/clang
parents d8a529ea 6f9c046e
...@@ -263,6 +263,18 @@ if(CAF_MORE_WARNINGS) ...@@ -263,6 +263,18 @@ if(CAF_MORE_WARNINGS)
string(REPLACE ";" "" WFLAGS_STR ${WFLAGS}) string(REPLACE ";" "" WFLAGS_STR ${WFLAGS})
build_string("EXTRA_FLAGS" "${WFLAGS_STR}") build_string("EXTRA_FLAGS" "${WFLAGS_STR}")
endif() endif()
# allow enabling IPO on gcc/clang
if(POLICY CMP0069)
cmake_policy(SET CMP0069 NEW)
else()
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
build_string("EXTRA_FLAGS" "-flto")
elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
build_string("EXTRA_FLAGS" "-flto -fno-fat-lto-objects")
endif()
endif()
endif()
# add -stdlib=libc++ when using Clang if possible # add -stdlib=libc++ when using Clang if possible
if(NOT CAF_NO_AUTO_LIBCPP AND CMAKE_CXX_COMPILER_ID MATCHES "Clang") if(NOT CAF_NO_AUTO_LIBCPP AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
...@@ -315,7 +327,7 @@ if(MINGW) ...@@ -315,7 +327,7 @@ if(MINGW)
build_string("EXTRA_FLAGS" "-static") build_string("EXTRA_FLAGS" "-static")
elseif(CYGWIN) elseif(CYGWIN)
build_string("EXTRA_FLAGS" "-U__STRICT_ANSI__") build_string("EXTRA_FLAGS" "-U__STRICT_ANSI__")
else() elseif(NOT CAF_BUILD_STATIC_ONLY)
build_string("EXTRA_FLAGS" "-fPIC") build_string("EXTRA_FLAGS" "-fPIC")
endif() endif()
if (WIN32) if (WIN32)
......
cmake_minimum_required(VERSION 2.8)
project(caf_examples CXX) project(caf_examples CXX)
add_custom_target(all_examples) add_custom_target(all_examples)
......
cmake_minimum_required(VERSION 2.8.12)
project(caf_core C CXX) project(caf_core C CXX)
# get header files; only needed by CMake generators, # get header files; only needed by CMake generators,
......
cmake_minimum_required(VERSION 2.8.12)
project(caf_io C CXX) project(caf_io C CXX)
# get header files; only needed by CMake generators, # get header files; only needed by CMake generators,
......
cmake_minimum_required(VERSION 3.1)
project(caf_opencl C CXX) project(caf_opencl C CXX)
# get header files; only needed by CMake generators, # get header files; only needed by CMake generators,
......
cmake_minimum_required(VERSION 2.8)
project(caf_openssl C CXX) project(caf_openssl C CXX)
# get header files; only needed by CMake generators, # get header files; only needed by CMake generators,
......
cmake_minimum_required(VERSION 2.8)
project(caf_tools CXX) project(caf_tools CXX)
add_custom_target(all_tools) add_custom_target(all_tools)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment