@@ -3,6 +3,15 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
3
3
set (PARSE_CATCH_TESTS_ADD_TO_CONFIGURE_DEPENDS ON )
4
4
include (ParseAndAddCatchTests)
5
5
6
+ function (SetTestCompileOptions target_name)
7
+ target_compile_options (${target_name} PRIVATE
8
+ $<$<BOOL :${EMSCRIPTEN} >:-s DISABLE_EXCEPTION_CATCHING=0>
9
+ $<$<OR :$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Werror -Wno-deprecated-declarations>
10
+ $<$<CXX_COMPILER_ID:GNU>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Wno-psabi -Werror -Wno-deprecated-declarations>
11
+ $<$<CXX_COMPILER_ID:MSVC >:/WX /wd4996>
12
+ $<$<BOOL :${CYGWIN} >:-Wa,-mbig-obj>)
13
+ endfunction ()
14
+
6
15
if (GHC_COVERAGE)
7
16
message ("Generating test runner for coverage run..." )
8
17
set (CMAKE_EXE_LINKER_FLAGS "${CMCMAKE_EXE_LINKER_FLAGS} --coverage" )
@@ -23,12 +32,7 @@ else()
23
32
message ("Generating test runner for normal test..." )
24
33
add_executable (filesystem_test filesystem_test.cpp catch.hpp)
25
34
target_link_libraries (filesystem_test ghc_filesystem)
26
- target_compile_options (filesystem_test PRIVATE
27
- $<$<BOOL :${EMSCRIPTEN} >:-s DISABLE_EXCEPTION_CATCHING=0>
28
- $<$<OR :$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Werror>
29
- $<$<CXX_COMPILER_ID:GNU>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Wno-psabi -Werror>
30
- $<$<CXX_COMPILER_ID:MSVC >:/WX>
31
- $<$<BOOL :${CYGWIN} >:-Wa,-mbig-obj>)
35
+ SetTestCompileOptions(filesystem_test)
32
36
if (CMAKE_CXX_COMPILER_ID MATCHES MSVC )
33
37
target_compile_definitions (filesystem_test PRIVATE _CRT_SECURE_NO_WARNINGS WIN32_LEAN_AND_MEAN NOMINMAX)
34
38
endif ()
@@ -42,10 +46,7 @@ else()
42
46
if (WIN32 )
43
47
add_executable (filesystem_test_char filesystem_test.cpp catch.hpp)
44
48
target_link_libraries (filesystem_test_char ghc_filesystem)
45
- target_compile_options (filesystem_test_char PRIVATE
46
- $<$<CXX_COMPILER_ID:Clang>:-Wall -Wextra -Werror>
47
- $<$<CXX_COMPILER_ID:GNU>:-Wall -Werror>
48
- $<$<CXX_COMPILER_ID:MSVC >:/WX>)
49
+ SetTestCompileOptions(filesystem_test_char)
49
50
if (CMAKE_CXX_COMPILER_ID MATCHES MSVC )
50
51
target_compile_definitions (filesystem_test_char PRIVATE _CRT_SECURE_NO_WARNINGS GHC_WIN_DISABLE_WSTRING_STORAGE_TYPE)
51
52
else ()
@@ -67,12 +68,7 @@ add_test(multifile_test multifile_test)
67
68
68
69
add_executable (fwd_impl_test fwd_test.cpp impl_test.cpp)
69
70
target_link_libraries (fwd_impl_test ghc_filesystem)
70
- target_compile_options (fwd_impl_test PRIVATE
71
- $<$<BOOL :${EMSCRIPTEN} >:-s DISABLE_EXCEPTION_CATCHING=0>
72
- $<$<OR :$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Werror>
73
- $<$<CXX_COMPILER_ID:GNU>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Wno-psabi -Werror>
74
- $<$<CXX_COMPILER_ID:MSVC >:/WX>
75
- $<$<BOOL :${CYGWIN} >:-Wa,-mbig-obj>)
71
+ SetTestCompileOptions(fwd_impl_test)
76
72
if (CMAKE_CXX_COMPILER_ID MATCHES MSVC )
77
73
target_compile_definitions (fwd_impl_test PRIVATE _CRT_SECURE_NO_WARNINGS WIN32_LEAN_AND_MEAN NOMINMAX)
78
74
endif ()
@@ -83,9 +79,4 @@ if(NOT MSVC)
83
79
target_compile_options (exception PRIVATE -fno-exceptions)
84
80
endif ()
85
81
target_include_directories (exception PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} /../include )
86
- target_compile_options (exception PRIVATE
87
- $<$<BOOL :${EMSCRIPTEN} >:-s DISABLE_EXCEPTION_CATCHING=0>
88
- $<$<OR :$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Werror>
89
- $<$<CXX_COMPILER_ID:GNU>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Wno-psabi -Werror>
90
- $<$<CXX_COMPILER_ID:MSVC >:/WX>
91
- $<$<BOOL :${CYGWIN} >:-Wa,-mbig-obj>)
82
+ SetTestCompileOptions(exception)
0 commit comments