diff --git a/msc.cmake b/msc.cmake index 9317ac62120..08bfeaecc3f 100644 --- a/msc.cmake +++ b/msc.cmake @@ -71,7 +71,7 @@ macro(set_module_type MODULE TYPE) else() target_link_libraries(${MODULE} mingw_main) endif() - target_link_libraries(${MODULE} mingw_common) + target_link_libraries(${MODULE} mingw_common msvcsup) endif () if (${TYPE} MATCHES win32cui) set_subsystem(${MODULE} console) @@ -81,7 +81,7 @@ macro(set_module_type MODULE TYPE) else() target_link_libraries(${MODULE} mingw_main) endif() - target_link_libraries(${MODULE} mingw_common) + target_link_libraries(${MODULE} mingw_common msvcsup) endif () if(${TYPE} MATCHES win32dll) # Need this only because mingw library is broken @@ -91,22 +91,27 @@ macro(set_module_type MODULE TYPE) else() message(STATUS "${MODULE} has no base address") endif() - target_link_libraries(${MODULE} mingw_common mingw_dllmain) + target_link_libraries(${MODULE} mingw_common mingw_dllmain msvcsup) add_linkerflag(${MODULE} "/DLL") endif() if(${TYPE} MATCHES win32ocx) - set_entrypoint(${MODULE} DllMain@12) + set_entrypoint(${MODULE} DllMainCRTStartup@12) set_target_properties(${MODULE} PROPERTIES SUFFIX ".ocx") + target_link_libraries(${MODULE} mingw_common mingw_dllmain msvcsup) + add_linkerflag(${MODULE} "/DLL") endif() if(${TYPE} MATCHES cpl) - set_entrypoint(${MODULE} DllMain@12) + set_entrypoint(${MODULE} DllMainCRTStartup@12) set_target_properties(${MODULE} PROPERTIES SUFFIX ".cpl") + target_link_libraries(${MODULE} mingw_common mingw_dllmain msvcsup) + add_linkerflag(${MODULE} "/DLL") endif() if(${TYPE} MATCHES kernelmodedriver) set_target_properties(${MODULE} PROPERTIES SUFFIX ".sys") set_entrypoint(${MODULE} DriverEntry@8) set_subsystem(${MODULE} native) set_image_base(${MODULE} 0x00010000) + add_linkerflag(${MODULE} "/DRIVER") add_dependencies(${MODULE} bugcodes) endif()