@@ -29,21 +29,22 @@ endif()
2929find_package (pybind11 REQUIRED)
3030
3131include (FetchContent)
32- FetchContent_Declare(
33- emhash
34- GIT_REPOSITORY https://github.com/DiamonDinoia/emhash.git
35- GIT_TAG master
36- GIT_SHALLOW TRUE )
3732
38- # Only populate emhash, don't build it
39- FetchContent_GetProperties(emhash)
40- if (NOT emhash_POPULATED)
41- FetchContent_Populate(emhash)
42- endif ()
33+ # libdivide (header-only) via FetchContent
34+ FetchContent_Declare(
35+ libdivide
36+ GIT_REPOSITORY https://github.com/ridiculousfish/libdivide
37+ GIT_TAG v5.2.0
38+ )
39+ FetchContent_MakeAvailable(libdivide)
4340
44- add_library (emhash INTERFACE )
45- target_include_directories (emhash INTERFACE ${emhash_SOURCE_DIR} )
46- target_compile_features (emhash INTERFACE cxx_std_17)
41+ # tsl::robin_map via FetchContent
42+ FetchContent_Declare(
43+ tsl-robin-map
44+ GIT_REPOSITORY https://github.com/Tessil/robin-map.git
45+ GIT_TAG v1.4.0
46+ )
47+ FetchContent_MakeAvailable(tsl-robin-map)
4748
4849# Set C++ standard
4950set (CMAKE_CXX_STANDARD 20)
@@ -66,7 +67,10 @@ pybind11_add_module(_simple_ans ${SOURCES} ${HEADERS})
6667
6768# Configure include directories
6869target_include_directories (_simple_ans PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /simple_ans/cpp)
69- target_link_libraries (_simple_ans PRIVATE emhash)
70+ target_link_libraries (_simple_ans PRIVATE libdivide tsl::robin_map)
71+
72+ # Ensure libdivide headers are on the include path
73+ target_include_directories (_simple_ans PRIVATE ${libdivide_SOURCE_DIR} )
7074
7175# Set compiler-specific options
7276if (MSVC )
0 commit comments