Files
nova-engine/engine/include/nova/core/api.hpp

31 lines
660 B
C++

/**
* Copyright (c) 2025, Jayden Grubb <contact@jaydengrubb.com>
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#pragma once
// clang-format off
#if !defined(NOVA_API)
#if defined(NOVA_PLATFORM_WINDOWS)
#if defined(NOVA_EXPORT_SYMBOLS)
#define NOVA_API __declspec(dllexport)
#else
#define NOVA_API __declspec(dllimport)
#endif
#elif defined(NOVA_PLATFORM_MACOS) || defined(NOVA_PLATFORM_LINUX)
#if defined(NOVA_EXPORT_SYMBOLS)
#define NOVA_API __attribute__((visibility("default")))
#else
#define NOVA_API
#endif
#else
#warning "NOVA_API is not defined for this platform"
#define NOVA_API
#endif
#endif
// clang-format on