Skip to content
Snippets Groups Projects
Commit 78ce54c7 authored by Christophe Picard's avatar Christophe Picard
Browse files

Add automatic detection of dynamic extension

parent 89dd05a4
No related branches found
No related tags found
No related merge requests found
...@@ -18,11 +18,11 @@ ...@@ -18,11 +18,11 @@
# set(FIND_FFTW_DEBUG OFF) (optional) # set(FIND_FFTW_DEBUG OFF) (optional)
# set(FIND_FFTW_SHARED_ONLY ON) (optional) # set(FIND_FFTW_SHARED_ONLY ON) (optional)
# find_package(FFTW # find_package(FFTW
# REQUIRED COMPONENTS Fftw3f Fftw3d # REQUIRED COMPONENTS fftw3f fftw3d
# OPTIONAL_COMPONENTS Fftw3l Fftw3q # OPTIONAL_COMPONENTS fftw3l fftw3q
# OPTIONAL_COMPONENTS Fftw3f-mpi Fftw3d-mpi Fftw3l-mpi # OPTIONAL_COMPONENTS fftw3f-mpi fftw3d-mpi fftw3l-mpi
# OPTIONAL_COMPONENTS Fttw3f-omp Fftw3d-omp Fftw3l-omp Fftw3q-omp # OPTIONAL_COMPONENTS fftw3f-omp fftw3d-omp fftw3l-omp fftw3q-omp
# OPTIONAL_COMPONENTS Fttw3f-threads Fftw3d-threads Fftw3l-threads Fftw3q-threads) # OPTIONAL_COMPONENTS fftw3f-threads fftw3d-threads fftw3l-threads fftw3q-threads)
# #
# == Defined variables == # == Defined variables ==
# #
...@@ -84,6 +84,17 @@ list(APPEND FFTW_LIBRARIES "") ...@@ -84,6 +84,17 @@ list(APPEND FFTW_LIBRARIES "")
list(APPEND FFTW_DEFINES "") list(APPEND FFTW_DEFINES "")
list(APPEND FFTW_COMPILE_FLAGS "") list(APPEND FFTW_COMPILE_FLAGS "")
# -- rename library to match shared or static constraints
#Check whether to search static or dynamic libs
set( CMAKE_FIND_LIBRARY_SUFFIXES_SAV ${CMAKE_FIND_LIBRARY_SUFFIXES} )
if( ${FFTW_USE_STATIC_LIBS} )
set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX} )
else()
set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX} )
endif()
foreach(fftw_comp ${FFTW_FIND_COMPONENTS}) foreach(fftw_comp ${FFTW_FIND_COMPONENTS})
string(REPLACE "-" "_" fftw_comp_no_dash "${fftw_comp}") string(REPLACE "-" "_" fftw_comp_no_dash "${fftw_comp}")
string(TOLOWER ${fftw_comp_no_dash} component) string(TOLOWER ${fftw_comp_no_dash} component)
...@@ -103,12 +114,7 @@ foreach(fftw_comp ${FFTW_FIND_COMPONENTS}) ...@@ -103,12 +114,7 @@ foreach(fftw_comp ${FFTW_FIND_COMPONENTS})
# -- find library name given the component name # -- find library name given the component name
string(REPLACE "fftw3d" "fftw3" library "${component}") string(REPLACE "fftw3d" "fftw3" library "${component}")
# -- rename library to match shared or static constraints set(library "lib${library}${CMAKE_FIND_LIBRARY_SUFFIXES}")
if(FIND_FFTW_SHARED_ONLY)
set(library "lib${library}.so")
elseif(FIND_FFTW_STATIC_ONLY)
set(library "lib${library}.a")
endif()
if(FIND_FFTW_DEBUG) if(FIND_FFTW_DEBUG)
message("\tFFTW::${fftw_comp}:${COMPONENT}:${component}, LIB=${library} HEADER=${header}") message("\tFFTW::${fftw_comp}:${COMPONENT}:${component}, LIB=${library} HEADER=${header}")
...@@ -257,6 +263,7 @@ list(REMOVE_DUPLICATES FFTW_LIBRARY_DIRS) ...@@ -257,6 +263,7 @@ list(REMOVE_DUPLICATES FFTW_LIBRARY_DIRS)
list(REMOVE_DUPLICATES FFTW_LIBRARIES) list(REMOVE_DUPLICATES FFTW_LIBRARIES)
list(REMOVE_DUPLICATES FFTW_DEFINES) list(REMOVE_DUPLICATES FFTW_DEFINES)
list(REMOVE_DUPLICATES FFTW_COMPILE_FLAGS) list(REMOVE_DUPLICATES FFTW_COMPILE_FLAGS)
set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV} )
# -- check required variables, version and set FFTW_FOUND to TRUE if ok # -- check required variables, version and set FFTW_FOUND to TRUE if ok
find_package_handle_standard_args(FFTW FOUND_VAR FFTW_FOUND find_package_handle_standard_args(FFTW FOUND_VAR FFTW_FOUND
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment