mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 05:26:58 +00:00
[SHLWAPI] Use an object library to separate C & C++ compilation units
CORE-17423
This commit is contained in:
parent
3476cdae77
commit
93d741c3f4
|
@ -27,21 +27,28 @@ list(APPEND SOURCE
|
||||||
url.c)
|
url.c)
|
||||||
|
|
||||||
list(APPEND PCH_SKIP_SOURCE
|
list(APPEND PCH_SKIP_SOURCE
|
||||||
autocomp.cpp
|
|
||||||
wsprintf.c
|
wsprintf.c
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/shlwapi_stubs.c)
|
${CMAKE_CURRENT_BINARY_DIR}/shlwapi_stubs.c)
|
||||||
|
|
||||||
add_library(shlwapi MODULE
|
add_library(shlwapi MODULE
|
||||||
${SOURCE}
|
${SOURCE}
|
||||||
${PCH_SKIP_SOURCE}
|
${PCH_SKIP_SOURCE}
|
||||||
|
$<TARGET_OBJECTS:shlwapi_autocomp>
|
||||||
shlwapi.rc
|
shlwapi.rc
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/shlwapi.def)
|
${CMAKE_CURRENT_BINARY_DIR}/shlwapi.def)
|
||||||
|
|
||||||
# our C++ atlbase.h conflicts with the one from wine, so only use wine includes for C
|
# our C++ atlbase.h conflicts with the one from wine, so only use wine includes for C
|
||||||
target_include_directories(shlwapi BEFORE PRIVATE $<$<COMPILE_LANGUAGE:C>:${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine>)
|
# Unfortunately, we can't use different includes for C & C++ in VS generator, so use an object library to achieve this
|
||||||
|
target_include_directories(shlwapi BEFORE PRIVATE ${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)
|
||||||
|
|
||||||
|
add_library(shlwapi_autocomp OBJECT autocomp.cpp)
|
||||||
|
target_link_libraries(shlwapi_autocomp PRIVATE atl_classes)
|
||||||
|
target_compile_definitions(shlwapi_autocomp PRIVATE $<TARGET_PROPERTY:shlwapi,COMPILE_DEFINITIONS>)
|
||||||
|
target_compile_options(shlwapi_autocomp PRIVATE $<TARGET_PROPERTY:shlwapi,COMPILE_OPTIONS>)
|
||||||
|
add_dependencies(shlwapi_autocomp psdk)
|
||||||
|
|
||||||
set_module_type(shlwapi win32dll UNICODE)
|
set_module_type(shlwapi win32dll UNICODE)
|
||||||
target_link_libraries(shlwapi uuid wine cpprt atl_classes)
|
target_link_libraries(shlwapi uuid wine cpprt)
|
||||||
add_delay_importlibs(shlwapi userenv oleaut32 ole32 comdlg32 mpr mlang urlmon shell32 winmm version)
|
add_delay_importlibs(shlwapi userenv oleaut32 ole32 comdlg32 mpr mlang urlmon shell32 winmm version)
|
||||||
add_importlibs(shlwapi user32 gdi32 advapi32 wininet msvcrt kernel32 ntdll)
|
add_importlibs(shlwapi user32 gdi32 advapi32 wininet msvcrt kernel32 ntdll)
|
||||||
add_pch(shlwapi precomp.h "${PCH_SKIP_SOURCE}")
|
add_pch(shlwapi precomp.h "${PCH_SKIP_SOURCE}")
|
||||||
|
|
Loading…
Reference in a new issue