summaryrefslogtreecommitdiff
path: root/Jamroot.jam
diff options
context:
space:
mode:
Diffstat (limited to 'Jamroot.jam')
-rw-r--r--Jamroot.jam86
1 files changed, 56 insertions, 30 deletions
diff --git a/Jamroot.jam b/Jamroot.jam
index 0edd310..eb3aceb 100644
--- a/Jamroot.jam
+++ b/Jamroot.jam
@@ -1,42 +1,68 @@
import os ;
import slice ;
+import testing ;
-using gcc : : [ os.environ CXX ] ;
+using pkg-config ;
+import pkg-config ;
variant coverage : debug ;
-project
- : requirements
+project netfs : requirements
<define>ICE_CPP11_MAPPING
- <define>_FILE_OFFSET_BITS=64
- <cxxflags>"-std=c++17 -fvisibility=hidden -fvisibility-inlines-hidden"
- <linkflags>"-Wl,-z,defs,--warn-once,--gc-sections"
- <variant>release:<cxxflags>"-flto=3"
- <variant>release:<linkflags>"-flto=3"
- <variant>debug:<cxxflags>"-W -Wall -Werror -Wextra"
- <variant>coverage:<cxxflags>"--coverage"
- <variant>coverage:<linkflags>"--coverage"
+ <cxxstd>23
+ <visibility>hidden
+ <linkflags>"-Wl,-z,defs,--warn-once,--gc-sections"
+ <variant>release:<lto>on
+ <variant>debug:<warnings>extra
+ <variant>debug:<warnings-as-errors>on
+ <variant>debug:<cflags>-Wnon-virtual-dtor
+ <variant>debug:<cflags>-Wold-style-cast
+ <variant>debug:<cflags>-Wcast-align
+ <variant>debug:<cflags>-Wunused
+ <variant>debug:<cflags>-Woverloaded-virtual
+ <toolset>gcc,<variant>debug:<cflags>-Wpedantic
+ <variant>debug:<cflags>-Wconversion
+ <variant>debug:<cflags>-Wsign-conversion
+ <variant>debug:<cflags>-Wnull-dereference
+ <variant>debug:<cflags>-Wdouble-promotion
+ <variant>debug:<cflags>-Wformat=2
+ <variant>debug:<cflags>-Wshadow
+ <toolset>gcc,<variant>debug:<cflags>-Wduplicated-cond
+ <toolset>gcc,<variant>debug:<cflags>-Wduplicated-branches
+ <toolset>gcc,<variant>debug:<cflags>-Wlogical-op
+ <toolset>gcc,<variant>debug:<cflags>-Wuseless-cast
+ <variant>coverage:<coverage>on
+ <toolset>tidy:<enable>all
+ <toolset>tidy:<define>ICE_IGNORE_VERSION
+ <toolset>tidy:<checkxx>boost-*
+ <toolset>tidy:<checkxx>bugprone-*
+ <toolset>tidy:<xcheckxx>bugprone-easily-swappable-parameters
+ <toolset>tidy:<checkxx>clang-*
+ <toolset>tidy:<checkxx>misc-*
+ <toolset>tidy:<checkxx>modernize-*
+ <toolset>tidy:<xcheckxx>modernize-use-trailing-return-type
+ <toolset>tidy:<xcheckxx>misc-non-private-member-variables-in-classes
+ <toolset>tidy:<checkxx>hicpp-*
+ <toolset>tidy:<xcheckxx>hicpp-vararg
+ <toolset>tidy:<xcheckxx>hicpp-signed-bitwise
+ <toolset>tidy:<xcheckxx>hicpp-no-array-decay
+ <toolset>tidy:<xcheckxx>hicpp-named-parameter
+ <toolset>tidy:<checkxx>performance-*
+ <toolset>tidy:<exclude>netfs/daemon/bin/tidy/debug/checker-none/cxxstd-20-iso/daemonConfig.h
+ <toolset>tidy:<exclude>netfs/fuse/bin/tidy/debug/checker-none/cxxstd-20-iso/fuseConfig.h
+ <toolset>tidy:<exclude>netfs/fuse/bin/tidy/debug/checker-none/cxxstd-20-iso/fuseMappers.h
+ <toolset>tidy:<exclude>netfs/ice/bin/directory.h
+ <toolset>tidy:<exclude>netfs/ice/bin/exceptions.h
+ <toolset>tidy:<exclude>netfs/ice/bin/file.h
+ <toolset>tidy:<exclude>netfs/ice/bin/service.h
+ <toolset>tidy:<exclude>netfs/ice/bin/types.h
+ <toolset>tidy:<exclude>netfs/ice/bin/volume.h
+ <toolset>tidy:<librarydef>std
+ <toolset>tidy:<librarydef>boost
;
build-project netfs ;
-# Some useful aliases
-
-lib glibmm-2.4 ;
-lib gobject-2.0 ;
-lib glib-2.0 ;
-lib sigc-2.0 ;
-
-alias glibmm : : : :
- <include>/usr/include/glibmm-2.4
- <include>/usr/lib/glibmm-2.4/include
- <include>/usr/include/glib-2.0
- <include>/usr/lib/glib-2.0/include
- <include>/usr/include/sigc++-2.0
- <include>/usr/lib/sigc++-2.0/include
- <library>glibmm-2.4
- <library>gobject-2.0
- <library>glib-2.0
- <library>sigc-2.0
- ;
+pkg-config.import glibmm : : <name>glibmm-2.68 ;
+pkg-config.import fuse : : <name>fuse3 ;