//////////////////////////////////////////////////////////////////////// // Copyright (c) Nehmulos 2011-2014 // This file is part of N0 Strain Serialization Library. // // N0Strain-Serialization-Library is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // N0Strain-Serialization-Library 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 Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with N0Strain-Serialization-Library. If not, see https://gnu.org/licenses/lgpl-3.0 //////////////////////////////////////////////////////////////////////// #ifndef PLATFORMDETECTION_H_ #define PLATFORMDETECTION_H_ //TODO 1.2 may remove platform detection, I already use \n always #if defined(_WIN32) || defined(__WIN32__) // Windows #define N0ware_System_Windows //#define SYSTEM_NEW_LINE '\r\n' #define SYSTEM_NEW_LINE '\n' #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #ifndef NOMINMAX #define NOMINMAX #endif #elif defined(linux) || defined(__linux) // Linux #define N0ware_System_Linux #define N0ware_System_Unix #define SYSTEM_NEW_LINE '\n' #elif defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh) // MacOS #define N0ware_System_Mac #define N0ware_System_Unix #define SYSTEM_NEW_LINE '\n' #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) // FreeBSD #define N0ware_System_FreeBsd #define N0ware_System_Unix #define SYSTEM_NEW_LINE '\n' #else // Unsupported system #warning This operating system is NOT supported by the N0Slib Serialization Library #define SYSTEM_NEW_LINE '\n' #endif #endif /* PLATFORMDETECTION_H_ */