# -- C library -------------- if (NOT DEFINED ENABLE_C OR ENABLE_C) set(LIBFRAME_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") set(LIBFRAME_HEADERS FrFilter.h FrIO.h FrVect.h FrameL.h) add_library( framel SHARED FrFilter.c FrIO.c FrameL.c zlib/Fradler32.c zlib/Frcompress.c zlib/Frcrc32.c zlib/Frdeflate.c zlib/Frinfblock.c zlib/Frinfcodes.c zlib/Frinffast.c zlib/Frinflate.c zlib/Frinftrees.c zlib/Frinfutil.c zlib/Frtrees.c zlib/Fruncompr.c zlib/Frzutil.c ) target_include_directories(framel PRIVATE zlib) target_link_libraries(framel PRIVATE m) set_target_properties( framel PROPERTIES VERSION ${LIBFRAME_VERSION_STRING} SOVERSION ${PROJECT_VERSION_MAJOR} PUBLIC_HEADER "${LIBFRAME_HEADERS}" ) install( TARGETS framel RUNTIME DESTINATION ${RUNTIME_DESTINATION} LIBRARY DESTINATION ${LIBRARY_DESTINATION} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) foreach (app FrChannels FrCheck FrCopy FrDiff FrDump FrTrend FrameDataDump) add_executable(${app} ${app}.c) target_link_libraries(${app} PRIVATE framel m) install(TARGETS ${app} DESTINATION ${CMAKE_INSTALL_BINDIR}) endforeach(app) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" @ONLY ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/framel.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ) endif()