Skip to content
Snippets Groups Projects
Commit 82ad173c authored by Adam Wardynski's avatar Adam Wardynski
Browse files

On 2nd thoughts, move STATIC vs SHARED on WIN32 stuff locally

parent 880d795a
Branches
No related merge requests found
......@@ -53,24 +53,6 @@ FIND_PATH(LIBCORPUS2_SRC_DATA_DIR
)
MARK_AS_ADVANCED(LIBCORPUS2_SRC_DATA_DIR)
# For DLLs on Windows (aka SHARED libraries) you have to explicitly
# specify the external API of the library. Nothing is exported
# by default.
# For UNIX on the other hand everything is exported by default.
# We were building libraries SHARED but without specyfing
# external API. It worked on UNIX but not on Windows.
# This is changed now so add_library entries do not specify library
# type and therefore use default. Below, the default is set
# to build SHARED libs on anything but WIN32, so for Windows/cygwin
# we are building STATIC (todo: is cygwin ok w/o externs?)
# To make DLLs on Windows, exports have to be defined and then
# add_library entry changed to state SHARED for given library.
# Once this is done for all libraries, and all are marked
# explicitly as SHARED, the below will won't make a difference.
if(NOT WIN32)
set(BUILD_SHARED_LIBS TRUE)
endif(NOT WIN32)
add_subdirectory(libpwrutils)
add_subdirectory(libcorpus2)
add_subdirectory(tagset-tool)
......
......@@ -68,7 +68,16 @@ SET(libcorpus2_STAT_SRC
file(GLOB_RECURSE INCS "*.h")
add_library(corpus2 ${libcorpus2_STAT_SRC} ${INCS})
if(WIN32)
# For DLLs on Windows (aka SHARED libraries) you have to explicitly
# specify the external API of the library. Nothing is exported
# by default.
# For UNIX on the other hand everything is exported by default.
# Until external API is specified explicitly, build STATIC for WIN32
add_library(corpus2 STATIC ${libcorpus2_STAT_SRC} ${INCS})
else(WIN32)
add_library(corpus2 SHARED ${libcorpus2_STAT_SRC} ${INCS})
endif(WIN32)
target_link_libraries(corpus2 ${LIBS})
set_target_properties(corpus2 PROPERTIES
VERSION "${corpus2_ver_major}.${corpus2_ver_minor}"
......
......@@ -34,7 +34,16 @@ SET(libpwrutils_STAT_SRC
file(GLOB_RECURSE INCS "*.h")
add_library(pwrutils ${libpwrutils_STAT_SRC} ${INCS})
if(WIN32)
# For DLLs on Windows (aka SHARED libraries) you have to explicitly
# specify the external API of the library. Nothing is exported
# by default.
# For UNIX on the other hand everything is exported by default.
# Until external API is specified explicitly, build STATIC for WIN32
add_library(pwrutils STATIC ${libpwrutils_STAT_SRC} ${INCS})
else(WIN32)
add_library(pwrutils SHARED ${libpwrutils_STAT_SRC} ${INCS})
endif(WIN32)
target_link_libraries(pwrutils ${LIBS} )
set_target_properties(pwrutils PROPERTIES
VERSION "${pwrutils_ver_major}.${pwrutils_ver_minor}"
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment