diff --git a/ports/itpp/fix-linux.patch b/ports/itpp/fix-linux.patch new file mode 100644 index 000000000..5e7bb64c0 --- /dev/null +++ b/ports/itpp/fix-linux.patch @@ -0,0 +1,13 @@ +diff --git a/itpp/base/random_dsfmt.h b/itpp/base/random_dsfmt.h +index ccbf182..a3d5472 100644 +--- a/itpp/base/random_dsfmt.h ++++ b/itpp/base/random_dsfmt.h +@@ -299,7 +299,7 @@ private: + */ + static void do_recursion(typename Context::w128_t *r, typename Context::w128_t *a, typename Context::w128_t *b, typename Context::w128_t *lung) { + #if defined(__SSE2__) +- const unsigned int SSE2_SHUFF = 0x1bU; ++#define SSE2_SHUFF 0x1bU + + __m128i x = a->si; + __m128i z = _mm_slli_epi64(x, SL1); diff --git a/ports/itpp/portfile.cmake b/ports/itpp/portfile.cmake index 8e4f4121a..2ea68da89 100644 --- a/ports/itpp/portfile.cmake +++ b/ports/itpp/portfile.cmake @@ -20,6 +20,11 @@ vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES fix-uwp.patch ) +elseif(VCPKG_CMAKE_SYSTEM_NAME AND VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES fix-linux.patch +) endif() vcpkg_configure_cmake(