From d63277525c27c1d1d88974f0b65c0100459eb469 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Tue, 2 Nov 2010 21:31:45 +0000 Subject: [PATCH] [CMAKE] - fix add_importlib_target - fix win32dll entrypoint (we wouldn't need to specify one, if the one in mingw lib had enough underscores) svn path=/branches/cmake-bringup/; revision=49453 --- msc.cmake | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/msc.cmake b/msc.cmake index 060cd7e1c8f..d7a8c9579c7 100644 --- a/msc.cmake +++ b/msc.cmake @@ -63,7 +63,8 @@ macro(set_module_type MODULE TYPE) set_entrypoint(${MODULE} mainCRTStartup) endif () if(${TYPE} MATCHES win32dll) - set_entrypoint(${MODULE} __DllMainCRTStartup) + # Need this only because mingw library is broken + set_entrypoint(${MODULE} DllMainCRTStartup@12) if(DEFINED baseaddress_${MODULE}) set_image_base(${MODULE} ${baseaddress_${MODULE}}) else() @@ -96,16 +97,21 @@ set(IDL_CLIENT_ARG /cstub) #.c for stub client library macro(add_importlib_target _def_file) get_filename_component(_name ${_def_file} NAME_WE) + add_custom_command( + OUTPUT {CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib + COMMAND LINK /LIB /MACHINE:X86 /DEF:${_def_file} /OUT:${CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib + DEPENDS ${_def_file} + ) add_custom_target( lib${_name} - COMMAND LINK /LIB /MACHINE:X86 /DEF:${CMAKE_CURRENT_BINARY_DIR}/${_file}.def /OUT:${CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib - DEPENDS ${_def_file}) + DEPENDS {CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib + ) endmacro() macro(add_importlibs MODULE) foreach(LIB ${ARGN}) target_link_libraries(${MODULE} ${CMAKE_BINARY_DIR}/importlibs/lib${LIB}.lib) - #add_dependencies(${MODULE} lib${LIB}) + add_dependencies(${MODULE} lib${LIB}) endforeach() endmacro() -- 2.17.1