FastJet 3.5.1
Loading...
Searching...
No Matches
config.h
1#ifndef __FASTJET_CONFIG_H__
2#define __FASTJET_CONFIG_H__
3
4// Required definitions for exporting static variables in windows builds (for DLLs)
5// This is only needed for static data variables since we use
6// the CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON automation when building with cmake.
7// That automation handles all member functions.
8// So, when making a static variable please add in the beginning of a variable
9// definition, like a keyword. It is very important to use the visibility relevant
10// to the library you are working in, see below for possibilities!
11// e.g.: FASTJET_WINDLL static bool verbosity;
12// inside a SomeClass.h, for instance
13// Similarly for declarations you must prefix the appropriate WINDLL
14// e.g. FASTJET_WINDLL static bool SomeClass::verbosity = true; // in SomeClass.(hh|cc)
15#ifdef _WIN32
16 #if defined(fastjet_EXPORTS)
17 #define FASTJET_WINDLL __declspec(dllexport) // Export when building the DLL
18 #else
19 #define FASTJET_WINDLL __declspec(dllimport) // Import when using the DLL
20 #endif
21
22 #if defined(fastjettools_EXPORTS)
23 #define FASTJET_TOOLS_WINDLL __declspec(dllexport) // Export when building the DLL
24 #else
25 #define FASTJET_TOOLS_WINDLL __declspec(dllimport) // Import when using the DLL
26 #endif
27
28 #if defined(fastjetplugins_EXPORTS)
29 #define FASTJET_PLUGINS_WINDLL __declspec(dllexport) // Export when building the DLL
30 #else
31 #define FASTJET_PLUGINS_WINDLL __declspec(dllimport) // Import when using the DLL
32 #endif
33#else
34 // For Linux/macOS
35 #define FASTJET_WINDLL
36 #define FASTJET_TOOLS_WINDLL
37 #define FASTJET_PLUGINS_WINDLL
38#endif
39
40// by default, use an automatically generated config_auto.h
41// unless it's a windows machine in which case
42#include "fastjet/config_auto.h"
43
44#endif // __FASTJET_CONFIG_H__