• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright Hans Dembinski 2019
2# Distributed under the Boost Software License, Version 1.0.
3# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
4
5find_package(PythonInterp)
6if (PYTHONINTERP_FOUND)
7  # checks that b2 and cmake are in sync
8  add_test(NAME runpy-${PROJECT_NAME}_check_build_system COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/check_build_system.py)
9
10  # checks that all headers are included in odr test
11  add_test(NAME runpy-${PROJECT_NAME}_check_odr_test COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/check_odr_test.py)
12endif()
13
14include(BoostTest OPTIONAL RESULT_VARIABLE HAVE_BOOST_TEST)
15if(NOT HAVE_BOOST_TEST)
16  return()
17endif()
18
19set(BOOST_TEST_LINK_LIBRARIES Boost::histogram)
20
21# keep in sync with Jamfile, this should be automatized...
22boost_test(TYPE compile-fail SOURCES axis_category_fail0.cpp)
23boost_test(TYPE compile-fail SOURCES axis_category_fail1.cpp)
24boost_test(TYPE compile-fail SOURCES axis_category_fail2.cpp)
25boost_test(TYPE compile-fail SOURCES axis_integer_fail0.cpp)
26boost_test(TYPE compile-fail SOURCES axis_integer_fail1.cpp)
27boost_test(TYPE compile-fail SOURCES axis_integer_fail2.cpp)
28boost_test(TYPE compile-fail SOURCES axis_integer_fail3.cpp)
29boost_test(TYPE compile-fail SOURCES axis_integer_fail4.cpp)
30boost_test(TYPE compile-fail SOURCES axis_regular_fail0.cpp)
31boost_test(TYPE compile-fail SOURCES axis_regular_fail1.cpp)
32boost_test(TYPE compile-fail SOURCES axis_variable_fail0.cpp)
33boost_test(TYPE compile-fail SOURCES axis_variable_fail1.cpp)
34boost_test(TYPE compile-fail SOURCES make_histogram_fail0.cpp)
35boost_test(TYPE compile-fail SOURCES make_histogram_fail1.cpp)
36boost_test(TYPE compile-fail SOURCES histogram_fail0.cpp)
37boost_test(TYPE compile-fail SOURCES histogram_fail1.cpp)
38boost_test(TYPE compile-fail SOURCES histogram_fail2.cpp)
39boost_test(TYPE compile-fail SOURCES histogram_fail3.cpp)
40boost_test(TYPE compile-fail SOURCES histogram_fail4.cpp)
41
42set(BOOST_TEST_LINK_LIBRARIES Boost::histogram Boost::core)
43
44boost_test(TYPE run SOURCES accumulators_count_test.cpp)
45boost_test(TYPE run SOURCES accumulators_mean_test.cpp)
46boost_test(TYPE run SOURCES accumulators_sum_test.cpp)
47boost_test(TYPE run SOURCES accumulators_thread_safe_test.cpp)
48boost_test(TYPE run SOURCES accumulators_weighted_mean_test.cpp)
49boost_test(TYPE run SOURCES accumulators_weighted_sum_test.cpp)
50boost_test(TYPE run SOURCES algorithm_project_test.cpp)
51boost_test(TYPE run SOURCES algorithm_reduce_test.cpp)
52boost_test(TYPE run SOURCES algorithm_sum_test.cpp)
53boost_test(TYPE run SOURCES algorithm_empty_test.cpp)
54boost_test(TYPE run SOURCES axis_boolean_test.cpp)
55boost_test(TYPE run SOURCES axis_category_test.cpp)
56boost_test(TYPE run SOURCES axis_integer_test.cpp)
57boost_test(TYPE run SOURCES axis_option_test.cpp)
58boost_test(TYPE run SOURCES axis_regular_test.cpp)
59boost_test(TYPE run SOURCES axis_traits_test.cpp)
60boost_test(TYPE run SOURCES axis_variable_test.cpp)
61boost_test(TYPE run SOURCES axis_variant_test.cpp)
62boost_test(TYPE run SOURCES detail_accumulator_traits_test.cpp)
63boost_test(TYPE run SOURCES detail_argument_traits_test.cpp)
64boost_test(TYPE run SOURCES detail_args_type_test.cpp)
65boost_test(TYPE run SOURCES detail_axes_test.cpp)
66boost_test(TYPE run SOURCES detail_convert_integer_test.cpp)
67boost_test(TYPE run SOURCES detail_detect_test.cpp)
68boost_test(TYPE run SOURCES detail_limits_test.cpp)
69boost_test(TYPE run SOURCES detail_make_default_test.cpp)
70boost_test(TYPE run SOURCES detail_misc_test.cpp)
71boost_test(TYPE run SOURCES detail_large_int_test.cpp)
72boost_test(TYPE run SOURCES detail_iterator_adaptor_test.cpp)
73boost_test(TYPE run SOURCES detail_operators_test.cpp)
74boost_test(TYPE run SOURCES detail_relaxed_equal_test.cpp)
75boost_test(TYPE run SOURCES detail_replace_type_test.cpp)
76boost_test(TYPE run SOURCES detail_safe_comparison_test.cpp)
77boost_test(TYPE run SOURCES detail_static_if_test.cpp)
78boost_test(TYPE run SOURCES detail_tuple_slice_test.cpp)
79boost_test(TYPE run SOURCES histogram_custom_axis_test.cpp)
80boost_test(TYPE run SOURCES histogram_dynamic_test.cpp)
81boost_test(TYPE run SOURCES histogram_fill_test.cpp
82  COMPILE_OPTIONS $<$<CXX_COMPILER_ID:MSVC>:/bigobj>)
83boost_test(TYPE run SOURCES histogram_growing_test.cpp)
84boost_test(TYPE run SOURCES histogram_mixed_test.cpp)
85boost_test(TYPE run SOURCES histogram_operators_test.cpp
86  COMPILE_OPTIONS $<$<CXX_COMPILER_ID:MSVC>:/bigobj>)
87boost_test(TYPE run SOURCES histogram_ostream_test.cpp)
88boost_test(TYPE run SOURCES histogram_test.cpp)
89boost_test(TYPE run SOURCES indexed_test.cpp)
90boost_test(TYPE run SOURCES storage_adaptor_test.cpp)
91boost_test(TYPE run SOURCES unlimited_storage_test.cpp)
92boost_test(TYPE run SOURCES utility_test.cpp)
93
94find_package(Threads)
95if (Threads_FOUND)
96
97  boost_test(TYPE run SOURCES histogram_threaded_test.cpp
98    LINK_LIBRARIES Threads::Threads)
99  boost_test(TYPE run SOURCES storage_adaptor_threaded_test.cpp
100    LINK_LIBRARIES Threads::Threads)
101
102endif()
103
104## No cmake support yet
105# boost_test(TYPE link SOURCES odr_main_test.cpp odr_test.cpp
106#   LINK_LIBRARIES Boost::serialization)
107# boost_test(TYPE run SOURCES boost_accumulators_support_test.cpp
108#   LINK_LIBRARIES Boost::accumulators)
109# boost_test(TYPE run SOURCES boost_range_support_test.cpp
110#   LINK_LIBRARIES Boost::range)
111# boost_test(TYPE run SOURCES boost_units_support_test.cpp
112#   LINK_LIBRARIES Boost::units)
113# boost_test(TYPE run SOURCES detail_array_wrapper_serialization_test.cpp   LINK_LIBRARIES Boost::serialization)
114# boost_test(TYPE run SOURCES unlimited_storage_serialization_test.cpp  LINK_LIBRARIES Boost::serialization)
115# boost_test(TYPE run SOURCES storage_adaptor_serialization_test.cpp  LINK_LIBRARIES Boost::serialization)
116# boost_test(TYPE run SOURCES histogram_serialization_test.cpp  LINK_LIBRARIES Boost::serialization)
117# boost_test(TYPE run SOURCES axis_variant_serialization_test.cpp
118#     LINK_LIBRARIES Boost::serialization)
119# boost_test(TYPE run SOURCES accumulators_serialization_test.cpp
120#     LINK_LIBRARIES Boost::serialization)
121
122boost_test(TYPE run SOURCES deduction_guides_test.cpp COMPILE_FEATURES cxx_std_17)
123