Move import/export macros into CMake

This commit is contained in:
numzero
2023-02-20 00:16:55 +03:00
parent 06db7b7ab7
commit 5a2b807890
2 changed files with 15 additions and 34 deletions

View File

@ -4,7 +4,13 @@ option(USE_SDL2 "Use the SDL2 backend" FALSE)
# Compiler flags
add_definitions(-DIRRLICHT_EXPORTS)
if(NOT BUILD_SHARED_LIBS)
if(BUILD_SHARED_LIBS)
if(WIN32)
add_definitions("-DIRRLICHT_API=__declspec(dllexport)")
elseif(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Clang|AppleClang)$")
add_definitions("-DIRRLICHT_API=__attribute__ ((visibility(\"default\")))")
endif()
else()
add_definitions(-D_IRR_STATIC_LIB_)
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
@ -453,13 +459,12 @@ target_include_directories(IrrlichtMt
target_link_libraries(IrrlichtMt PRIVATE ${link_libs})
# Propagate static library flag to lib users, only needed for Windows
if(NOT BUILD_SHARED_LIBS)
target_compile_definitions(IrrlichtMt INTERFACE _IRR_STATIC_LIB_)
endif()
if(WIN32)
target_compile_definitions(IrrlichtMt INTERFACE _IRR_WINDOWS_API_)
endif()
if(WIN32 AND BUILD_SHARED_LIBS)
target_compile_definitions(IrrlichtMt INTERFACE IRRLICHT_API=__declspec(dllimport))
endif()
if(APPLE OR ANDROID OR EMSCRIPTEN)
target_compile_definitions(IrrlichtMt PUBLIC IRR_MOBILE_PATHS)
endif()