1- cmake_minimum_required (VERSION 3.15 )
1+ cmake_minimum_required (VERSION 3.22 )
22
33if (NOT DEFINED CMAKE_BUILD_TYPE )
44 set (CMAKE_BUILD_TYPE Release CACHE STRING "Build type" )
@@ -14,7 +14,7 @@ SET(AMD_ARCH "znver1" CACHE STRING "select AMD zen version for Clang toolchain")
1414
1515if (CMAKE_C_COMPILER_ID MATCHES Clang)
1616 if ("${AMD_ARCH} " STREQUAL "" )
17- message (FATAL_ERROR "Machine arch missing! Select one of znver1, znver2, znver3 or znver4 " )
17+ message (FATAL_ERROR "Machine arch missing! Select one of znver1, znver2, znver3, znver4 or znver5 " )
1818 elseif (${AMD_ARCH} STREQUAL "znver1" )
1919 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver1" )
2020 elseif (${AMD_ARCH} STREQUAL "znver2" )
@@ -23,8 +23,10 @@ if (CMAKE_C_COMPILER_ID MATCHES Clang)
2323 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver3" )
2424 elseif (${AMD_ARCH} STREQUAL "znver4" )
2525 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver4" )
26+ elseif (${AMD_ARCH} STREQUAL "znver5" )
27+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver5" )
2628 else ()
27- message (FATAL_ERROR "Unsupported Machine arch! Select one of znver1, znver2, znver3 or znver4 " )
29+ message (FATAL_ERROR "Unsupported Machine arch! Select one of znver1, znver2, znver3, znver4 or znver5 " )
2830 endif ()
2931 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mno-prfchw" )
3032 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mno-prfchw" )
@@ -252,7 +254,7 @@ if (MSVC)
252254endif (MSVC )
253255
254256string (TIMESTAMP TODAY "%Y%m%d" )
255- add_compile_definitions (AOCL_FFTW_VERSION="AOCL-FFTW 4.2 .0 Build ${TODAY} " )
257+ add_compile_definitions (AOCL_FFTW_VERSION="AOCL-FFTW 5.0 .0 Build ${TODAY} " )
256258
257259find_library (LIBM_LIBRARY NAMES m)
258260if (LIBM_LIBRARY)
@@ -270,6 +272,10 @@ if (Threads_FOUND)
270272 set (HAVE_THREADS TRUE )
271273endif ()
272274
275+ if (WIN32 )
276+ set (OpenMP_libomp_LIBRARY "C:/Program Files/LLVM/lib/libomp.lib" CACHE STRING "openmp library path" )
277+ endif (WIN32 )
278+
273279if (ENABLE_OPENMP)
274280 find_package (OpenMP)
275281endif ()
@@ -614,6 +620,9 @@ if (OPENMP_FOUND)
614620 target_include_directories (${lib_name} INTERFACE $<INSTALL_INTERFACE:include >)
615621 target_link_libraries (${lib_name} ${CMAKE_THREAD_LIBS_INIT} )
616622 target_compile_options (${lib_name} PRIVATE ${OpenMP_C_FLAGS} )
623+ if (BUILD_SHARED_LIBS )
624+ target_link_libraries (${lib_name} PRIVATE OpenMP::OpenMP_C)
625+ endif (BUILD_SHARED_LIBS )
617626endif ()
618627
619628if (HAVE_MPI)
@@ -623,6 +632,9 @@ if (HAVE_MPI)
623632 target_include_directories (${lib_name} INTERFACE $<INSTALL_INTERFACE:include >)
624633 target_link_libraries (${lib_name} ${CMAKE_THREAD_LIBS_INIT} )
625634 target_compile_options (${lib_name} PRIVATE ${OpenMP_C_FLAGS} )
635+ if (BUILD_SHARED_LIBS AND OPENMP_FOUND)
636+ target_link_libraries (${lib_name} PRIVATE OpenMP::OpenMP_C)
637+ endif ()
626638endif ()
627639
628640
@@ -711,7 +723,7 @@ add_library (libtestbench STATIC tests/bench.c tests/hook.c tests/fftw-bench.c t
711723if (Threads_FOUND)
712724 set (CMAKE_C_COMPILER_CFLAGS ${PTHREAD_CFLAGS} )
713725 if (NOT COMBINED_THREADS)
714- set (LIBFFTWTHREADS = libfftw3${PREC_SUFFIX} _threads)
726+ set (LIBFFTWTHREADS libfftw3${PREC_SUFFIX} _threads)
715727 endif ()
716728elseif (OPENMP_FOUND)
717729 set (CMAKE_C_COMPILER_CFLAGS ${OpenMP_C_FLAGS} )
@@ -722,19 +734,28 @@ set(fftw${PREC_SUFFIX}-wisdom_src tools/fftw-wisdom.c)
722734
723735add_executable (fftw${PREC_SUFFIX} -wisdom ${fftw${PREC_SUFFIX} -wisdom_src})
724736target_link_libraries (fftw${PREC_SUFFIX} -wisdom libbench2 ${LIBFFTWTHREADS} ${lib_name} libtestbench)
737+ if (OPENMP_FOUND)
738+ target_link_libraries (fftw${PREC_SUFFIX} -wisdom OpenMP::OpenMP_C)
739+ endif ()
725740install (TARGETS fftw${PREC_SUFFIX} -wisdom ${INSTALL_TARGETS_DEFAULT_ARGS} DESTINATION ${CMAKE_INSTALL_BINDIR} )
726741
727742
728743if (BUILD_TESTS)
729744 add_executable (bench tests/bench.c tests/hook.c tests/fftw-bench.c)
730745 target_link_libraries (bench libbench2)
731746 target_link_libraries (bench ${lib_name} )
747+ if (OPENMP_FOUND)
748+ target_link_libraries (bench OpenMP::OpenMP_C)
749+ endif ()
732750
733751 if (HAVE_MPI)
734752 add_executable (mpi-bench mpi/mpi-bench.c tests/hook.c tests/fftw-bench.c)
735753 target_include_directories (mpi-bench PRIVATE ${CMAKE_SOURCE_DIR} /api)
736754 target_include_directories (mpi-bench PRIVATE ${MPI_INCLUDE_PATH} )
737755 target_link_libraries (mpi-bench libbench2 ${MPI_LIBRARIES} ${lib_name} )
756+ if (OPENMP_FOUND)
757+ target_link_libraries (mpi-bench OpenMP::OpenMP_C)
758+ endif ()
738759 endif ()
739760
740761 enable_testing ()
0 commit comments