@@ -3,6 +3,7 @@ project(tesseract_decoder LANGUAGES CXX)
33
44set (CMAKE_CXX_STANDARD 20)
55set (CMAKE_CXX_STANDARD_REQUIRED ON )
6+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -include cstdint" )
67
78include (FetchContent )
89find_package (Threads REQUIRED )
@@ -73,7 +74,7 @@ FetchContent_Declare(
7374FetchContent_MakeAvailable (googletest)
7475
7576
76- set (OPT_COPTS -Ofast -fno-fast-math -march=native)
77+ set (OPT_COPTS -Ofast -fno-fast-math -march=native -include cstdint )
7778
7879set (TESSERACT_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR } /src)
7980
@@ -93,6 +94,25 @@ target_include_directories(visualization PUBLIC ${TESSERACT_SRC_DIR})
9394target_compile_options (visualization PRIVATE ${OPT_COPTS} )
9495target_link_libraries (visualization PUBLIC common boost_headers )
9596
97+ add_library (bern_utils ${TESSERACT_SRC_DIR} /bern_utils.cc ${TESSERACT_SRC_DIR} /bern_utils.h )
98+ target_include_directories (bern_utils PUBLIC ${TESSERACT_SRC_DIR} )
99+ target_compile_options (bern_utils PRIVATE ${OPT_COPTS} )
100+
101+ add_library (error_correlations ${TESSERACT_SRC_DIR} /error_correlations.cc ${TESSERACT_SRC_DIR} /error_correlations.h )
102+ target_include_directories (error_correlations PUBLIC ${TESSERACT_SRC_DIR} )
103+ target_compile_options (error_correlations PRIVATE ${OPT_COPTS} )
104+ target_link_libraries (error_correlations PUBLIC libstim )
105+
106+ add_library (tanner_graph ${TESSERACT_SRC_DIR} /tanner_graph.cc ${TESSERACT_SRC_DIR} /tanner_graph.h )
107+ target_include_directories (tanner_graph PUBLIC ${TESSERACT_SRC_DIR} )
108+ target_compile_options (tanner_graph PRIVATE ${OPT_COPTS} )
109+ target_link_libraries (tanner_graph PUBLIC libstim )
110+
111+ add_library (dem_decomposition ${TESSERACT_SRC_DIR} /dem_decomposition.cc ${TESSERACT_SRC_DIR} /dem_decomposition.h )
112+ target_include_directories (dem_decomposition PUBLIC ${TESSERACT_SRC_DIR} )
113+ target_compile_options (dem_decomposition PRIVATE ${OPT_COPTS} )
114+ target_link_libraries (dem_decomposition PUBLIC bern_utils libstim )
115+
96116add_library (tesseract_lib ${TESSERACT_SRC_DIR} /tesseract.cc ${TESSERACT_SRC_DIR} /tesseract.h )
97117target_include_directories (tesseract_lib PUBLIC ${TESSERACT_SRC_DIR} )
98118target_compile_options (tesseract_lib PRIVATE ${OPT_COPTS} )
@@ -117,13 +137,12 @@ target_link_libraries(simplex_bin PRIVATE common simplex argparse::argparse nloh
117137pybind11_add_module (_core MODULE ${TESSERACT_SRC_DIR} /tesseract.pybind.cc )
118138target_compile_options (_core PRIVATE ${OPT_COPTS} )
119139target_include_directories (_core PRIVATE ${TESSERACT_SRC_DIR} )
120- target_link_libraries (_core PRIVATE common utils simplex tesseract_lib )
121140set_target_properties (_core PROPERTIES
122- LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR } /src
123- LIBRARY_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR } /src
124- LIBRARY_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR } /src
125- LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL ${PROJECT_SOURCE_DIR } /src
126- LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO ${PROJECT_SOURCE_DIR } /src
141+ LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR } /tesseract_decoder
142+ LIBRARY_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR } /tesseract_decoder
143+ LIBRARY_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR } /tesseract_decoder
144+ LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL ${PROJECT_SOURCE_DIR } /tesseract_decoder
145+ LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO ${PROJECT_SOURCE_DIR } /tesseract_decoder
127146)
128147
129148# === Tests ===
@@ -137,3 +156,15 @@ add_executable(tesseract_test ${TESSERACT_SRC_DIR}/tesseract.test.cc)
137156target_link_libraries (tesseract_test PRIVATE tesseract_lib simplex GTest::gtest_main )
138157add_test (NAME tesseract_test COMMAND tesseract_test )
139158
159+ add_executable (dem_decomposition_test ${TESSERACT_SRC_DIR} /dem_decomposition.test.cc )
160+ target_link_libraries (dem_decomposition_test PRIVATE dem_decomposition GTest::gtest_main libstim )
161+ add_test (NAME dem_decomposition_test COMMAND dem_decomposition_test )
162+
163+ add_executable (tanner_graph_test ${TESSERACT_SRC_DIR} /tanner_graph.test.cc )
164+ target_link_libraries (tanner_graph_test PRIVATE tanner_graph GTest::gtest_main libstim )
165+ add_test (NAME tanner_graph_test COMMAND tanner_graph_test )
166+
167+ add_executable (error_correlations_test ${TESSERACT_SRC_DIR} /error_correlations.test.cc )
168+ target_link_libraries (error_correlations_test PRIVATE error_correlations GTest::gtest_main libstim )
169+ add_test (NAME error_correlations_test COMMAND error_correlations_test )
170+
0 commit comments