From bbd6dfc21a1a6c07824fc81e0659a2c200581d3b Mon Sep 17 00:00:00 2001 From: AiraYumi Date: Tue, 9 Apr 2024 05:38:01 +0900 Subject: Some fixes to linux builds (#1144) * compile flag cleanup for linux * rollback indra/llcommon/llprofiler.h * use 3p fltk package * fix build gcc 13 (dangling-pointer) --- autobuild.xml | 30 ++++++++++++++++++++++++++++++ indra/cmake/00-Common.cmake | 2 +- indra/cmake/UI.cmake | 16 +++------------- indra/llcommon/llprofiler.h | 5 +---- 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 5bb0e953f7..e95eb13a6b 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -39,6 +39,36 @@ description Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. + fltk + + platforms + + linux64 + + archive + + hash + 691fef2ddd57d7b6c26e87fc82d9ace3f54e078c + hash_algorithm + sha1 + url + https://github.com/secondlife/3p-fltk/releases/download/v1.3.9-r1/fltk-1.3.9.8556992788-linux64-8556992788.tar.zst + + name + linux + + + license + LGPL/fltk + license_file + LICENSES/fltk.txt + copyright + Copyright (C) fltk project + version + 1.3.5 + name + fltk + apr_suite platforms diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 486071a2df..419ebebe3b 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -198,7 +198,7 @@ if (LINUX OR DARWIN) list(APPEND GCC_WARNINGS -Wno-reorder -Wno-non-virtual-dtor ) if(LINUX) - list(APPEND GCC_WARNINGS -Wno-maybe-uninitialized -Wno-misleading-indentation -Wno-stringop-truncation -Wno-unused-value ) + list(APPEND GCC_WARNINGS -Wno-maybe-uninitialized -Wno-dangling-pointer ) endif() add_compile_options(${GCC_WARNINGS}) diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 0eb9af6dcf..0df62808e7 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -6,25 +6,15 @@ include(GLIB) add_library( ll::uilibraries INTERFACE IMPORTED ) if (LINUX) - target_compile_definitions(ll::uilibraries INTERFACE LL_X11=1 ) + use_prebuilt_binary(fltk) + target_compile_definitions(ll::uilibraries INTERFACE LL_FLTK=1 LL_X11=1 ) if( USE_CONAN ) return() endif() - find_package(FLTK REQUIRED ) - find_library(ND_FLTK_STATIC_LIBRARY libfltk.a PATH_SUFFIXES fltk ) - - if( NOT ND_FLTK_STATIC_LIBRARY ) - message(FATAL_ERROR "libfltk.a not found") - else() - message("libfltk.a found ${ND_FLTK_STATIC_LIBRARY}") - endif() - - target_include_directories( ll::uilibraries SYSTEM INTERFACE ${FLTK_INCLUDE_DIR}) - target_compile_definitions( ll::uilibraries INTERFACE LL_FLTK=1 ) target_link_libraries( ll::uilibraries INTERFACE - ${ND_FLTK_STATIC_LIBRARY} + fltk Xrender Xcursor Xfixes diff --git a/indra/llcommon/llprofiler.h b/indra/llcommon/llprofiler.h index 0297bbe592..af5e5777bf 100644 --- a/indra/llcommon/llprofiler.h +++ b/indra/llcommon/llprofiler.h @@ -74,10 +74,6 @@ #define LL_PROFILER_CONFIGURATION LL_PROFILER_CONFIG_FAST_TIMER #endif -#if LL_PROFILER_CONFIGURATION == LL_PROFILER_CONFIG_TRACY || LL_PROFILER_CONFIGURATION == LL_PROFILER_CONFIG_TRACY_FAST_TIMER - #include "Tracy.hpp" -#endif - extern thread_local bool gProfilerEnabled; #if defined(LL_PROFILER_CONFIGURATION) && (LL_PROFILER_CONFIGURATION > LL_PROFILER_CONFIG_NONE) @@ -88,6 +84,7 @@ extern thread_local bool gProfilerEnabled; // #define TRACY_NO_BROADCAST 1 // #define TRACY_ONLY_LOCALHOST 1 #define TRACY_ONLY_IPV4 1 + #include "Tracy.hpp" // Enable OpenGL profiling #define LL_PROFILER_ENABLE_TRACY_OPENGL 0 -- cgit v1.2.3