clooneljump/cloonel_vectorwrapper/vectorwrapper.hpp.in

43 lines
1.7 KiB
C++
Raw Normal View History

/*
Copyright 2014 Michele "King_DuckZ" Santullo
This file is part of CloonelJump.
CloonelJump 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 3 of the License, or
(at your option) any later version.
CloonelJump 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 CloonelJump. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
//The reason for this file is that I want to force cloonelgraphics to use the
//version of vectorwrapper that it's bundled with in git. When it's used as a
//library into a project different than clooneljump, the outer project will
//probably have its own version of vectorwrapper, and likely in a different
//outer namespace. Since both sdlmain.hpp, for example, and some hypotetical
//mygame.cpp from the client code will both #include
//"vectorwrapper/vectorwrapper.hpp", the search paths at the time mygame.cpp is
//built will be different than the one used by cloonelgraphics. By putting an
//absolute path here and forcing the outer namespace to cloonel this problem
//should be avoided.
#pragma push_macro("VWR_OUTER_NAMESPACE")
#if defined(VWR_OUTER_NAMESPACE)
# undef VWR_OUTER_NAMESPACE
#endif
#define VWR_OUTER_NAMESPACE cloonel
#include "@CMAKE_CURRENT_SOURCE_DIR@/../../lib/vectorwrapper/include/vectorwrapper/vectorwrapper.hpp"
#undef VWR_OUTER_NAMESPACE
#pragma pop_macro("VWR_OUTER_NAMESPACE")