MACRO(add_pch _target_name _header_filename _src_list)\r
get_filename_component(FILE ${_header_filename} NAME)\r
set(_gch_filename "${_target_name}_${FILE}.gch")\r
- list(APPEND ${_src_list} ${_gch_filename})\r
- _PCH_GET_COMPILE_FLAGS(${_target_name} _args ${_header_filename})\r
- file(REMOVE ${_gch_filename})\r
add_custom_command(\r
OUTPUT ${_gch_filename}\r
- COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1} ${_args}\r
+ COMMAND echo Ignoring precompiled header\r
DEPENDS ${_header_filename})\r
ENDMACRO(add_pch _target_name _header_filename _src_list)\r
\r
\r
macro(set_entrypoint MODULE ENTRYPOINT)\r
if(${ENTRYPOINT} STREQUAL "0")\r
- add_linkerflag(${MODULE} "/ENTRY:0")\r
+ add_linkerflag(${MODULE} "/NOENTRY")\r
else()\r
add_linkerflag(${MODULE} "/ENTRY:${ENTRYPOINT}")\r
endif()\r
else()\r
target_link_libraries(${MODULE} mingw_main)\r
endif()\r
- target_link_libraries(${MODULE} mingw_common)\r
+ target_link_libraries(${MODULE} mingw_common msvcsup)\r
endif ()\r
if (${TYPE} MATCHES win32cui)\r
set_subsystem(${MODULE} console)\r
else()\r
target_link_libraries(${MODULE} mingw_main)\r
endif()\r
- target_link_libraries(${MODULE} mingw_common)\r
+ target_link_libraries(${MODULE} mingw_common msvcsup)\r
endif ()\r
if(${TYPE} MATCHES win32dll)\r
# Need this only because mingw library is broken\r
else()\r
message(STATUS "${MODULE} has no base address")\r
endif()\r
- target_link_libraries(${MODULE} mingw_common mingw_dllmain)\r
+ target_link_libraries(${MODULE} mingw_common mingw_dllmain msvcsup)\r
add_linkerflag(${MODULE} "/DLL")\r
endif()\r
if(${TYPE} MATCHES win32ocx)\r
- set_entrypoint(${MODULE} DllMain@12)\r
+ set_entrypoint(${MODULE} DllMainCRTStartup@12)\r
set_target_properties(${MODULE} PROPERTIES SUFFIX ".ocx")\r
+ target_link_libraries(${MODULE} mingw_common mingw_dllmain msvcsup)\r
+ add_linkerflag(${MODULE} "/DLL")\r
endif()\r
if(${TYPE} MATCHES cpl)\r
- set_entrypoint(${MODULE} DllMain@12)\r
+ set_entrypoint(${MODULE} DllMainCRTStartup@12)\r
set_target_properties(${MODULE} PROPERTIES SUFFIX ".cpl")\r
+ target_link_libraries(${MODULE} mingw_common mingw_dllmain msvcsup)\r
+ add_linkerflag(${MODULE} "/DLL")\r
endif()\r
if(${TYPE} MATCHES kernelmodedriver)\r
set_target_properties(${MODULE} PROPERTIES SUFFIX ".sys")\r
set_entrypoint(${MODULE} DriverEntry@8)\r
set_subsystem(${MODULE} native)\r
set_image_base(${MODULE} 0x00010000)\r
+ add_linkerflag(${MODULE} "/DRIVER")\r
add_dependencies(${MODULE} bugcodes)\r
endif()\r
\r
\r
#idl files support\r
set(IDL_COMPILER midl)\r
-set(IDL_FLAGS /win32 /Dstrict_context_handle=)\r
+set(IDL_FLAGS /win32 /DIEnumVARIANT=IEnumXVARIANT)\r
set(IDL_HEADER_ARG /h) #.h\r
set(IDL_TYPELIB_ARG /tlb) #.tlb\r
set(IDL_SERVER_ARG /sstub) #.c for stub server library\r
# Assemble the file\r
add_custom_command(\r
OUTPUT ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.obj\r
- COMMAND ${CMAKE_ASM_COMPILER} /NOLOGO /Fo${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.obj /c /Ta ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.asm\r
+ COMMAND ${CMAKE_ASM_COMPILER} /nologo /Fo${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.obj /c /Ta ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.asm\r
DEPENDS "${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.asm"\r
)\r
\r