diff options
author | Sergei Nikulov <sergey.nikulov@gmail.com> | 2013-07-09 19:20:41 +0400 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2013-07-17 00:26:58 +0200 |
commit | 448d55ef0a2d6a0d8a18778f6d6a6a432d05bbb6 (patch) | |
tree | 8584320def19a2624259c29dd22141c6dc3391c9 | |
parent | 7b115cc1e16435b35d5b3bd8d3ca205c18438ecc (diff) |
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
-rw-r--r-- | lib/CMakeLists.txt | 12 | ||||
-rw-r--r-- | src/CMakeLists.txt | 7 | ||||
-rw-r--r-- | tests/libtest/CMakeLists.txt | 8 | ||||
-rw-r--r-- | tests/server/CMakeLists.txt | 8 |
4 files changed, 4 insertions, 31 deletions
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" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bda835779..0b4556f2c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -46,13 +46,6 @@ target_link_libraries( ${EXE_NAME} libcurl ) 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) diff --git a/tests/libtest/CMakeLists.txt b/tests/libtest/CMakeLists.txt index 733cdd31b..c06b35619 100644 --- a/tests/libtest/CMakeLists.txt +++ b/tests/libtest/CMakeLists.txt @@ -25,14 +25,6 @@ function(SETUP_TEST TEST_NAME) # ARGN are the files in the test 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() diff --git a/tests/server/CMakeLists.txt b/tests/server/CMakeLists.txt index cc5b3e044..ee08345f8 100644 --- a/tests/server/CMakeLists.txt +++ b/tests/server/CMakeLists.txt @@ -33,14 +33,6 @@ function(SETUP_EXECUTABLE TEST_NAME) # ARGN are the files in the test 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() |