summaryrefslogtreecommitdiff
path: root/portmidi/pm_win/static.cmake
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-10-07 06:50:04 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-10-07 06:50:04 +0200
commit988f5d2b5343850e19ad1512cefe6c53953aa02e (patch)
tree1ff29934294e73b2575488c06df91866ce251dbe /portmidi/pm_win/static.cmake
parent9b5839c58a2e1df8bddf6b98805998508ea417d5 (diff)
downloadttdaw-988f5d2b5343850e19ad1512cefe6c53953aa02e.tar.gz
Added bunch of examples
Diffstat (limited to 'portmidi/pm_win/static.cmake')
-rw-r--r--portmidi/pm_win/static.cmake24
1 files changed, 24 insertions, 0 deletions
diff --git a/portmidi/pm_win/static.cmake b/portmidi/pm_win/static.cmake
new file mode 100644
index 0000000..7fdad18
--- /dev/null
+++ b/portmidi/pm_win/static.cmake
@@ -0,0 +1,24 @@
1# static.cmake -- change flags to link with static runtime libraries
2#
3# Even when BUILD_SHARED_LIBS is OFF, CMake specifies linking wtih
4# multithread DLL, so you give inconsistent linking instructions
5# resulting in warning messages from MS Visual Studio. If you want
6# a static binary, I've found this approach works to eliminate
7# warnings and make everything static:
8#
9# Changes /MD (multithread DLL) to /MT (multithread static)
10
11if(MSVC)
12 foreach(flag_var
13 CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
14 CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
15 CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
16 CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
17 if(${flag_var} MATCHES "/MD")
18 string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
19 endif(${flag_var} MATCHES "/MD")
20 endforeach(flag_var)
21
22 message(STATUS
23 "Note: overriding CMAKE_*_FLAGS_* to use Visual C static multithread library")
24endif(MSVC)