From: Gentoo
Subject: [PATCH] respect distribution toolchain flags

Do not force optimization, LTO, or warnings-as-errors.  The distribution
toolchain controls optimization and LTO through its own flags, while upstream
warnings must not turn new compiler diagnostics into build failures.

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,30 +46,5 @@ message(STATUS "CUDA architectures: ${XGRAMMAR_CUDA_ARCHITECTURES}")
 message(STATUS "Enable C++ trace: ${XGRAMMAR_ENABLE_CPPTRACE}")
-
+
-if(MSVC)
-  set(CMAKE_CXX_FLAGS "/Wall ${CMAKE_CXX_FLAGS}")
-else()
-  if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
-    set(CMAKE_CXX_FLAGS "-O3 ${CMAKE_CXX_FLAGS}")
-  endif()
-  if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
-    message(STATUS "RISC-V 64-bit target detected, disabling LTO to prevent linker errors.")
-    set(CMAKE_CXX_FLAGS "-Wall -Wextra -Werror -Wno-pedantic -Wno-unused-parameter \
--Woverloaded-virtual ${CMAKE_CXX_FLAGS}"
-    )
-  elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
-    message(
-      STATUS "PowerPC 64-bit LE target detected, downgrading -Wfree-nonheap-object to warning."
-    )
-    set(CMAKE_CXX_FLAGS "-Wall -Wextra -Werror -Wno-pedantic -Wno-unused-parameter \
--Woverloaded-virtual -Wno-error=free-nonheap-object -flto=auto ${CMAKE_CXX_FLAGS}"
-    )
-  else()
-    set(CMAKE_CXX_FLAGS "-Wall -Wextra -Werror -Wno-pedantic -Wno-unused-parameter \
--Woverloaded-virtual -Wno-error=free-nonheap-object -flto=auto ${CMAKE_CXX_FLAGS}"
-    )
-  endif()
-endif()
-
 set(XGRAMMAR_INCLUDE_PATH ${PROJECT_SOURCE_DIR}/3rdparty/picojson
                           ${PROJECT_SOURCE_DIR}/3rdparty/dlpack/include
 )
