Skip to content

Commit a612209

Browse files
authored
Merge pull request #76 from pocketpy/add-compiler-options
Add flag to suppress warnings
2 parents 40a058c + ccbf52f commit a612209

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,25 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
88
include_directories(numpy/include)
99
include_directories(pocketpy/include)
1010

11+
option(SHOW_XTENSOR_WARNINGS "Show warnings from xtensor" OFF)
12+
1113
add_subdirectory(pocketpy)
1214

1315
if(MSVC)
1416
add_compile_options(/wd4018 /wd4172 /wd4819)
1517
add_compile_options(/bigobj)
1618
endif()
1719

20+
# Suppress xtensor warnings if SHOW_XTENSOR_WARNINGS is OFF
21+
if(NOT SHOW_XTENSOR_WARNINGS)
22+
add_compile_definitions(SUPPRESS_XTENSOR_WARNINGS)
23+
if(MSVC)
24+
add_compile_options(/wd4244 /wd4267 /wd4018)
25+
else()
26+
add_compile_options(-Wno-sign-compare -Wno-conversion -Wno-unused-variable -Wno-unused-parameter)
27+
endif()
28+
endif()
29+
1830
add_executable(${PROJECT_NAME} test_main.cpp numpy/src/numpy.cpp)
1931

2032
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY CMAKE_CURRENT_LIST_DIR)

numpy/include/numpy.hpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,33 @@
1212
#include <utility>
1313
#include <vector>
1414

15+
// Suppress xtensor warnings if SUPPRESS_XTENSOR_WARNINGS is set
16+
#ifdef SUPPRESS_XTENSOR_WARNINGS
17+
#ifdef _MSC_VER
18+
#pragma warning(push, 0)
19+
#else
20+
#pragma GCC diagnostic push
21+
#pragma GCC diagnostic ignored "-Wall"
22+
#pragma GCC diagnostic ignored "-Wextra"
23+
#pragma GCC system_header
24+
#endif
25+
#endif
26+
1527
#include <xtensor/xarray.hpp>
1628
#include <xtensor/xio.hpp>
1729
#include <xtensor/xmath.hpp>
1830
#include <xtensor/xrandom.hpp>
1931
#include <xtensor/xsort.hpp>
2032
#include <xtensor/xview.hpp>
2133

34+
#ifdef SUPPRESS_XTENSOR_WARNINGS
35+
#ifdef _MSC_VER
36+
#pragma warning(pop)
37+
#else
38+
#pragma GCC diagnostic pop
39+
#endif
40+
#endif
41+
2242
namespace pkpy {
2343

2444
// Type aliases

0 commit comments

Comments
 (0)