diff options
author | Brad King <brad.king@kitware.com> | 2015-06-26 13:38:35 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-06-26 14:07:08 (GMT) |
commit | 806609c7024dbf07a639a9d77074d4bc82ae1b8a (patch) | |
tree | 9722ec7e2129e407ff10794fb5c5035c0a6a9e2f /Tests | |
parent | dcc2a7ccd4f8d9612b224d7106a4c3cfcd48e6fc (diff) | |
download | CMake-806609c7024dbf07a639a9d77074d4bc82ae1b8a.zip CMake-806609c7024dbf07a639a9d77074d4bc82ae1b8a.tar.gz CMake-806609c7024dbf07a639a9d77074d4bc82ae1b8a.tar.bz2 |
VS: Add /machine: flag to Librarian tool (#11240)
If a Windows resource (.rc) source file is included in a STATIC library,
the VS "link" tool will process the compiled ".res" file and needs to know
the target architecture. Without it, we may get a LNK4068 warning and
possibly a LNK1112 error. Add /machine: to the default static library
flags to give the link tool the information it needs.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/VSResource/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Tests/VSResource/lib.cpp | 1 | ||||
-rw-r--r-- | Tests/VSResource/lib.rc | 4 | ||||
-rw-r--r-- | Tests/VSResource/main.cpp | 4 |
4 files changed, 11 insertions, 1 deletions
diff --git a/Tests/VSResource/CMakeLists.txt b/Tests/VSResource/CMakeLists.txt index 17eb041..3b9cfc3 100644 --- a/Tests/VSResource/CMakeLists.txt +++ b/Tests/VSResource/CMakeLists.txt @@ -46,7 +46,10 @@ else() include_directories(${CMAKE_CURRENT_BINARY_DIR}) endif() +add_library(ResourceLib STATIC lib.cpp lib.rc) + add_executable(VSResource main.cpp test.rc) +target_link_libraries(VSResource ResourceLib) set_property(TARGET VSResource PROPERTY VS_GLOBAL_CMakeTestVsGlobalVariable "test val") diff --git a/Tests/VSResource/lib.cpp b/Tests/VSResource/lib.cpp new file mode 100644 index 0000000..006e3e4 --- /dev/null +++ b/Tests/VSResource/lib.cpp @@ -0,0 +1 @@ +int lib() { return 0; } diff --git a/Tests/VSResource/lib.rc b/Tests/VSResource/lib.rc new file mode 100644 index 0000000..1ffade6 --- /dev/null +++ b/Tests/VSResource/lib.rc @@ -0,0 +1,4 @@ +STRINGTABLE +BEGIN + 1234 "5" +END diff --git a/Tests/VSResource/main.cpp b/Tests/VSResource/main.cpp index 7ee0c74..ccf700c 100644 --- a/Tests/VSResource/main.cpp +++ b/Tests/VSResource/main.cpp @@ -1,6 +1,8 @@ #include <windows.h> #include <stdio.h> +extern int lib(); + struct x { const char *txt; @@ -76,5 +78,5 @@ int main(int argc, char** argv) } } - return ret; + return ret + lib(); } |