From c374dab136e83915be569e240b0c8ea14c4cac58 Mon Sep 17 00:00:00 2001 From: Daniel Scharrer Date: Sat, 9 Feb 2013 07:29:35 +0100 Subject: [PATCH] Fix static build with MSVC --- CMakeLists.txt | 2 ++ cmake/FindLZMA.cmake | 5 +++++ cmake/Findiconv.cmake | 5 +++++ cmake/UseStaticLibs.cmake | 2 +- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ff703a..cf9c76f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,6 +80,7 @@ if(USE_LZMA) check_link_library(LZMA LZMA_LIBRARIES) list(APPEND LIBRARIES "${LZMA_LIBRARIES}") include_directories(SYSTEM "${LZMA_INCLUDE_DIR}") + add_definitions(${LZMA_DEFINITIONS}) set(INNOEXTRACT_HAVE_LZMA 1) else() message(WARNING "\nDisabling LZMA decompression support.\n" @@ -119,6 +120,7 @@ find_package(iconv REQUIRED) check_link_library(iconv iconv_LIBRARIES) list(APPEND LIBRARIES "${iconv_LIBRARIES}") include_directories(SYSTEM "${iconv_INCLUDE_DIR}") +add_definitions(${iconv_DEFINITIONS}) # Set compiler flags diff --git a/cmake/FindLZMA.cmake b/cmake/FindLZMA.cmake index edcdce4..10a74cd 100644 --- a/cmake/FindLZMA.cmake +++ b/cmake/FindLZMA.cmake @@ -40,6 +40,11 @@ mark_as_advanced(LZMA_LIBRARY) use_static_libs_restore() +set(LZMA_DEFINITIONS) +if(WIN32 AND LZMA_USE_STATIC_LIBS) + set(LZMA_DEFINITIONS -DLZMA_API_STATIC) +endif() + # handle the QUIETLY and REQUIRED arguments and set LZMA_FOUND to TRUE if # all listed variables are TRUE include(FindPackageHandleStandardArgs) diff --git a/cmake/Findiconv.cmake b/cmake/Findiconv.cmake index 11cff6c..dd8267d 100644 --- a/cmake/Findiconv.cmake +++ b/cmake/Findiconv.cmake @@ -60,6 +60,11 @@ mark_as_advanced(iconv_LIBRARY) use_static_libs_restore() +set(iconv_DEFINITIONS) +if(WIN32 AND iconv_USE_STATIC_LIBS) + set(iconv_DEFINITIONS -DLIBICONV_STATIC) +endif() + # handle the QUIETLY and REQUIRED arguments and set iconv_FOUND to TRUE if # all listed variables are TRUE include(FindPackageHandleStandardArgs) diff --git a/cmake/UseStaticLibs.cmake b/cmake/UseStaticLibs.cmake index 304f541..f0245bb 100644 --- a/cmake/UseStaticLibs.cmake +++ b/cmake/UseStaticLibs.cmake @@ -21,7 +21,7 @@ macro(use_static_libs ID) if(${ID}_USE_STATIC_LIBS) set(_UseStaticLibs_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) if(WIN32) - set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + set(CMAKE_FIND_LIBRARY_SUFFIXES _a.lib .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) else() set(CMAKE_FIND_LIBRARY_SUFFIXES .a) endif()