Skip to content

Instantly share code, notes, and snippets.

@lalinsky
Created May 28, 2012 21:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lalinsky/2821278 to your computer and use it in GitHub Desktop.
Save lalinsky/2821278 to your computer and use it in GitHub Desktop.
CMakeLists.txt for libofa
PROJECT(libofa)
SET(PROJECT_VERSION 0.1.1)
# 1. If the library source code has changed at all since the last update, then increment revision.
# 2. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
# 3. If any interfaces have been added since the last public release, then increment age.
# 4. If any interfaces have been removed since the last public release, then set age to 0.
SET(libofa_SOVERSION_CURRENT 0)
SET(libofa_SOVERSION_REVISION 2)
SET(libofa_SOVERSION_AGE 0)
SET(libofa_VERSION ${libofa_SOVERSION_CURRENT}.${libofa_SOVERSION_AGE}.${libofa_SOVERSION_REVISION})
SET(libofa_SOVERSION ${libofa_SOVERSION_CURRENT})
SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE)
SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE)
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
# compatibility with automake
SET(PACKAGE ${PROJECT_NAME})
SET(VERSION ${PROJECT_VERSION})
SET(prefix ${CMAKE_INSTALL_PREFIX})
SET(exec_prefix ${EXEC_INSTALL_PREFIX})
SET(includedir ${INCLUDE_INSTALL_DIR})
SET(libdir ${LIB_INSTALL_DIR})
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libofa.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libofa.pc)
LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/fftw3)
ADD_LIBRARY(libofa SHARED
./lib/AFLIB/aflibConverter.cpp
./lib/fftlibw3_op.cpp
./lib/fft_op.cpp
./lib/frametracker_op.cpp
./lib/mainprint.cpp
./lib/signal_op.cpp
./lib/trackdata_op.cpp
./lib/trackframe_op.cpp
./lib/tracklist_op.cpp
)
SET_TARGET_PROPERTIES(libofa PROPERTIES
OUTPUT_NAME ofa
VERSION ${libofa_VERSION}
SOVERSION ${libofa_SOVERSION}
)
TARGET_LINK_LIBRARIES(libofa fftw3-3)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/fftw3)
INSTALL(TARGETS libofa DESTINATION ${LIB_INSTALL_DIR})
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libofa.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
INSTALL(FILES include/ofa1/ofa.h DESTINATION ${INCLUDE_INSTALL_DIR}/ofa1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment