summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathis Rosenhauer <rosenhauer@dkrz.de>2014-07-16 17:32:54 +0200
committerMathis Rosenhauer <rosenhauer@dkrz.de>2014-07-16 17:32:54 +0200
commit62a8d0b0948b4aafcd3366f042b4b1a835a31319 (patch)
tree46c2384dd92c0e15645a5b28e85ec2a740b871a8
parente8339d24eb40e3e567a1149caafe58c9bb1d5c89 (diff)
downloadlibaec-62a8d0b0948b4aafcd3366f042b4b1a835a31319.tar.gz
libaec-62a8d0b0948b4aafcd3366f042b4b1a835a31319.tar.bz2
libaec-62a8d0b0948b4aafcd3366f042b4b1a835a31319.zip
Export symbols for Windows dlls.
-rw-r--r--CMakeLists.txt3
-rw-r--r--src/CMakeLists.txt25
-rw-r--r--tests/CMakeLists.txt4
3 files changed, 26 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1342a33..8c6c3c7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.6)
INCLUDE(CheckIncludeFiles)
INCLUDE(TestBigEndian)
INCLUDE(CheckCSourceCompiles)
@@ -75,6 +75,7 @@ CONFIGURE_FILE(
${CMAKE_CURRENT_BINARY_DIR}/config.h
)
+SET(BUILD_SHARED_LIBS TRUE)
INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}")
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(tests EXCLUDE_FROM_ALL)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index cf1642b..bbde090 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,20 +1,39 @@
+INCLUDE(GenerateExportHeader)
SET(libaec_SRCS encode.c encode_accessors.c decode.c)
-ADD_LIBRARY(aec SHARED ${libaec_SRCS})
+ADD_LIBRARY(aec ${libaec_SRCS})
SET_TARGET_PROPERTIES(aec PROPERTIES
VERSION 0
SOVERSION 0.0
)
-ADD_LIBRARY(sz SHARED sz_compat.c)
+ADD_LIBRARY(sz sz_compat.c)
SET_TARGET_PROPERTIES(sz PROPERTIES
VERSION 0
SOVERSION 0.0
)
+
+IF(WIN32)
+ GENERATE_EXPORT_HEADER(aec
+ BASE_NAME aec
+ EXPORT_MACRO_NAME aec_EXPORT
+ EXPORT_FILE_NAME aec_Export.h
+ STATIC_DEFINE aec_BUILT_AS_STATIC
+ )
+ GENERATE_EXPORT_HEADER(sz
+ BASE_NAME sz
+ EXPORT_MACRO_NAME sz_EXPORT
+ EXPORT_FILE_NAME sz_Export.h
+ STATIC_DEFINE sz_BUILT_AS_STATIC
+ )
+ENDIF(WIN32)
+
TARGET_LINK_LIBRARIES(sz aec)
ADD_EXECUTABLE(aec_client aec.c)
SET_TARGET_PROPERTIES(aec_client PROPERTIES OUTPUT_NAME "aec")
TARGET_LINK_LIBRARIES(aec_client aec)
-ADD_EXECUTABLE(utime EXCLUDE_FROM_ALL utime.c)
+IF(UNIX)
+ ADD_EXECUTABLE(utime EXCLUDE_FROM_ALL utime.c)
+ENDIF(UNIX)
INSTALL(FILES libaec.h szlib.h DESTINATION include)
INSTALL(TARGETS aec sz
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index c174d9b..5c5bf67 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -19,10 +19,10 @@ ADD_DEPENDENCIES(check
check_buffer_sizes
check_long_fs)
-IF(NOT WIN32)
+IF(UNIX)
ADD_CUSTOM_TARGET(bench
COMMAND ${CMAKE_SOURCE_DIR}/tests/benc.sh
COMMAND ${CMAKE_SOURCE_DIR}/tests/bdec.sh
DEPENDS aec_client utime
)
-ENDIF(NOT WIN32)
+ENDIF(UNIX)