# ====================================================================================================================== # fennec, a free and open source game engine # Copyright © 2025 - 2026 Medusa Slockbower # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # ====================================================================================================================== # this script sets flags and variables for llvm compilers # Receive all warnings and treat as errors add_compile_options("-Wall" "-Wextra" "-pedantic" "-Werror" "-fms-extensions") # Use relative directories to hide the user's directory fennec_add_compile_options("-ffile-prefix-map=${FENNEC_SOURCE_DIR}=.") # Disable STDLIB, Exceptions, and RTTI, we implement our own. Also include diagnostics and pthread. fennec_add_link_options("-nostdlib" "-fno-exceptions" "-fno-rtti" "-fdiagnostics-all-candidates" "-pthread") # Base definitions for Clang fennec_add_definitions( _GLIBCXX_INCLUDE_NEXT_C_HEADERS=1 FENNEC_COMPILER_CLANG=1 FENNEC_GLIBC=1 FENNEC_NO_INLINE=[[clang::noinline]] FENNEC_FUNCTION_NAME=__PRETTY_FUNCTION__ )