Adding adding GEN_X macro for cmake export header

This commit is contained in:
Michael Tryby
2018-08-22 15:46:24 -04:00
parent c6fe1230d0
commit 0938f82c32
2 changed files with 41 additions and 35 deletions

View File

@@ -80,6 +80,7 @@ target_include_directories(epanet PUBLIC ${PROJECT_SOURCE_DIR}/include)
# create export lib so we can link against dll using Visual Studio # create export lib so we can link against dll using Visual Studio
IF (GEN_X)
include(GenerateExportHeader) include(GenerateExportHeader)
GENERATE_EXPORT_HEADER(epanet GENERATE_EXPORT_HEADER(epanet
BASE_NAME epanet BASE_NAME epanet
@@ -87,5 +88,7 @@ GENERATE_EXPORT_HEADER(epanet
EXPORT_FILE_NAME epanet_export.h EXPORT_FILE_NAME epanet_export.h
STATIC_DEFINE SHARED_EXPORTS_BUILT_AS_STATIC) STATIC_DEFINE SHARED_EXPORTS_BUILT_AS_STATIC)
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/epanet_export.h file(COPY ${CMAKE_CURRENT_BINARY_DIR}/epanet_export.h
DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/include) DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/include)
ENDIF (GEN_X)

View File

@@ -30,37 +30,40 @@
#define EN_API_FLOAT_TYPE float #define EN_API_FLOAT_TYPE float
#endif #endif
// // --- define WINDOWS #ifdef GEN_X
// #undef WINDOWS
// #ifdef _WIN32
// #define WINDOWS
// #endif
// #ifdef __WIN32__
// #define WINDOWS
// #endif
// // --- define DLLEXPORT
// #ifndef DLLEXPORT
// #ifdef WINDOWS
// #ifdef __cplusplus
// #define DLLEXPORT __declspec(dllexport)
// #else
// #define DLLEXPORT __declspec(dllexport) __stdcall
// #endif // __cplusplus
// #elif defined(CYGWIN)
// #define DLLEXPORT __stdcall
// #elif defined(__APPLE__)
// #ifdef __cplusplus
// #define DLLEXPORT
// #else
// #define DLLEXPORT
// #endif
// #else
// #define DLLEXPORT
// #endif
// #endif
#include "epanet_export.h" #include "epanet_export.h"
#else
// --- define WINDOWS
#undef WINDOWS
#ifdef _WIN32
#define WINDOWS
#endif
#ifdef __WIN32__
#define WINDOWS
#endif
// --- define DLLEXPORT
#ifndef DLLEXPORT
#ifdef WINDOWS
#ifdef __cplusplus
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT __declspec(dllexport) __stdcall
#endif // __cplusplus
#elif defined(CYGWIN)
#define DLLEXPORT __stdcall
#elif defined(__APPLE__)
#ifdef __cplusplus
#define DLLEXPORT
#else
#define DLLEXPORT
#endif
#else
#define DLLEXPORT
#endif
#endif
#endif
// --- Define the EPANET toolkit constants // --- Define the EPANET toolkit constants