commit ed7e89cf37d970ebece987bd5e92086823d12578
parent cdc50503eb69ae5652eaaa415070ffeab76f499c
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Mon, 19 Nov 2018 08:46:21 +0300
CMake refactoring/FindGMP
Diffstat:
10 files changed, 100 insertions(+), 183 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -17,96 +17,6 @@
cmake_minimum_required(VERSION 3.0)
-#set(DISABLE_CLANG 1)
-
-if(NOT CMAKE_CXX_COMPILER)
-
- if (${CMAKE_GENERATOR} STREQUAL "MinGW Makefiles"
- OR ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles"
- OR ${CMAKE_GENERATOR} STREQUAL "Unix Makefiles"
- OR ${CMAKE_GENERATOR} STREQUAL "Ninja")
-
- # Find clang and set as c++ compiler for MinGW, MSYS and Unix
- # If clang is not found, leave default compiler (usually GCC)
-
- if(NOT DISABLE_CLANG)
- find_program(CLANG_CXX_PATH clang++-8)
- find_program(CLANG_CXX_PATH clang++-7)
- find_program(CLANG_CXX_PATH clang++-8.0)
- find_program(CLANG_CXX_PATH clang++-7.0)
- find_program(CLANG_CXX_PATH clang++-6.0)
- find_program(CLANG_CXX_PATH clang++-5.0)
- find_program(CLANG_CXX_PATH clang++-4.0)
- find_program(CLANG_CXX_PATH clang++-4.0)
- find_program(CLANG_CXX_PATH clang++-3.9)
- find_program(CLANG_CXX_PATH clang++-3.8)
- find_program(CLANG_CXX_PATH clang++-3.7)
- find_program(CLANG_CXX_PATH clang++-3.6)
- find_program(CLANG_CXX_PATH clang++)
-
- # If clang is found
- if(CLANG_CXX_PATH)
- set(CMAKE_CXX_COMPILER ${CLANG_CXX_PATH})
- message(STATUS "Clang found")
- else()
- message(STATUS "Clang not found")
- endif()
-
- else()
- message(STATUS "Clang disabled")
- endif()
-
- elseif (${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015"
- OR ${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64")
-
- # Find LLVM-vs2014 toolset for MSVC
- # If clang is not found, leave default Microsoft's cl.exe compiler
-
- if(NOT DISABLE_CLANG)
- file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/test_toolset")
-
- # Check if toolset can be set
- execute_process(COMMAND "${CMAKE_COMMAND}" -G "Visual Studio 14 2015" -T LLVM-vs2014 "${CMAKE_SOURCE_DIR}/cmake/test_toolset" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/test_toolset" RESULT_VARIABLE TOOLSET_EXISTS OUTPUT_QUIET ERROR_QUIET)
-
- if(${TOOLSET_EXISTS} EQUAL 0)
- set(CMAKE_GENERATOR_TOOLSET LLVM-vs2014)
- message(STATUS "LLVM-vs2014 found")
- else()
- message(STATUS "LLVM-vs2014 not found")
- endif()
- else()
- message(STATUS "LLVM-vs2014 disabled")
- endif()
-
- endif()
-endif()
-
-if (${CMAKE_GENERATOR} STREQUAL "MinGW Makefiles"
- OR ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles"
- OR ${CMAKE_GENERATOR} STREQUAL "Unix Makefiles"
- OR ${CMAKE_GENERATOR} STREQUAL "Ninja")
-
- if (CMAKE_CXX_COMPILER MATCHES "clang" AND NOT CMAKE_CXX_COMPILER MATCHES "clang-cl")
- if (WIN32)
- # On windows, clang requires --target
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --target=x86_64-w64-windows-gnu" CACHE STRING "cxx compile flags" FORCE)
- endif()
- endif()
-endif()
-
-####################################
-
-# Release build by default
-if (CMAKE_BUILD_TYPE_INITIALIZED_TO_DEFAULT)
- set(CMAKE_BUILD_TYPE Release)
-endif ()
-
-# Only Debug and Release builds
-set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "config types" FORCE)
-
-# Insert common c++ flags here
-set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS}" CACHE STRING "compile flags" FORCE)
-
project(kfr CXX)
message(STATUS "C++ compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} ${CMAKE_CXX_COMPILER} ")
@@ -117,50 +27,52 @@ else()
set(CLANG 0)
endif()
-# Binary output directories
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_BINARY_DIR}/bin)
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_BINARY_DIR}/bin/Debug)
-
# Include list of source files
include(sources.cmake)
-if (IOS)
- set(STD_LIB)
-else ()
- set(STD_LIB stdc++)
-endif ()
-
add_definitions(-D_ENABLE_EXTENDED_ALIGNED_STORAGE)
-add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+option(ENABLE_TESTS "Enable tests and examples. This changes many compiler flags" OFF)
-if (NOT MSVC OR CLANG)
- # Enable C++14, disable exceptions and rtti
- add_compile_options(-std=c++1y -fno-exceptions -fno-rtti )
- if (NOT ARCH_FLAGS)
- add_compile_options(-march=native)
- if(WIN32)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstackrealign -fno-asynchronous-unwind-tables")
- endif()
+if (ENABLE_TESTS)
+
+ if (IOS)
+ set(STD_LIB)
else ()
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARCH_FLAGS}")
+ set(STD_LIB stdc++)
endif ()
- if(NOT MSVC)
- link_libraries(${STD_LIB} pthread m)
- endif()
-else ()
- # Disable exceptions
- add_compile_options(/EHsc /D_HAS_EXCEPTIONS=0 /D_CRT_SECURE_NO_WARNINGS=1)
- add_compile_options(/arch:AVX)
-endif ()
-
-if ("${CMAKE_GENERATOR_TOOLSET}" STREQUAL "LLVM-vs2014")
- add_compile_options( -Wno-unused-command-line-argument )
-endif()
-
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/tests/cmake/")
-file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/svg)
+ # Binary output directories
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_BINARY_DIR}/bin)
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_BINARY_DIR}/bin/Debug)
+
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+
+ if (NOT MSVC OR CLANG)
+ # Enable C++14, disable exceptions and rtti
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ add_compile_options(-std=gnu++1y)
+ else ()
+ add_compile_options(-std=c++1y)
+ endif ()
+ add_compile_options(-fno-exceptions -fno-rtti )
+ if (NOT ARCH_FLAGS)
+ add_compile_options(-march=native)
+ if(WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstackrealign -fno-asynchronous-unwind-tables")
+ endif()
+ else ()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARCH_FLAGS}")
+ endif ()
+ if(NOT MSVC)
+ link_libraries(${STD_LIB} pthread m)
+ endif()
+ else ()
+ # Disable exceptions
+ add_compile_options(/EHsc /D_HAS_EXCEPTIONS=0 /D_CRT_SECURE_NO_WARNINGS=1)
+ add_compile_options(/arch:AVX)
+ endif ()
-add_subdirectory(examples)
-add_subdirectory(tests)
+ add_subdirectory(examples)
+ add_subdirectory(tests)
+endif ()
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
@@ -8,7 +8,7 @@ jobs:
sudo apt-get install -y ninja-build libmpfr-dev
mkdir build
cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=Release ..
+ cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release ..
ninja
cd tests
ctest -V
@@ -22,7 +22,7 @@ jobs:
sudo apt-get install -y ninja-build g++-arm-linux-gnueabihf qemu
mkdir build
cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../cmake/arm.cmake -DARCH_FLAGS=-DLIBC_WORKAROUND_GETS=1 ..
+ cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../cmake/arm.cmake -DARCH_FLAGS=-DLIBC_WORKAROUND_GETS=1 ..
ninja
cd tests
ctest -V
@@ -49,7 +49,7 @@ jobs:
brew install ninja
mkdir build
cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=Release ..
+ cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release ..
ninja
cd tests
ctest -V
@@ -63,7 +63,7 @@ jobs:
choco install llvm ninja
mkdir build
cd build
- cmake -GNinja -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_BUILD_TYPE=Release ..
+ cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_CXX_FLAGS=--target=x86_64-w64-windows-gnu -DCMAKE_BUILD_TYPE=Release ..
ninja
cd tests
ctest -V
@@ -79,7 +79,7 @@ jobs:
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set PATH=%PATH:C:\tools\mingw64\bin;=%
set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=%
- cmake -GNinja -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DARCH_FLAGS=-mavx -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release ..
+ cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DARCH_FLAGS=-mavx -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release ..
ninja
cd tests
ctest -V
@@ -95,7 +95,7 @@ jobs:
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
set PATH=%PATH:C:\tools\mingw64\bin;=%
set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=%
- cmake -GNinja -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DARCH_FLAGS=-mavx -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_BUILD_TYPE=Release ..
+ cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DARCH_FLAGS=-mavx -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_BUILD_TYPE=Release ..
ninja
cd tests
ctest -V
@@ -107,7 +107,7 @@ jobs:
mkdir build
cd build
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
- cmake -GNinja -DARCH_TESTS=ON -DCMAKE_CXX_COMPILER="C:/LLVM/bin/clang-cl.exe" -DARCH_FLAGS="-mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl" -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release ..
+ cmake -GNinja -DENABLE_TESTS=ON -DARCH_TESTS=ON -DCMAKE_CXX_COMPILER="C:/LLVM/bin/clang-cl.exe" -DARCH_FLAGS="-mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl" -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_BUILD_TYPE=Release ..
ninja
cd tests
ctest -V
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
@@ -17,6 +17,8 @@
cmake_minimum_required(VERSION 3.0)
+file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/svg)
+
include_directories(../include)
add_executable(biquads biquads.cpp ${KFR_SRC})
diff --git a/include/kfr/cometa.hpp b/include/kfr/cometa.hpp
@@ -55,18 +55,6 @@ using pconstvoid = const void*;
template <typename...>
using void_t = void;
-// Workaround for GCC 4.8
-template <typename T>
-constexpr const T& const_max(const T& x, const T& y)
-{
- return x > y ? x : y;
-}
-template <typename T>
-constexpr const T& const_min(const T& x, const T& y)
-{
- return x < y ? x : y;
-}
-
namespace details
{
constexpr inline bool args_or() { return false; }
@@ -1722,6 +1710,18 @@ template <typename... List>
constexpr indicesfor_t<List...> indicesfor{};
#endif
+// Workaround for GCC 4.8
+template <typename T>
+constexpr conditional<std::is_scalar<T>::value, T, const T &> const_max(const T& x, const T& y)
+{
+ return x > y ? x : y;
+}
+template <typename T>
+constexpr conditional<std::is_scalar<T>::value, T, const T &> const_min(const T& x, const T& y)
+{
+ return x < y ? x : y;
+}
+
CMT_PRAGMA_GNU(GCC diagnostic pop)
}
diff --git a/include/kfr/dft/dft-src.cpp b/include/kfr/dft/dft-src.cpp
@@ -1065,7 +1065,7 @@ void dft_plan_real<T>::from_fmt(complex<T>* out, const complex<T>* in, dft_pack_
}
template <typename T>
-dft_plan<T>::~dft_plan() = default;
+dft_plan<T>::~dft_plan() {}
namespace internal
{
diff --git a/include/kfr/dsp/ebu.hpp b/include/kfr/dsp/ebu.hpp
@@ -9,9 +9,9 @@
#include "speaker.hpp"
#include "units.hpp"
-#pragma clang diagnostic push
-#if __has_warning("-Winaccessible-base")
-#pragma clang diagnostic ignored "-Winaccessible-base"
+CMT_PRAGMA_GNU(GCC diagnostic push)
+#if CMT_HAS_WARNING("-Winaccessible-base")
+CMT_PRAGMA_GNU(GCC diagnostic ignored "-Winaccessible-base")
#endif
namespace kfr
@@ -329,4 +329,4 @@ private:
} // namespace kfr
-#pragma clang diagnostic pop
+CMT_PRAGMA_GNU(GCC diagnostic pop)
diff --git a/include/kfr/testo/comparison.hpp b/include/kfr/testo/comparison.hpp
@@ -8,7 +8,9 @@
#include <cmath>
CMT_PRAGMA_GNU(GCC diagnostic push)
+#if CMT_HAS_WARNING("-Wexit-time-destructors")
CMT_PRAGMA_GNU(GCC diagnostic ignored "-Wexit-time-destructors")
+#endif
CMT_PRAGMA_GNU(GCC diagnostic ignored "-Wpadded")
CMT_PRAGMA_GNU(GCC diagnostic ignored "-Wshadow")
diff --git a/include/kfr/testo/testo.hpp b/include/kfr/testo/testo.hpp
@@ -17,6 +17,7 @@
#include <cmath>
CMT_PRAGMA_GNU(GCC diagnostic push)
+CMT_PRAGMA_GNU(GCC diagnostic ignored "-Wpragmas")
CMT_PRAGMA_GNU(GCC diagnostic ignored "-Wexit-time-destructors")
CMT_PRAGMA_GNU(GCC diagnostic ignored "-Wpadded")
CMT_PRAGMA_GNU(GCC diagnostic ignored "-Wshadow")
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
@@ -17,13 +17,12 @@
cmake_minimum_required(VERSION 3.0)
-set(TEST_SRC
-)
-
add_definitions(-DKFR_TESTING=1)
include_directories(../include)
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/tests/cmake/")
+
if (NOT ARM)
if(MSVC AND NOT CLANG)
add_executable(multiarch multiarch.cpp multiarch_fir_sse2.cpp multiarch_fir_avx.cpp ${KFR_SRC})
@@ -37,6 +36,7 @@ if (NOT ARM)
endif ()
find_package(MPFR)
+find_package(GMP)
set(ALL_TESTS_CPP
all_tests.cpp
@@ -47,38 +47,33 @@ set(ALL_TESTS_CPP
expression_test.cpp
intrinsic_test.cpp)
-if (MPFR_FOUND)
+if (MPFR_FOUND AND GMP_FOUND)
list(APPEND ALL_TESTS_CPP transcendental_test.cpp)
+else ()
+ message(STATUS "MPFR is not found. Skipping transcendental_test")
endif ()
-add_executable(all_tests ${ALL_TESTS_CPP} ${KFR_SRC} ${TEST_SRC} ../include/kfr/dft/dft-src.cpp)
+add_executable(all_tests ${ALL_TESTS_CPP} ${KFR_SRC} ../include/kfr/dft/dft-src.cpp)
target_compile_definitions(all_tests PRIVATE KFR_NO_MAIN)
-add_executable(intrinsic_test intrinsic_test.cpp ${KFR_SRC} ${TEST_SRC})
-add_executable(dft_test dft_test.cpp ${KFR_SRC} ${TEST_SRC} ../include/kfr/dft/dft-src.cpp)
-if (MPFR_FOUND)
+add_executable(intrinsic_test intrinsic_test.cpp ${KFR_SRC} )
+add_executable(dft_test dft_test.cpp ${KFR_SRC} ../include/kfr/dft/dft-src.cpp)
+if (MPFR_FOUND AND GMP_FOUND)
add_definitions(-DHAVE_MPFR)
- include_directories(${MPFR_INCLUDE_DIR})
- add_executable(transcendental_test transcendental_test.cpp ${KFR_SRC} ${TEST_SRC})
- target_link_libraries(all_tests ${MPFR_LIBRARIES})
- target_link_libraries(transcendental_test ${MPFR_LIBRARIES})
- if (WIN32)
- target_link_libraries(transcendental_test gmp) # for MSYS
- target_link_libraries(all_tests gmp) # for MSYS
- endif()
+ include_directories(${MPFR_INCLUDE_DIR} ${GMP_INCLUDE_DIR})
+ add_executable(transcendental_test transcendental_test.cpp ${KFR_SRC} )
+ target_link_libraries(all_tests ${MPFR_LIBRARIES} ${GMP_LIBRARIES})
+ target_link_libraries(transcendental_test ${MPFR_LIBRARIES} ${GMP_LIBRARIES})
endif ()
function(add_x86_test NAME FLAGS)
separate_arguments(FLAGS)
- add_executable(all_tests_${NAME} ${ALL_TESTS_CPP} ${KFR_SRC} ${TEST_SRC} ../include/kfr/dft/dft-src.cpp)
+ add_executable(all_tests_${NAME} ${ALL_TESTS_CPP} ${KFR_SRC} ../include/kfr/dft/dft-src.cpp)
target_compile_options(all_tests_${NAME} PRIVATE ${FLAGS})
target_compile_definitions(all_tests_${NAME} PRIVATE KFR_NO_MAIN)
- if(MPFR_FOUND)
- target_link_libraries(all_tests_${NAME} ${MPFR_LIBRARIES})
- if (WIN32)
- target_link_libraries(all_tests_${NAME} gmp) # for MSYS
- endif()
- endif()
+ if (MPFR_FOUND AND GMP_FOUND)
+ target_link_libraries(all_tests_${NAME} ${MPFR_LIBRARIES} ${GMP_LIBRARIES})
+ endif ()
endfunction()
message(STATUS CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR})
@@ -94,13 +89,13 @@ if (ARCH_TESTS)
add_x86_test(avx512 "-march=x86-64 -msse4.1 -mavx2 -mfma -mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl")
endif()
-add_executable(dsp_test dsp_test.cpp ${KFR_SRC} ${TEST_SRC})
-add_executable(empty_test empty_test.cpp ${KFR_SRC} ${TEST_SRC})
-add_executable(complex_test complex_test.cpp ${KFR_SRC} ${TEST_SRC})
-add_executable(base_test base_test.cpp ${KFR_SRC} ${TEST_SRC})
-add_executable(expression_test expression_test.cpp ${KFR_SRC} ${TEST_SRC})
+add_executable(dsp_test dsp_test.cpp ${KFR_SRC} )
+add_executable(empty_test empty_test.cpp ${KFR_SRC} )
+add_executable(complex_test complex_test.cpp ${KFR_SRC} )
+add_executable(base_test base_test.cpp ${KFR_SRC} )
+add_executable(expression_test expression_test.cpp ${KFR_SRC} )
-add_executable(ebu_test ebu_test.cpp ${KFR_SRC} ${TEST_SRC})
+add_executable(ebu_test ebu_test.cpp ${KFR_SRC} )
if(USE_SDE)
find_program(EMULATOR "sde")
@@ -121,7 +116,7 @@ if (NOT IOS)
COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/intrinsic_test)
add_test(NAME dsp_test
COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/dsp_test)
- if (MPFR_FOUND)
+ if (MPFR_FOUND AND GMP_FOUND)
add_test(NAME transcendental_test
COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/transcendental_test)
endif ()
@@ -137,7 +132,7 @@ if (NOT IOS)
add_test(NAME dft_test
COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/dft_test)
- if(ARCH_TESTS)
+ if (ARCH_TESTS)
add_test(NAME generic COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/all_tests_generic )
add_test(NAME sse2 COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/all_tests_sse2 )
add_test(NAME sse3 COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/all_tests_sse3 )
@@ -146,5 +141,5 @@ if (NOT IOS)
add_test(NAME avx COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/all_tests_avx )
add_test(NAME avx2 COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/all_tests_avx2 )
add_test(NAME avx512 COMMAND ${EMULATOR} ${PROJECT_BINARY_DIR}/bin/all_tests_avx512 )
- endif()
+ endif ()
endif ()
diff --git a/tests/cmake/FindGMP.cmake b/tests/cmake/FindGMP.cmake
@@ -0,0 +1,5 @@
+find_path(GMP_INCLUDE_DIR NAMES gmp.h)
+find_library(GMP_LIBRARIES NAMES gmp libgmp)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMP DEFAULT_MSG GMP_INCLUDE_DIR GMP_LIBRARIES)