Skip to content
Snippets Groups Projects
Commit 84d71fd0 authored by Atkins, Charles Vernon's avatar Atkins, Charles Vernon
Browse files

KWSys: Properly handle export symbols for object libs on Windows

parent d7618b15
No related branches found
No related tags found
1 merge request!264Address various windows issues
...@@ -6,5 +6,6 @@ set(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS}) ...@@ -6,5 +6,6 @@ set(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS})
set(KWSYS_SPLIT_OBJECTS_FROM_INTERFACE ON) set(KWSYS_SPLIT_OBJECTS_FROM_INTERFACE ON)
set(KWSYS_INSTALL_EXPORT_NAME adios2Exports) set(KWSYS_INSTALL_EXPORT_NAME adios2Exports)
set(KWSYS_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR}) set(KWSYS_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
set(KWSYS_DEFINE_SYMBOL adios2_EXPORTS)
add_subdirectory(adios2sys) add_subdirectory(adios2sys)
...@@ -438,6 +438,10 @@ ELSE() ...@@ -438,6 +438,10 @@ ELSE()
SET(KWSYS_LIBRARY_TYPE STATIC) SET(KWSYS_LIBRARY_TYPE STATIC)
ENDIF() ENDIF()
IF(NOT KWSYS_DEFINE_SYMBOL)
SET(KWSYS_DEFINE_SYMBOL ${KWSYS_NAMESPACE}_EXPORTS)
ENDIF()
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Configure some implementation details. # Configure some implementation details.
...@@ -830,6 +834,8 @@ IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS) ...@@ -830,6 +834,8 @@ IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS)
IF(KWSYS_BUILD_SHARED) IF(KWSYS_BUILD_SHARED)
SET_PROPERTY(TARGET ${KWSYS_TARGET_OBJECT} PROPERTY SET_PROPERTY(TARGET ${KWSYS_TARGET_OBJECT} PROPERTY
POSITION_INDEPENDENT_CODE TRUE) POSITION_INDEPENDENT_CODE TRUE)
TARGET_COMPILE_DEFINITIONS(${KWSYS_TARGET_OBJECT} PRIVATE
${KWSYS_DEFINE_SYMBOL})
ENDIF() ENDIF()
ADD_LIBRARY(${KWSYS_TARGET_INTERFACE} INTERFACE) ADD_LIBRARY(${KWSYS_TARGET_INTERFACE} INTERFACE)
ADD_LIBRARY(${KWSYS_TARGET_LINK} INTERFACE) ADD_LIBRARY(${KWSYS_TARGET_LINK} INTERFACE)
...@@ -919,6 +925,8 @@ IF(KWSYS_ENABLE_C AND KWSYS_C_SRCS) ...@@ -919,6 +925,8 @@ IF(KWSYS_ENABLE_C AND KWSYS_C_SRCS)
IF(KWSYS_BUILD_SHARED) IF(KWSYS_BUILD_SHARED)
SET_PROPERTY(TARGET ${KWSYS_TARGET_C_OBJECT} PROPERTY SET_PROPERTY(TARGET ${KWSYS_TARGET_C_OBJECT} PROPERTY
POSITION_INDEPENDENT_CODE TRUE) POSITION_INDEPENDENT_CODE TRUE)
TARGET_COMPILE_DEFINITIONS(${KWSYS_TARGET_C_OBJECT} PRIVATE
${KWSYS_DEFINE_SYMBOL})
ENDIF() ENDIF()
ADD_LIBRARY(${KWSYS_TARGET_C_INTERFACE} INTERFACE) ADD_LIBRARY(${KWSYS_TARGET_C_INTERFACE} INTERFACE)
ADD_LIBRARY(${KWSYS_TARGET_C_LINK} INTERFACE) ADD_LIBRARY(${KWSYS_TARGET_C_LINK} INTERFACE)
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
/* Setup the export macro. */ /* Setup the export macro. */
#if @KWSYS_BUILD_SHARED@ #if @KWSYS_BUILD_SHARED@
#if defined(_WIN32) || defined(__CYGWIN__) #if defined(_WIN32) || defined(__CYGWIN__)
#if defined(@KWSYS_NAMESPACE@_EXPORTS) #if defined(@KWSYS_DEFINE_SYMBOL@)
#define @KWSYS_NAMESPACE@_EXPORT __declspec(dllexport) #define @KWSYS_NAMESPACE@_EXPORT __declspec(dllexport)
#else #else
#define @KWSYS_NAMESPACE@_EXPORT __declspec(dllimport) #define @KWSYS_NAMESPACE@_EXPORT __declspec(dllimport)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment