summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineering.com>2016-10-02 17:21:40 -0500
committerTimothy Pearson <tpearson@raptorengineering.com>2016-10-02 17:34:05 -0500
commit0809ce7076e662953465f0a8d45127ef763e8e93 (patch)
tree903e7473848ad83730e65d317ab8c5f94ac954f5
parent1f4b9a249263e083d03138957f3cd6a293ae26e5 (diff)
downloadffts-0809ce7076e662953465f0a8d45127ef763e8e93.zip
ffts-0809ce7076e662953465f0a8d45127ef763e8e93.tar.gz
Add install targets to CMake build system
-rw-r--r--CMakeLists.txt27
-rw-r--r--ffts.pc.cmake.in10
2 files changed, 37 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2028c03..459655e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,6 +17,10 @@ if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif(NOT CMAKE_BUILD_TYPE)
+# installation parameters
+set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/ffts)
+set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib)
+
# common options
option(ENABLE_NEON
"Enables the use of NEON instructions." OFF
@@ -429,6 +433,8 @@ if(ENABLE_SHARED)
OUTPUT_NAME ffts
VERSION ${FFTS_MAJOR}.${FFTS_MINOR}.${FFTS_MICRO}
)
+
+ install( TARGETS ffts_shared DESTINATION ${LIB_INSTALL_DIR} )
endif(ENABLE_SHARED)
if(ENABLE_STATIC)
@@ -441,6 +447,8 @@ if(ENABLE_STATIC)
# On unix-like platforms the library is called "libffts.a"
set_target_properties(ffts_static PROPERTIES OUTPUT_NAME ffts)
endif(UNIX)
+
+ install( TARGETS ffts_static DESTINATION ${LIB_INSTALL_DIR} )
endif(ENABLE_STATIC)
if(ENABLE_STATIC OR ENABLE_SHARED)
@@ -460,3 +468,22 @@ if(ENABLE_STATIC OR ENABLE_SHARED)
${FFTS_EXTRA_LIBRARIES}
)
endif(ENABLE_STATIC OR ENABLE_SHARED)
+
+# generate packageconfig file
+if(UNIX)
+ include(FindPkgConfig QUIET)
+ if(PKG_CONFIG_FOUND)
+ # convert lists of link libraries into -lstdc++ -lm etc..
+ foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS})
+ set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
+ endforeach()
+ # Produce a pkg-config file for linking against the shared lib
+ configure_file("ffts.pc.cmake.in" "ffts.pc" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ffts.pc"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+ endif(PKG_CONFIG_FOUND)
+endif(UNIX)
+
+install( FILES
+ ${FFTS_HEADERS}
+ DESTINATION ${INCLUDE_INSTALL_DIR} )
diff --git a/ffts.pc.cmake.in b/ffts.pc.cmake.in
new file mode 100644
index 0000000..43f38e9
--- /dev/null
+++ b/ffts.pc.cmake.in
@@ -0,0 +1,10 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${exec_prefix}
+libdir=${libdir}
+includedir=${includedir}
+
+Name: @CMAKE_PROJECT_NAME@
+Description: fast Fourier transform library
+Version: @FFTS_VERSION@
+Libs: -L${libdir} -lffts -lm
+Cflags: -I${includedir}/ffts
OpenPOWER on IntegriCloud