aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorSergey.Kostanbaev <sergey.kostanbaev@fairwaves.co>2017-12-14 11:46:19 +0300
committerSergey.Kostanbaev <sergey.kostanbaev@fairwaves.co>2017-12-14 11:46:19 +0300
commit8176f8b811b16ca6beffbf5084d18c17b5ea3355 (patch)
treeee668da701edc164e1b67b641f5b9ca7abe5fc76 /cmake
parentaa60dda99a22f6a60d5c6f9b08d50febe49757ef (diff)
initial libxtrx support
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindFFTW.cmake96
-rw-r--r--cmake/FindXTRX.cmake69
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)