diff options
author | AiraYumi <aira.youme@airanyumi.net> | 2024-04-09 05:38:01 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-08 23:38:01 +0300 |
commit | bbd6dfc21a1a6c07824fc81e0659a2c200581d3b (patch) | |
tree | bd27436d4b246116d53e7b3e2e5e007f15d6ad66 | |
parent | e79c32eee89c31e730ac0562d680e6e0ebfd4a68 (diff) |
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)
-rw-r--r-- | autobuild.xml | 30 | ||||
-rw-r--r-- | indra/cmake/00-Common.cmake | 2 | ||||
-rw-r--r-- | indra/cmake/UI.cmake | 16 | ||||
-rw-r--r-- | 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 @@ <key>description</key> <string>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.</string> </map> + <key>fltk</key> + <map> + <key>platforms</key> + <map> + <key>linux64</key> + <map> + <key>archive</key> + <map> + <key>hash</key> + <string>691fef2ddd57d7b6c26e87fc82d9ace3f54e078c</string> + <key>hash_algorithm</key> + <string>sha1</string> + <key>url</key> + <string>https://github.com/secondlife/3p-fltk/releases/download/v1.3.9-r1/fltk-1.3.9.8556992788-linux64-8556992788.tar.zst</string> + </map> + <key>name</key> + <string>linux</string> + </map> + </map> + <key>license</key> + <string>LGPL/fltk</string> + <key>license_file</key> + <string>LICENSES/fltk.txt</string> + <key>copyright</key> + <string>Copyright (C) fltk project</string> + <key>version</key> + <string>1.3.5</string> + <key>name</key> + <string>fltk</string> + </map> <key>apr_suite</key> <map> <key>platforms</key> 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 |