Skip to content
Snippets Groups Projects
Unverified Commit 69557d46 authored by SpaceIm's avatar SpaceIm Committed by GitHub
Browse files

add FTXUI_DEV_WARNINGS option in CMakeLists (#648)

This option allows to enable warnings as errors, and add more compiler warnings
parent f1303626
Branches master
No related tags found
No related merge requests found
...@@ -71,7 +71,8 @@ jobs: ...@@ -71,7 +71,8 @@ jobs:
-DFTXUI_BUILD_EXAMPLES:BOOL=ON -DFTXUI_BUILD_EXAMPLES:BOOL=ON
-DFTXUI_BUILD_TESTS:BOOL=ON -DFTXUI_BUILD_TESTS:BOOL=ON
-DFTXUI_BUILD_TESTS_FUZZER:BOOL=OFF -DFTXUI_BUILD_TESTS_FUZZER:BOOL=OFF
-DFTXUI_ENABLE_INSTALL:BOOL=ON ; -DFTXUI_ENABLE_INSTALL:BOOL=ON
-DFTXUI_DEV_WARNINGS:BOOL=ON ;
- name: "Build" - name: "Build"
run: > run: >
...@@ -170,7 +171,8 @@ jobs: ...@@ -170,7 +171,8 @@ jobs:
-DFTXUI_BUILD_EXAMPLES=OFF -DFTXUI_BUILD_EXAMPLES=OFF
-DFTXUI_BUILD_TESTS=OFF -DFTXUI_BUILD_TESTS=OFF
-DFTXUI_BUILD_TESTS_FUZZER=OFF -DFTXUI_BUILD_TESTS_FUZZER=OFF
-DFTXUI_ENABLE_INSTALL=ON; -DFTXUI_ENABLE_INSTALL=ON
-DFTXUI_DEV_WARNINGS=ON ;
cmake --build . --target package; cmake --build . --target package;
- uses: shogo82148/actions-upload-release-asset@v1 - uses: shogo82148/actions-upload-release-asset@v1
...@@ -207,7 +209,8 @@ jobs: ...@@ -207,7 +209,8 @@ jobs:
-DFTXUI_BUILD_EXAMPLES=ON -DFTXUI_BUILD_EXAMPLES=ON
-DFTXUI_BUILD_TESTS=OFF -DFTXUI_BUILD_TESTS=OFF
-DFTXUI_BUILD_TESTS_FUZZER=OFF -DFTXUI_BUILD_TESTS_FUZZER=OFF
-DFTXUI_ENABLE_INSTALL=OFF; -DFTXUI_ENABLE_INSTALL=OFF
-DFTXUI_DEV_WARNINGS=ON ;
cmake --build . --target doc; cmake --build . --target doc;
cmake --build . ; cmake --build . ;
rsync -amv rsync -amv
......
...@@ -13,6 +13,7 @@ option(FTXUI_BUILD_TESTS_FUZZER "Set to ON to enable fuzzing" OFF) ...@@ -13,6 +13,7 @@ option(FTXUI_BUILD_TESTS_FUZZER "Set to ON to enable fuzzing" OFF)
option(FTXUI_ENABLE_INSTALL "Generate the install target" ON) option(FTXUI_ENABLE_INSTALL "Generate the install target" ON)
option(FTXUI_CLANG_TIDY "Execute clang-tidy" OFF) option(FTXUI_CLANG_TIDY "Execute clang-tidy" OFF)
option(FTXUI_ENABLE_COVERAGE "Execute code coverage" OFF) option(FTXUI_ENABLE_COVERAGE "Execute code coverage" OFF)
option(FTXUI_DEV_WARNINGS "Enable more compiler warnings and warnings as errors" OFF)
set(FTXUI_MICROSOFT_TERMINAL_FALLBACK_HELP_TEXT "On windows, assume the \ set(FTXUI_MICROSOFT_TERMINAL_FALLBACK_HELP_TEXT "On windows, assume the \
terminal used will be one of Microsoft and use a set of reasonnable fallback \ terminal used will be one of Microsoft and use a set of reasonnable fallback \
......
...@@ -66,8 +66,10 @@ function(ftxui_set_options library) ...@@ -66,8 +66,10 @@ function(ftxui_set_options library)
# Add as many warning as possible: # Add as many warning as possible:
if (WIN32) if (WIN32)
if (MSVC) if (MSVC)
if(FTXUI_DEV_WARNINGS)
target_compile_options(${library} PRIVATE "/W3") target_compile_options(${library} PRIVATE "/W3")
target_compile_options(${library} PRIVATE "/WX") target_compile_options(${library} PRIVATE "/WX")
endif()
target_compile_options(${library} PRIVATE "/wd4244") target_compile_options(${library} PRIVATE "/wd4244")
target_compile_options(${library} PRIVATE "/wd4267") target_compile_options(${library} PRIVATE "/wd4267")
target_compile_options(${library} PRIVATE "/D_CRT_SECURE_NO_WARNINGS") target_compile_options(${library} PRIVATE "/D_CRT_SECURE_NO_WARNINGS")
...@@ -75,6 +77,7 @@ function(ftxui_set_options library) ...@@ -75,6 +77,7 @@ function(ftxui_set_options library)
# Force Win32 to UNICODE # Force Win32 to UNICODE
target_compile_definitions(${library} PRIVATE UNICODE _UNICODE) target_compile_definitions(${library} PRIVATE UNICODE _UNICODE)
else() else()
if(FTXUI_DEV_WARNINGS)
target_compile_options(${library} PRIVATE "-Wall") target_compile_options(${library} PRIVATE "-Wall")
target_compile_options(${library} PRIVATE "-Werror") target_compile_options(${library} PRIVATE "-Werror")
target_compile_options(${library} PRIVATE "-Wextra") target_compile_options(${library} PRIVATE "-Wextra")
...@@ -89,10 +92,13 @@ function(ftxui_set_options library) ...@@ -89,10 +92,13 @@ function(ftxui_set_options library)
target_compile_options(${library} PRIVATE "-Wshadow") target_compile_options(${library} PRIVATE "-Wshadow")
target_compile_options(${library} PRIVATE "-Wunused") target_compile_options(${library} PRIVATE "-Wunused")
endif() endif()
endif()
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(FTXUI_DEV_WARNINGS)
target_compile_options(${library} PRIVATE "-Wdocumentation") target_compile_options(${library} PRIVATE "-Wdocumentation")
endif() endif()
endif()
if (FTXUI_MICROSOFT_TERMINAL_FALLBACK) if (FTXUI_MICROSOFT_TERMINAL_FALLBACK)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment