From: Michael Friedrich Date: Mon, 10 Mar 2014 14:00:14 +0000 (+0100) Subject: Fix Windows build. X-Git-Tag: v0.0.9~52^2~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c1ed614201c7359ef71fad8a97d3debc99b3691f;p=icinga2 Fix Windows build. Refs #5636 --- diff --git a/lib/db_ido/CMakeLists.txt b/lib/db_ido/CMakeLists.txt index 9d1c8a353..6a666ff91 100644 --- a/lib/db_ido/CMakeLists.txt +++ b/lib/db_ido/CMakeLists.txt @@ -28,7 +28,7 @@ add_library(db_ido SHARED ) include_directories(${Boost_INCLUDE_DIRS}) -target_link_libraries(db_ido ${Boost_LIBRARIES} base config icinga cluster) +target_link_libraries(db_ido ${Boost_LIBRARIES} base config icinga remote) set_target_properties ( db_ido PROPERTIES diff --git a/lib/remote/CMakeLists.txt b/lib/remote/CMakeLists.txt index d681ce925..c96631bd5 100644 --- a/lib/remote/CMakeLists.txt +++ b/lib/remote/CMakeLists.txt @@ -23,12 +23,13 @@ add_library(remote SHARED endpoint.cpp endpoint.th jsonrpc.cpp remote-type.cpp ) +include_directories(${Boost_INCLUDE_DIRS}) target_link_libraries(remote ${Boost_LIBRARIES} base config) set_target_properties ( - icinga PROPERTIES + remote PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2 - DEFINE_SYMBOL I2_ICINGA_BUILD + DEFINE_SYMBOL I2_REMOTE_BUILD FOLDER Lib ) diff --git a/lib/remote/endpoint.h b/lib/remote/endpoint.h index 2206cb927..72e027d43 100644 --- a/lib/remote/endpoint.h +++ b/lib/remote/endpoint.h @@ -23,6 +23,7 @@ #include "remote/endpoint.th" #include "base/stream.h" #include "base/array.h" +#include "remote/i2-remote.h" #include namespace icinga @@ -35,7 +36,7 @@ class EndpointManager; * * @ingroup cluster */ -class Endpoint : public ObjectImpl +class I2_REMOTE_API Endpoint : public ObjectImpl { public: DECLARE_PTR_TYPEDEFS(Endpoint); diff --git a/lib/remote/i2-remote.h b/lib/remote/i2-remote.h new file mode 100644 index 000000000..d2e884f35 --- /dev/null +++ b/lib/remote/i2-remote.h @@ -0,0 +1,37 @@ +/****************************************************************************** + * Icinga 2 * + * Copyright (C) 2012-present Icinga Development Team (http://www.icinga.org) * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License * + * as published by the Free Software Foundation; either version 2 * + * of the License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the Free Software Foundation * + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * + ******************************************************************************/ + +#ifndef I2REMOTE_H +#define I2REMOTE_H + +/** + * @defgroup remote Remote library + * + * The Icinga library implements remote cluster functionality. + */ + +#include "base/i2-base.h" + +#ifdef I2_REMOTE_BUILD +# define I2_REMOTE_API I2_EXPORT +#else /* I2_REMOTE_BUILD */ +# define I2_REMOTE_API I2_IMPORT +#endif /* I2_REMOTE_BUILD */ + +#endif /* I2REMOTE_H */ diff --git a/lib/remote/jsonrpc.h b/lib/remote/jsonrpc.h index 6a44e4005..47782356a 100644 --- a/lib/remote/jsonrpc.h +++ b/lib/remote/jsonrpc.h @@ -22,6 +22,7 @@ #include "base/stream.h" #include "base/dictionary.h" +#include "remote/i2-remote.h" namespace icinga { @@ -31,7 +32,7 @@ namespace icinga * * @ingroup remote */ -class JsonRpc +class I2_REMOTE_API JsonRpc { public: static void SendMessage(const Stream::Ptr& stream, const Dictionary::Ptr& message);