Blob Blame History Raw
FILE(GLOB histogram_files "*.c")
FILE(GLOB HEADER "*.h")

option(HDR_HISTOGRAM_BUILD_STATIC "Build static library" ON)
option(HDR_HISTOGRAM_BUILD_SHARED "Build shared library" ON)

if (HDR_HISTOGRAM_BUILD_SHARED)
    add_library(hdr_histogram SHARED ${histogram_files} ${HEADER})
    if (WIN32)
        set_target_properties(hdr_histogram PROPERTIES VERSION ${HDR_VERSION})
        target_link_libraries(hdr_histogram ws2_32)
    else ()
        target_link_libraries(hdr_histogram m)
        set_target_properties(hdr_histogram PROPERTIES VERSION ${HDR_VERSION} SOVERSION ${HDR_SOVERSION})
    endif ()
    target_link_libraries(hdr_histogram ${ZLIB_LIBRARIES})
    target_include_directories(hdr_histogram SYSTEM PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIRS})
    install(TARGETS hdr_histogram DESTINATION lib${LIB_SUFFIX})
endif (HDR_HISTOGRAM_BUILD_SHARED)

if (HDR_HISTOGRAM_BUILD_STATIC)
    add_library(hdr_histogram_static STATIC ${histogram_files} ${HEADER})
    if (WIN32)
        target_link_libraries(hdr_histogram_static ws2_32)
    else ()
        target_link_libraries(hdr_histogram_static m)
    endif ()
    target_link_libraries(hdr_histogram_static ${ZLIB_LIBRARIES})
    target_include_directories(hdr_histogram_static SYSTEM PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIRS})
    install(TARGETS hdr_histogram_static DESTINATION lib${LIB_SUFFIX})
endif (HDR_HISTOGRAM_BUILD_STATIC)

install(FILES hdr_histogram.h hdr_histogram_log.h hdr_time.h hdr_writer_reader_phaser.h hdr_interval_recorder.h hdr_thread.h DESTINATION include/hdr)