From 4830f27a40323fe859dc166337a2b861877b7121 Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 1 Jan 2018 13:40:09 +0100 Subject: sync with upstream --- cmake/scripts/linux/ArchSetup.cmake | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'cmake/scripts/linux/ArchSetup.cmake') diff --git a/cmake/scripts/linux/ArchSetup.cmake b/cmake/scripts/linux/ArchSetup.cmake index 74018d0..ee69c09 100644 --- a/cmake/scripts/linux/ArchSetup.cmake +++ b/cmake/scripts/linux/ArchSetup.cmake @@ -5,7 +5,7 @@ if(CORE_PLATFORM_NAME_LC STREQUAL rbpi) endif() set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) -set(PLATFORM_DIR linux) +set(PLATFORM_DIR platform/linux) set(CMAKE_SYSTEM_NAME Linux) if(WITH_ARCH) set(ARCH ${WITH_ARCH}) @@ -37,9 +37,32 @@ else() endif() endif() -# Make sure we strip binaries in Release build -if(CMAKE_BUILD_TYPE STREQUAL Release AND CMAKE_COMPILER_IS_GNUCXX) +if((CMAKE_BUILD_TYPE STREQUAL Release OR CMAKE_BUILD_TYPE STREQUAL MinSizeRel) + AND CMAKE_COMPILER_IS_GNUCXX) + # Make sure we strip binaries in Release build set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s") + + # LTO Support, requires cmake >= 3.9 + if(CMAKE_VERSION VERSION_EQUAL 3.9.0 OR CMAKE_VERSION VERSION_GREATER 3.9.0) + option(USE_LTO "Enable link time optimization. Specify an int for number of parallel jobs" OFF) + if(USE_LTO) + include(CheckIPOSupported) + check_ipo_supported(RESULT HAVE_LTO OUTPUT _output) + if(HAVE_LTO) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) + # override flags to enable parallel processing + set(NJOBS 2) + if(USE_LTO MATCHES "^[0-9]+$") + set(NJOBS ${USE_LTO}) + endif() + set(CMAKE_CXX_COMPILE_OPTIONS_IPO -flto=${NJOBS} -fno-fat-lto-objects) + set(CMAKE_C_COMPILE_OPTIONS_IPO -flto=${NJOBS} -fno-fat-lto-objects) + else() + message(WARNING "LTO optimization not supported: ${_output}") + unset(_output) + endif() + endif() + endif() endif() if(KODI_DEPENDSBUILD) @@ -64,6 +87,9 @@ if(HAVE_MKOSTEMP) list(APPEND ARCH_DEFINES "-DHAVE_MKOSTEMP=1" "-D_GNU_SOURCE") endif() +# Additional SYSTEM_DEFINES +list(APPEND SYSTEM_DEFINES -DHAS_LINUX_NETWORK) + # Code Coverage if(CMAKE_BUILD_TYPE STREQUAL Coverage) set(COVERAGE_TEST_BINARY ${APP_NAME_LC}-test) @@ -78,5 +104,8 @@ endif() if(ENABLE_GBM) set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU" FORCE) - set(ENABLE_VAAPI OFF CACHE BOOL "Disabling VAAPI" FORCE) +endif() + +if(ENABLE_VDPAU) + set(ENABLE_GLX ON CACHE BOOL "Enabling GLX" FORCE) endif() -- cgit v1.2.3