mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 22:16:04 +00:00
[CMAKE] Use an INTERFACE library to perform the msvcrt <-> msvcrtex binding
This commit is contained in:
parent
bada20a361
commit
23e04ae1ee
3 changed files with 14 additions and 9 deletions
|
@ -531,13 +531,7 @@ endif()
|
|||
function(add_importlibs _module)
|
||||
add_dependency_node(${_module})
|
||||
foreach(LIB ${ARGN})
|
||||
if("${LIB}" MATCHES "msvcrt")
|
||||
target_compile_definitions(${_module} PRIVATE _DLL __USE_CRTIMP)
|
||||
# set_module_type might not have been called at this point, so use a generator expression
|
||||
target_link_libraries(${_module} "$<$<IN_LIST:$<TARGET_PROPERTY:${_module},REACTOS_MODULE_TYPE>,win32gui;win32cui;win32dll;win32ocx;cpl>:msvcrtex>")
|
||||
endif()
|
||||
target_link_libraries(${_module} lib${LIB})
|
||||
add_dependencies(${_module} lib${LIB})
|
||||
add_dependency_edge(${_module} ${LIB})
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
|
|
@ -96,6 +96,9 @@ add_asm_files(msvcrtex_asm ${MSVCRTEX_ASM_SOURCE})
|
|||
add_library(msvcrtex ${MSVCRTEX_SOURCE} ${msvcrtex_asm})
|
||||
target_compile_definitions(msvcrtex PRIVATE _DLL _MSVCRTEX_)
|
||||
|
||||
# Link msvcrtex to the "real" msvcrt.dll library. See msvcrt.dll CMakeLists.txt to see what really happens here
|
||||
target_link_libraries(msvcrtex libmsvcrt_real libkernel32)
|
||||
|
||||
if(GCC OR CLANG)
|
||||
target_compile_options(msvcrtex PRIVATE $<$<COMPILE_LANGUAGE:C>:-Wno-main>)
|
||||
if(LTCG)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue