diff options
author | Sergey.Kostanbaev <sergey.kostanbaev@fairwaves.co> | 2017-12-14 11:46:19 +0300 |
---|---|---|
committer | Sergey.Kostanbaev <sergey.kostanbaev@fairwaves.co> | 2017-12-14 11:46:19 +0300 |
commit | 8176f8b811b16ca6beffbf5084d18c17b5ea3355 (patch) | |
tree | ee668da701edc164e1b67b641f5b9ca7abe5fc76 /cmake | |
parent | aa60dda99a22f6a60d5c6f9b08d50febe49757ef (diff) |
initial libxtrx support
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/FindFFTW.cmake | 96 | ||||
-rw-r--r-- | cmake/FindXTRX.cmake | 69 |
2 files changed, 165 insertions, 0 deletions
diff --git a/cmake/FindFFTW.cmake b/cmake/FindFFTW.cmake new file mode 100644 index 0000000..2da4277 --- /dev/null +++ b/cmake/FindFFTW.cmake @@ -0,0 +1,96 @@ +# - Find the FFTW library +# +# Usage: +# find_package(FFTW [REQUIRED] [QUIET] ) +# +# It sets the following variables: +# FFTW_FOUND ... true if fftw is found on the system +# FFTW_LIBRARIES ... full path to fftw library +# FFTW_INCLUDES ... fftw include directory +# +# The following variables will be checked by the function +# FFTW_USE_STATIC_LIBS ... if true, only static libraries are found +# FFTW_ROOT ... if set, the libraries are exclusively searched +# under this path +# FFTW_LIBRARY ... fftw library to use +# FFTW_INCLUDE_DIR ... fftw include directory +# +#If environment variable FFTWDIR is specified, it has same effect as FFTW_ROOT +if( NOT FFTW_ROOT AND ENV{FFTWDIR} ) + set( FFTW_ROOT $ENV{FFTWDIR} ) +endif() +# Check if we can use PkgConfig +find_package(PkgConfig) +#Determine from PKG +if( PKG_CONFIG_FOUND AND NOT FFTW_ROOT ) + pkg_check_modules( PKG_FFTW QUIET "fftw3" ) +endif() +#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() +if( FFTW_ROOT ) + #find libs + find_library( + FFTW_LIB + NAMES "fftw3" + PATHS ${FFTW_ROOT} + PATH_SUFFIXES "lib" "lib64" + NO_DEFAULT_PATH + ) + find_library( + FFTWF_LIB + NAMES "fftw3f" + PATHS ${FFTW_ROOT} + PATH_SUFFIXES "lib" "lib64" + NO_DEFAULT_PATH + ) + find_library( + FFTWL_LIB + NAMES "fftw3l" + PATHS ${FFTW_ROOT} + PATH_SUFFIXES "lib" "lib64" + NO_DEFAULT_PATH + ) + #find includes + find_path( + FFTW_INCLUDES + NAMES "fftw3.h" + PATHS ${FFTW_ROOT} + PATH_SUFFIXES "include" + NO_DEFAULT_PATH + ) +else() + find_library( + FFTW_LIB + NAMES "fftw3" + PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} + ) + find_library( + FFTWF_LIB + NAMES "fftw3f" + PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} + ) + find_library( + FFTWL_LIB + NAMES "fftw3l" + PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR} + ) + find_path( + FFTW_INCLUDES + NAMES "fftw3.h" + PATHS ${PKG_FFTW_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} + ) +endif( FFTW_ROOT ) +set(FFTW_LIBRARIES ${FFTW_LIB} ${FFTWF_LIB}) +if(FFTWL_LIB) + set(FFTW_LIBRARIES ${FFTW_LIBRARIES} ${FFTWL_LIB}) +endif() +set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV} ) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(FFTW DEFAULT_MSG + FFTW_INCLUDES FFTW_LIBRARIES) +mark_as_advanced(FFTW_INCLUDES FFTW_LIBRARIES FFTW_LIB FFTWF_LIB FFTWL_LIB) diff --git a/cmake/FindXTRX.cmake b/cmake/FindXTRX.cmake new file mode 100644 index 0000000..bb0f355 --- /dev/null +++ b/cmake/FindXTRX.cmake @@ -0,0 +1,69 @@ +# - Find the XTRX library +# +# Usage: +# find_package(XTRX [REQUIRED] [QUIET] ) +# +# It sets the following variables: +# XTRX_FOUND ... true if XTRX is found on the system +# XTRX_LIBRARIES ... full path to XTRX library +# XTRX_INCLUDES ... XTRX include directory +# +# The following variables will be checked by the function +# XTRX_USE_STATIC_LIBS ... if true, only static libraries are found +# XTRX_ROOT ... if set, the libraries are exclusively searched +# under this path +# XTRX_LIBRARY ... XTRX library to use +# XTRX_INCLUDE_DIR ... XTRX include directory +# +#If environment variable XTRXDIR is specified, it has same effect as XTRX_ROOT +if( NOT XTRX_ROOT AND ENV{XTRXDIR} ) + set( XTRX_ROOT $ENV{XTRXDIR} ) +endif() +# Check if we can use PkgConfig +find_package(PkgConfig) +#Determine from PKG +if( PKG_CONFIG_FOUND AND NOT XTRX_ROOT ) + pkg_check_modules( PKG_XTRX QUIET "libxtrx" ) +endif() +#Check whether to search static or dynamic libs +set( CMAKE_FIND_LIBRARY_SUFFIXES_SAV ${CMAKE_FIND_LIBRARY_SUFFIXES} ) +if( ${XTRX_USE_STATIC_LIBS} ) + set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX} ) +else() + set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX} ) +endif() +if( XTRX_ROOT ) + #find libs + find_library( + XTRX_LIB + NAMES "xtrx" + PATHS ${XTRX_ROOT} + PATH_SUFFIXES "lib" "lib64" + NO_DEFAULT_PATH + ) + #find includes + find_path( + XTRX_INCLUDES + NAMES "xtrx_api.h" + PATHS ${XTRX_ROOT} + PATH_SUFFIXES "include" + NO_DEFAULT_PATH + ) +else() + find_library( + XTRX_LIB + NAMES "xtrx" + PATHS ${PKG_XTRX_LIBRARY_DIRS} ${LIB_INSTALL_DIR} + ) + find_path( + XTRX_INCLUDES + NAMES "xtrx_api.h" + PATHS ${PKG_XTRX_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} + ) +endif( XTRX_ROOT ) +set(XTRX_LIBRARIES ${XTRX_LIB}) +set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV} ) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(XTRX DEFAULT_MSG + XTRX_INCLUDES XTRX_LIBRARIES) +mark_as_advanced(XTRX_INCLUDES XTRX_LIBRARIES XTRX_LIB XTRXF_LIB XTRXL_LIB) |