From 448d55ef0a2d6a0d8a18778f6d6a6a432d05bbb6 Mon Sep 17 00:00:00 2001 From: Sergei Nikulov Date: Tue, 9 Jul 2013 19:20:41 +0400 Subject: cmake: Fix for MSVC2010 project generation Fixed issue with static build for MSVC2010. After some investigation I've discovered known issue http://public.kitware.com/Bug/view.php?id=11240 When .rc file is linked to static lib it fails with following linker error LINK : warning LNK4068: /MACHINE not specified; defaulting to X86 file.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' Fix add target property /MACHINE: for MSVC generation. Also removed old workarounds - it caused errors during msvc build. Bug: http://curl.haxx.se/mail/lib-2013-07/0046.html --- lib/CMakeLists.txt | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 09b976c4c..b2bcf0904 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -94,6 +94,10 @@ add_library( ${HHEADERS} ${CSOURCES} ) +if(MSVC AND CURL_STATICLIB) + set_target_properties(${LIB_NAME} PROPERTIES STATIC_LIBRARY_FLAGS ${CMAKE_EXE_LINKER_FLAGS}) +endif() + target_link_libraries(${LIB_NAME} ${CURL_LIBS}) if(WIN32) @@ -108,14 +112,6 @@ setup_curl_dependencies(${LIB_NAME}) set_target_properties(${LIB_NAME} PROPERTIES PREFIX "") set_target_properties(${LIB_NAME} PROPERTIES IMPORT_PREFIX "") -if(MSVC) - if(NOT BUILD_RELEASE_DEBUG_DIRS) - # Ugly workaround to remove the "/debug" or "/release" in each output - set_target_properties(${LIB_NAME} PROPERTIES PREFIX "../") - set_target_properties(${LIB_NAME} PROPERTIES IMPORT_PREFIX "../") - endif() -endif() - if(WIN32) if(NOT CURL_STATICLIB) # Add "_imp" as a suffix before the extension to avoid conflicting with the statically linked "libcurl.lib" -- cgit v1.2.3