diff options
Diffstat (limited to '')
-rw-r--r-- | cmake/variables.cmake | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cmake/variables.cmake b/cmake/variables.cmake new file mode 100644 index 0000000..d4497e7 --- /dev/null +++ b/cmake/variables.cmake @@ -0,0 +1,28 @@ +# ---- Developer mode ---- + +# Developer mode enables targets and code paths in the CMake scripts that are +# only relevant for the developer(s) of lnav +# Targets necessary to build the project must be provided unconditionally, so +# consumers can trivially build and package the project +if(PROJECT_IS_TOP_LEVEL) + option(lnav_DEVELOPER_MODE "Enable developer mode" OFF) +endif() + +# ---- Warning guard ---- + +# target_include_directories with the SYSTEM modifier will request the compiler +# to omit warnings from the provided paths, if the compiler supports that +# This is to provide a user experience similar to find_package when +# add_subdirectory or FetchContent is used to consume this project +set(warning_guard "") +if(NOT PROJECT_IS_TOP_LEVEL) + option( + lnav_INCLUDES_WITH_SYSTEM + "Use SYSTEM modifier for lnav's includes, disabling warnings" + ON + ) + mark_as_advanced(lnav_INCLUDES_WITH_SYSTEM) + if(lnav_INCLUDES_WITH_SYSTEM) + set(warning_guard SYSTEM) + endif() +endif() |