Skip to content

Commit bb7059a

Browse files
Fix Jammy (and Windows) builds
1 parent 3f8e6a1 commit bb7059a

File tree

3 files changed

+16
-5
lines changed

3 files changed

+16
-5
lines changed

CMakeLists.txt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,22 @@ set(PYBIND11_FINDPYTHON ON)
55
find_package(pybind11 CONFIG REQUIRED)
66
find_package(Boost CONFIG REQUIRED)
77

8+
option (USE_MT_RNG "Use mt19937 random number generator instead of taus88" OFF)
9+
10+
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
11+
if (CMAKE_SYSTEM_VERSION MATCHES "22\\.04")
12+
set(USE_MT_RNG ON)
13+
endif()
14+
endif()
15+
16+
configure_file(FindAFactor/include/common/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/common/config.h @ONLY)
17+
818
pybind11_add_module(_find_a_factor FindAFactor/_find_a_factor.cpp FindAFactor/dispatchqueue.cpp)
919

1020
if (DEFINED ENV{BOOST_ROOT})
11-
target_include_directories(_find_a_factor PUBLIC FindAFactor/include $ENV{BOOST_ROOT}/include/boost)
21+
target_include_directories(_find_a_factor PUBLIC FindAFactor/include ${CMAKE_CURRENT_BINARY_DIR}/include $ENV{BOOST_ROOT}/include/boost)
1222
else (DEFINED ENV{BOOST_ROOT})
13-
target_include_directories(_find_a_factor PUBLIC FindAFactor/include)
23+
target_include_directories(_find_a_factor PUBLIC FindAFactor/include ${CMAKE_CURRENT_BINARY_DIR}/include)
1424
endif (DEFINED ENV{BOOST_ROOT})
1525

1626
if (MSVC)

FindAFactor/_find_a_factor.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
// See LICENSE.md in the project root or
3939
// https://www.gnu.org/licenses/lgpl-3.0.en.html for details.
4040

41+
#include "common/config.h"
4142
#include "dispatchqueue.hpp"
4243

4344
#include <algorithm>
@@ -58,13 +59,11 @@
5859
#include <pybind11/pybind11.h>
5960
#include <pybind11/stl.h>
6061

61-
#include <cxxabi.h>
62-
6362
namespace Qimcifa {
6463

6564
typedef boost::multiprecision::cpp_int BigInteger;
6665

67-
#if (__GLIBCXX__ >= 20350000) && (__GLIBCXX__ <= 20360000)
66+
#if USE_MT_RNG
6867
typedef std::mt19937 rngType;
6968
#else
7069
typedef boost::random::taus88 rngType;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// Turn this on, if the build doesn't work with taus88 random number generator.
2+
#cmakedefine USE_MT_RNG 1

0 commit comments

Comments
 (0)