• Home
  • Raw
  • Download

Lines Matching +full:build +full:- +full:and +full:- +full:test

5 set(TEST_MAIN_SRC test-main.cc gtest-extra.cc gtest-extra.h util.cc)
6 add_library(test-main STATIC ${TEST_MAIN_SRC})
7 target_include_directories(test-main PUBLIC
9 target_link_libraries(test-main gtest fmt)
11 # Adds a test.
19 set(libs gtest fmt-header-only)
21 set(PEDANTIC_COMPILE_FLAGS ${PEDANTIC_COMPILE_FLAGS} -Wno-weak-vtables)
24 set(libs test-main test-module)
25 set_source_files_properties(${name}.cc PROPERTIES OBJECT_DEPENDS test-module)
27 set(libs test-main fmt)
32 if (ADD_FMT_TEST_HEADER_ONLY AND NOT FMT_UNICODE)
50 add_fmt_test(args-test)
51 add_fmt_test(base-test)
52 add_fmt_test(assert-test)
53 add_fmt_test(chrono-test)
54 add_fmt_test(color-test)
55 add_fmt_test(gtest-extra-test)
56 add_fmt_test(format-test mock-allocator.h)
58 target_compile_options(format-test PRIVATE /bigobj)
60 if (NOT (MSVC AND BUILD_SHARED_LIBS))
61 add_fmt_test(format-impl-test HEADER_ONLY header-only-test.cc)
63 add_fmt_test(ostream-test)
64 add_fmt_test(compile-test)
65 add_fmt_test(compile-fp-test)
68 target_compile_options(compile-fp-test PRIVATE /Zc:__cplusplus)
70 add_fmt_test(printf-test)
71 add_fmt_test(ranges-test ranges-odr-test.cc)
72 add_fmt_test(no-builtin-types-test HEADER_ONLY)
74 add_fmt_test(scan-test HEADER_ONLY)
77 target_compile_definitions(scan-test PRIVATE FMT_HAVE_STRPTIME)
80 add_fmt_test(std-test)
83 SOURCES ${CMAKE_CURRENT_LIST_DIR}/detect-stdfs.cc
87 target_link_libraries(std-test ${STDLIBFS})
89 add_fmt_test(unicode-test HEADER_ONLY)
91 target_compile_options(unicode-test PRIVATE /utf-8)
93 add_fmt_test(xchar-test)
94 add_fmt_test(enforce-checks-test)
95 target_compile_definitions(enforce-checks-test PRIVATE
96 -DFMT_ENFORCE_COMPILE_STRING)
98 add_executable(perf-sanity perf-sanity.cc)
99 target_link_libraries(perf-sanity fmt::fmt)
105 # test-only module to be built from {fmt}
106 add_library(test-module OBJECT ${CMAKE_SOURCE_DIR}/src/fmt.cc)
107 target_compile_features(test-module PUBLIC cxx_std_11)
108 target_include_directories(test-module PUBLIC
110 enable_module(test-module)
112 add_fmt_test(module-test MODULE test-main.cc)
114 target_compile_options(test-module PRIVATE /utf-8 /Zc:__cplusplus
116 target_compile_options(module-test PRIVATE /utf-8 /Zc:__cplusplus
121 if (NOT DEFINED MSVC_STATIC_RUNTIME AND MSVC)
125 if (${flag_var} MATCHES "^(/|-)(MT|MTd)")
133 add_executable(posix-mock-test
134 posix-mock-test.cc ../src/format.cc ${TEST_MAIN_SRC})
136 posix-mock-test PRIVATE ${PROJECT_SOURCE_DIR}/include)
137 target_link_libraries(posix-mock-test gtest)
139 target_compile_options(posix-mock-test PRIVATE ${PEDANTIC_COMPILE_FLAGS})
142 target_compile_options(posix-mock-test PRIVATE /utf-8)
144 add_test(NAME posix-mock-test COMMAND posix-mock-test)
145 add_fmt_test(os-test)
151 # Test that the library can be compiled with exceptions disabled.
152 # -fno-exception is broken in icc: https://github.com/fmtlib/fmt/issues/822.
154 check_cxx_compiler_flag(-fno-exceptions HAVE_FNO_EXCEPTIONS_FLAG)
157 add_library(noexception-test ../src/format.cc noexception-test.cc)
159 noexception-test PRIVATE ${PROJECT_SOURCE_DIR}/include)
160 target_compile_options(noexception-test PRIVATE -fno-exceptions)
161 target_compile_options(noexception-test PRIVATE ${PEDANTIC_COMPILE_FLAGS})
164 # Test that the library compiles without locale.
165 add_library(nolocale-test ../src/format.cc)
167 nolocale-test PRIVATE ${PROJECT_SOURCE_DIR}/include)
169 nolocale-test PRIVATE FMT_STATIC_THOUSANDS_SEPARATOR=1)
176 if (FMT_PEDANTIC AND NOT WIN32 AND NOT (
177 CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND
179 # Test if incorrect API usages produce compilation error.
180 add_test(compile-error-test ${CMAKE_CTEST_COMMAND}
181 --build-and-test
182 "${CMAKE_CURRENT_SOURCE_DIR}/compile-error-test"
183 "${CMAKE_CURRENT_BINARY_DIR}/compile-error-test"
184 --build-generator ${CMAKE_GENERATOR}
185 --build-makeprogram ${CMAKE_MAKE_PROGRAM}
186 --build-options
187 "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
188 "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
189 "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}"
190 "-DCXX_STANDARD_FLAG=${CXX_STANDARD_FLAG}"
191 "-DFMT_DIR=${CMAKE_SOURCE_DIR}")
193 # Test if the targets are found from the build directory.
194 add_test(find-package-test ${CMAKE_CTEST_COMMAND}
195 -C ${CMAKE_BUILD_TYPE}
196 --build-and-test
197 "${CMAKE_CURRENT_SOURCE_DIR}/find-package-test"
198 "${CMAKE_CURRENT_BINARY_DIR}/find-package-test"
199 --build-generator ${CMAKE_GENERATOR}
200 --build-makeprogram ${CMAKE_MAKE_PROGRAM}
201 --build-options
202 "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
203 "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
204 "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}"
205 "-DFMT_DIR=${PROJECT_BINARY_DIR}"
206 "-DPEDANTIC_COMPILE_FLAGS=${PEDANTIC_COMPILE_FLAGS}"
207 "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
209 # Test if the targets are found when add_subdirectory is used.
210 add_test(add-subdirectory-test ${CMAKE_CTEST_COMMAND}
211 -C ${CMAKE_BUILD_TYPE}
212 --build-and-test
213 "${CMAKE_CURRENT_SOURCE_DIR}/add-subdirectory-test"
214 "${CMAKE_CURRENT_BINARY_DIR}/add-subdirectory-test"
215 --build-generator ${CMAKE_GENERATOR}
216 --build-makeprogram ${CMAKE_MAKE_PROGRAM}
217 --build-options
218 "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
219 "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}"
220 "-DPEDANTIC_COMPILE_FLAGS=${PEDANTIC_COMPILE_FLAGS}"
221 "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
224 # This test is disabled on Windows because it is POSIX-specific.
225 if (FMT_PEDANTIC AND NOT WIN32)
226 add_test(static-export-test ${CMAKE_CTEST_COMMAND}
227 -C ${CMAKE_BUILD_TYPE}
228 --build-and-test
229 "${CMAKE_CURRENT_SOURCE_DIR}/static-export-test"
230 "${CMAKE_CURRENT_BINARY_DIR}/static-export-test"
231 --build-generator ${CMAKE_GENERATOR}
232 --build-makeprogram ${CMAKE_MAKE_PROGRAM}
233 --build-options
234 "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
235 "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}"
236 "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
240 # https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cpp14-language-features
254 add_subdirectory(cuda-test)
255 add_test(NAME cuda-test COMMAND fmt-in-cuda-test)