aboutsummaryrefslogtreecommitdiff
path: root/etc/cflags.cmake
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-04-11 00:50:38 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-04-11 00:50:38 +0800
commit44ad3c8b36540c6b0b3144a21ac40310e163bb19 (patch)
treeec2b75f68771fcbed8ba7450d30da1f05ebfc52c /etc/cflags.cmake
downloadrwebbrowser-44ad3c8b36540c6b0b3144a21ac40310e163bb19.tar.gz
rwebbrowser-44ad3c8b36540c6b0b3144a21ac40310e163bb19.tar.xz
feat: initialize project structure with CMake build system, C++23 support, and core browser scaffolding
Diffstat (limited to 'etc/cflags.cmake')
-rw-r--r--etc/cflags.cmake13
1 files changed, 13 insertions, 0 deletions
diff --git a/etc/cflags.cmake b/etc/cflags.cmake
new file mode 100644
index 0000000..cf60dd7
--- /dev/null
+++ b/etc/cflags.cmake
@@ -0,0 +1,13 @@
+set (CMAKE_CXX_STANDARD 23)
+set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
+set (CMAKE_CXX_STANDARD_REQUIRED ON)
+set (CMAKE_CXX_EXTENSIONS OFF)
+
+set(SANITIZING_FLAGS "-fno-sanitize-recover=all -fsanitize=undefined -fsanitize=address")
+
+# ask for more warnings from the compiler
+set (CMAKE_BASE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wpedantic -Wextra -Weffc++ -Werror -Wshadow -Wpointer-arith -Wcast-qual -Wformat=2 -Wno-unqualified-std-cast-call -Wno-non-virtual-dtor")
+
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${SANITIZING_FLAGS}")
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -march=native") \ No newline at end of file