FailBochs build process reversed

The FailBochs client is not linked by the Bochs build system anymore, but
by our cmake scripts (make fail-client):
 -  All Bochs libraries are merged into libfailbochs.a (a new target
    within the Bochs Autotools scripts).
 -  The previous libfail.a is *not* a merge of all Fail* libraries anymore,
    but pulls these in via library dependencies.

Additionally I did a lot of build system cleanup, e.g. additional external
libraries may now be pulled in where they're needed.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1390 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
hsc
2012-06-29 22:22:41 +00:00
parent 651738fcca
commit 4a4b3ea7e2
28 changed files with 1298 additions and 171 deletions

View File

@ -1,11 +1,10 @@
### Add Boost and Threads
find_package(Boost 1.42 COMPONENTS thread REQUIRED)
find_package(Threads)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
### Setup doxygen documentation
# TODO: put into helpers.cmake
# TODO: put into helpers.cmake (?)
find_package(Doxygen)
if(DOXYGEN_FOUND)
# Using a .in file means we can use CMake to insert project settings

View File

@ -1,8 +1,20 @@
set(SRCS
ExperimentData.hpp
SocketComm.hpp
SocketComm.cc
)
add_subdirectory(msg)
## Setup desired protobuf descriptions HERE ##
set(MY_PROTOS
FailControlMessage.proto
)
add_library(comm ${SRCS})
add_dependencies(comm msg)
#### PROTOBUFS ####
find_package(Protobuf REQUIRED)
include_directories(${PROTOBUF_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS})
add_library(comm ${SRCS} ${PROTO_SRCS} ${PROTO_HDRS})
target_link_libraries(comm ${PROTOBUF_LIBRARY})

View File

@ -1,15 +0,0 @@
## Setup desired protobuf descriptions HERE ##
set(MY_PROTOS
FailControlMessage.proto
)
#### PROTOBUFS ####
find_package(Protobuf REQUIRED)
include_directories(${PROTOBUF_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS})
## Build library
add_library(msg ${PROTO_SRCS} ${PROTO_HDRS})

View File

@ -1,2 +0,0 @@
#!/bin/bash
protoc --cpp_out=. FailControlMessage.proto

View File

@ -9,7 +9,7 @@
#include <string.h>
#include <arpa/inet.h>
#include "comm/msg/FailControlMessage.pb.h"
#include "comm/FailControlMessage.pb.h"
#include "comm/SocketComm.hpp"
#include "JobServer.hpp"
#include "Minion.hpp"

View File

@ -1,10 +1,15 @@
set(SRCS
CoroutineManager.hpp
CoroutineManager.cc
ExperimentFlow.hpp
JobClient.hpp
JobClient.cc
)
# FIXME: Add dependency check for pcl-library here.
add_library(efw ${SRCS})
add_dependencies(efw comm)
find_package(LibPCL REQUIRED)
include_directories(${LIBPCL_INCLUDE_DIRS})
link_directories(${LIBPCL_LINK_DIRS})
target_link_libraries(efw ${LIBPCL_LIBRARIES})

View File

@ -9,7 +9,7 @@
#include "comm/SocketComm.hpp"
#include "comm/ExperimentData.hpp"
#include "comm/msg/FailControlMessage.pb.h"
#include "comm/FailControlMessage.pb.h"
#include "config/FailConfig.hpp"
namespace fail {

View File

@ -1,10 +1,24 @@
set(SRCS
SynchronizedCounter.cc
Logger.hpp
Logger.cc
Logger.hpp
MemoryMap.hpp
ProtoStream.cc
ProtoStream.hpp
SynchronizedCounter.cc
SynchronizedCounter.hpp
SynchronizedMap.hpp
SynchronizedQueue.hpp
)
add_library(util ${SRCS})
# required by ProtoStream.cc:
find_package(Protobuf REQUIRED)
include_directories(${PROTOBUF_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
# FIXME: Add protobuf-dependency (required by ProtoStream.cc@line56)
# required by Synchronized*.cc:
find_package(Boost 1.42 COMPONENTS thread REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
add_library(util ${SRCS})
target_link_libraries(util ${PROTOBUF_LIBRARY} ${Boost_THREAD_LIBRARY})