Commit dc3cc227 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

fix build WIP

parent 1cfcb88a
Loading
Loading
Loading
Loading
+30 −171
Original line number Diff line number Diff line
@@ -6,10 +6,8 @@
# copy of the GNU General Public License along with this program. If not, see
# <http://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 2.8.8)
project(libfnord-base)
include(FindPkgConfig)
include(CheckIncludeFile)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/modules/") 
project(libfnord)

option(ENABLE_TESTS "Build unit tests [default: ON]" ON)

@@ -50,164 +48,49 @@ add_library(fnord-base OBJECT
    io/pagemanager.cc
    logging.cc
    logging/logoutputstream.cc
    net/dnscache.cc
    net/tcpserver.cc
    net/udpserver.cc
    net/udpsocket.cc
    net/inetaddr.cc
    net/tcpconnection.cc
    random.cc
    status.cc
    stringutil.cc
    stats/statshttpservlet.cc
    stats/statsdagent.cc
    stats/statsrepository.cc
    stats/statssink.cc
    thread/eventloop.cc
    thread/signalhandler.cc
    thread/threadpool.cc
    thread/wakeup.cc
    uri.cc
    util/binarymessagereader.cc
    util/binarymessagewriter.cc
    wallclock.cc)

#add_executable(tests/test-inputstream
#    $<TARGET_OBJECTS:fnord-base>
#    $<TARGET_OBJECTS:fnord-io>
#    io/inputstream_test.cc)

# add_executable(tests/test-uri
#     $<TARGET_OBJECTS:fnord-base>
#     base/uri_test.cc)
# 
# add_executable(tests/test-stringutil
#     $<TARGET_OBJECTS:fnord-base>
#     base/stringutil_test.cc)

# chart
#add_library(fnord-chart OBJECT
#    chart/axisdefinition.cc
#    chart/areachart.cc
#    chart/barchart.cc
#    chart/linechart.cc
#    chart/pointchart.cc
#    chart/canvas.cc
#    chart/domain.cc
#    chart/domainprovider.cc
#    chart/drawable.cc
#    chart/griddefinition.cc
#    chart/legenddefinition.cc
#    chart/series.cc
#    chart/timedomain.cc)

#add_executable(tests/test-chart
#    $<TARGET_OBJECTS:fnord-base>
#    $<TARGET_OBJECTS:fnord-chart>
#    chart/chart_test.cc)
#
target_link_libraries(tests/test-chart ${CMAKE_THREAD_LIBS_INIT})

# http
#add_library(fnord-http OBJECT
#    net/http/cookies.cc
#    net/http/httpclient.cc
#    net/http/httpclientconnection.cc
#    net/http/httpconnectionpool.cc
#    net/http/httpgenerator.cc
#    net/http/httpmessage.cc
#    net/http/httpparser.cc
#    net/http/httprequest.cc
#    net/http/httpresponse.cc
#    net/http/httpresponsefuture.cc
#    net/http/httprouter.cc
#    net/http/httpserver.cc
#    net/http/httpserverconnection.cc
#    net/http/httpservice.cc)
#
#add_executable(tests/test-http
#    $<TARGET_OBJECTS:fnord-base>
#    $<TARGET_OBJECTS:fnord-comm>
#    $<TARGET_OBJECTS:fnord-net>
#    $<TARGET_OBJECTS:fnord-http>
#    $<TARGET_OBJECTS:fnord-stats>
#    net/http/http_test.cc)
#
#target_link_libraries(tests/test-http ${CMAKE_THREAD_LIBS_INIT})

# json
add_library(fnord-json OBJECT
    json/flatjsonreader.cc
    json/json.cc
    json/jsondocument.cc
    json/jsoninputstream.cc
    json/jsonoutputstream.cc
    json/jsonpointer.cc
    json/jsonrpc.cc
    json/jsonrpchttpadapter.cc
    json/jsonrpcrequest.cc
    json/jsonrpcresponse.cc
    json/jsonutil.cc)

add_executable(tests/test-json
add_executable(tests/test-inputstream
    $<TARGET_OBJECTS:fnord-base>
    $<TARGET_OBJECTS:fnord-comm>
    $<TARGET_OBJECTS:fnord-http>
    $<TARGET_OBJECTS:fnord-net>
    $<TARGET_OBJECTS:fnord-json>
    $<TARGET_OBJECTS:fnord-stats>
    json/json_test.cc)

target_link_libraries(tests/test-json ${CMAKE_THREAD_LIBS_INIT})

# service: metric
add_library(fnord-metric-service OBJECT
    net/statsd/statsd.cc
    service/metric/backends/disk/compactiontask.cc
    service/metric/backends/disk/labelindex.cc
    service/metric/backends/disk/labelindexreader.cc
    service/metric/backends/disk/labelindexwriter.cc
    service/metric/backends/disk/metric.cc
    service/metric/backends/disk/metriccursor.cc
    service/metric/backends/disk/metricrepository.cc
    service/metric/backends/disk/metricsnapshot.cc
    service/metric/backends/disk/samplereader.cc
    service/metric/backends/disk/samplewriter.cc
    service/metric/backends/disk/tableheaderreader.cc
    service/metric/backends/disk/tableheaderwriter.cc
    service/metric/backends/disk/tableref.cc
    service/metric/backends/disk/tokenindex.cc
    service/metric/backends/disk/tokenindexreader.cc
    service/metric/backends/disk/tokenindexwriter.cc
    service/metric/backends/inmemory/metric.cc
    service/metric/backends/inmemory/metricrepository.cc
    service/metric/httpapiservlet.cc
    service/metric/metric.cc
    service/metric/metricrepository.cc
    service/metric/metricservice.cc
    service/metric/timeseriesquery.cc
    service/metric/sample.cc)
    io/inputstream_test.cc)

add_executable(fnord-metric-service-example
add_executable(tests/test-uri
    $<TARGET_OBJECTS:fnord-base>
    $<TARGET_OBJECTS:fnord-chart>
    $<TARGET_OBJECTS:fnord-metric-service>
    $<TARGET_OBJECTS:fnord-http>
    $<TARGET_OBJECTS:fnord-net>
    $<TARGET_OBJECTS:fnord-comm>
    $<TARGET_OBJECTS:fnord-json>
    $<TARGET_OBJECTS:fnord-sstable>
    $<TARGET_OBJECTS:fnord-util>
    service/metric/metricservice_example.cc)

target_link_libraries(fnord-metric-service-example ${CMAKE_THREAD_LIBS_INIT})

# net
add_library(fnord-net OBJECT
    net/dnscache.cc
    net/tcpserver.cc
    net/udpserver.cc
    net/udpsocket.cc
    net/inetaddr.cc
    net/tcpconnection.cc)
    uri_test.cc)

# redis
add_library(fnord-redis OBJECT
    ../3rdparty/hiredis/async.c
    ../3rdparty/hiredis/dict.c
    ../3rdparty/hiredis/hiredis.c
    ../3rdparty/hiredis/net.c
    ../3rdparty/hiredis/sds.c
    net/redis/redisconnection.cc
    net/redis/redisqueue.cc)
add_executable(tests/test-stringutil
    $<TARGET_OBJECTS:fnord-base>
    stringutil_test.cc)

## redis
#add_library(fnord-redis OBJECT
#    ../3rdparty/hiredis/async.c
#    ../3rdparty/hiredis/dict.c
#    ../3rdparty/hiredis/hiredis.c
#    ../3rdparty/hiredis/net.c
#    ../3rdparty/hiredis/sds.c
#    net/redis/redisconnection.cc
#    net/redis/redisqueue.cc)

#add_executable(tests/test-redis
#    $<TARGET_OBJECTS:fnord-base>
@@ -215,27 +98,3 @@ add_library(fnord-redis OBJECT
#    $<TARGET_OBJECTS:fnord-net>
#    $<TARGET_OBJECTS:fnord-redis>
#    net/redis/redis_test.cc)


# sstable
add_library(fnord-sstable OBJECT
    sstable/cursor.cc
    sstable/fileheaderreader.cc
    sstable/fileheaderwriter.cc
    sstable/index.cc
    sstable/indexprovider.cc
    sstable/rowoffsetindex.cc
    sstable/sstablereader.cc
    sstable/sstablerepair.cc
    sstable/sstablewriter.cc)

add_library(fnord-stats OBJECT
    stats/statshttpservlet.cc
    stats/statsdagent.cc
    stats/statsrepository.cc
    stats/statssink.cc)

# util
add_library(fnord-util OBJECT
    util/binarymessagereader.cc
    util/binarymessagewriter.cc)
+48 −0
Original line number Diff line number Diff line
# This file is part of the "FnordMetric" project
#   Copyright (c) 2014 Paul Asmuth, Google Inc.
#
# FnordMetric is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License v3.0. You should have received a
# copy of the GNU General Public License along with this program. If not, see
# <http://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 2.8.8)
project(libfnord-chart)
include(FindPkgConfig)

option(ENABLE_TESTS "Build unit tests [default: ON]" ON)

include_directories(${PROJECT_BINARY_DIR})
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/tests)
include_directories(../)
include_directories(../3rdparty/)

find_package(Threads)

if(APPLE)
  set(CMAKE_CXX_FLAGS "-std=c++0x -stdlib=libc++ ${CMAKE_CXX_FLAGS}")
else()
  set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
endif()

# chart
add_library(fnord-chart OBJECT
    axisdefinition.cc
    areachart.cc
    barchart.cc
    linechart.cc
    pointchart.cc
    canvas.cc
    domain.cc
    domainprovider.cc
    drawable.cc
    griddefinition.cc
    legenddefinition.cc
    series.cc
    timedomain.cc)

add_executable(tests/test-chart
    $<TARGET_OBJECTS:fnord-base>
    $<TARGET_OBJECTS:fnord-chart>
    chart_test.cc)

target_link_libraries(tests/test-chart ${CMAKE_THREAD_LIBS_INIT})
+0 −14
Original line number Diff line number Diff line
@@ -13,41 +13,27 @@ add_library(fnord-feeds OBJECT

add_executable(fn-feedtail
    $<TARGET_OBJECTS:fnord-base>
    $<TARGET_OBJECTS:fnord-cli>
    $<TARGET_OBJECTS:fnord-comm>
    $<TARGET_OBJECTS:fnord-http>
    $<TARGET_OBJECTS:fnord-json>
    $<TARGET_OBJECTS:fnord-net>
    $<TARGET_OBJECTS:fnord-stats>
    $<TARGET_OBJECTS:fnord-sstable>
    $<TARGET_OBJECTS:fnord-feeds>
    $<TARGET_OBJECTS:fnord-util>
    $<TARGET_OBJECTS:fnord-rpc>
    fn-feedtail.cc)

target_link_libraries(fn-feedtail ${CMAKE_THREAD_LIBS_INIT})

#add_executable(fnord-logstream-service-example
#    $<TARGET_OBJECTS:fnord-base>
#    $<TARGET_OBJECTS:fnord-comm>
#    $<TARGET_OBJECTS:fnord-feeds>
#    $<TARGET_OBJECTS:fnord-http>
#    $<TARGET_OBJECTS:fnord-json>
#    $<TARGET_OBJECTS:fnord-net>
#    $<TARGET_OBJECTS:fnord-stats>
#    $<TARGET_OBJECTS:fnord-sstable>
#    $<TARGET_OBJECTS:fnord-util>
#    feeds_example.cc)
#
#add_executable(tests/test-logstream-service
#    $<TARGET_OBJECTS:fnord-base>
#    $<TARGET_OBJECTS:fnord-comm>
#    $<TARGET_OBJECTS:fnord-feeds>
#    $<TARGET_OBJECTS:fnord-http>
#    $<TARGET_OBJECTS:fnord-json>
#    $<TARGET_OBJECTS:fnord-net>
#    $<TARGET_OBJECTS:fnord-stats>
#    $<TARGET_OBJECTS:fnord-sstable>
#    $<TARGET_OBJECTS:fnord-util>
#    feeds_test.cc)
#
+49 −0
Original line number Diff line number Diff line
# This file is part of the "FnordMetric" project
#   Copyright (c) 2014 Paul Asmuth, Google Inc.
#
# FnordMetric is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License v3.0. You should have received a
# copy of the GNU General Public License along with this program. If not, see
# <http://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 2.8.8)
project(libfnord-http)
include(FindPkgConfig)

option(ENABLE_TESTS "Build unit tests [default: ON]" ON)

include_directories(${PROJECT_BINARY_DIR})
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/tests)
include_directories(../)
include_directories(../3rdparty/)

find_package(Threads)

if(APPLE)
  set(CMAKE_CXX_FLAGS "-std=c++0x -stdlib=libc++ ${CMAKE_CXX_FLAGS}")
else()
  set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
endif()

add_library(fnord-http OBJECT
    cookies.cc
    httpclient.cc
    httpclientconnection.cc
    httpconnectionpool.cc
    httpgenerator.cc
    httpmessage.cc
    httpparser.cc
    httprequest.cc
    httpresponse.cc
    httpresponsefuture.cc
    httprouter.cc
    httpserver.cc
    httpserverconnection.cc
    httpservice.cc)

add_executable(tests/test-http
    $<TARGET_OBJECTS:fnord-base>
    $<TARGET_OBJECTS:fnord-http>
    http_test.cc)

target_link_libraries(tests/test-http ${CMAKE_THREAD_LIBS_INIT})
+47 −0
Original line number Diff line number Diff line
# This file is part of the "FnordMetric" project
#   Copyright (c) 2014 Paul Asmuth, Google Inc.
#
# FnordMetric is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License v3.0. You should have received a
# copy of the GNU General Public License along with this program. If not, see
# <http://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 2.8.8)
project(libfnord-json)
include(FindPkgConfig)

option(ENABLE_TESTS "Build unit tests [default: ON]" ON)

include_directories(${PROJECT_BINARY_DIR})
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/tests)
include_directories(../)
include_directories(../3rdparty/)

find_package(Threads)

if(APPLE)
  set(CMAKE_CXX_FLAGS "-std=c++0x -stdlib=libc++ ${CMAKE_CXX_FLAGS}")
else()
  set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
endif()

# json
add_library(fnord-json OBJECT
    flatjsonreader.cc
    json.cc
    jsondocument.cc
    jsoninputstream.cc
    jsonoutputstream.cc
    jsonpointer.cc
    jsonrpc.cc
    jsonrpchttpadapter.cc
    jsonrpcrequest.cc
    jsonrpcresponse.cc
    jsonutil.cc)

add_executable(tests/test-json
    $<TARGET_OBJECTS:fnord-base>
    $<TARGET_OBJECTS:fnord-http>
    $<TARGET_OBJECTS:fnord-json>
    json_test.cc)

target_link_libraries(tests/test-json ${CMAKE_THREAD_LIBS_INIT})
Loading