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
${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)
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"
set_target_properties(${EXE_NAME} PROPERTIES
DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
-if(MSVC)
- if(NOT BUILD_RELEASE_DEBUG_DIRS)
- # Ugly workaround to remove the "/debug" or "/release" in each output
- set_target_properties(${EXE_NAME} PROPERTIES PREFIX "../")
- endif()
-endif()
-
#INCLUDE(ModuleInstall OPTIONAL)
install(TARGETS ${EXE_NAME} DESTINATION bin)
set_target_properties(${TEST_NAME}
PROPERTIES DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
- if(MSVC)
- if(NOT BUILD_RELEASE_DEBUG_DIRS)
- # Ugly workaround to remove the "/debug" or "/release" in each output
- set_target_properties(${TEST_NAME} PROPERTIES PREFIX "../")
- set_target_properties(${TEST_NAME} PROPERTIES IMPORT_PREFIX "../")
- endif()
- endif()
-
endfunction()
set_target_properties(${TEST_NAME} PROPERTIES
DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
- if(MSVC)
- if(NOT BUILD_RELEASE_DEBUG_DIRS)
- # Ugly workaround to remove the "/debug" or "/release" in each output
- set_target_properties(${TEST_NAME} PROPERTIES PREFIX "../")
- set_target_properties(${TEST_NAME} PROPERTIES IMPORT_PREFIX "../")
- endif()
- endif()
-
endfunction()