mirror of
https://github.com/reactos/reactos.git
synced 2024-07-12 07:35:10 +00:00
d6ea8659c8
Instead of messing with global variables and the like, we introduce two target properties: - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions - WITH_CXX_RTTI: if you need RTTI in your module You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments We also introduce two libraries : - cpprt: for C++ runtime routines - cppstl: for the C++ standard template library NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++ Finally, we manage the relevant flags with the ad-hoc generator expressions So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
59 lines
1.5 KiB
CMake
59 lines
1.5 KiB
CMake
|
|
add_definitions(
|
|
-D_ATL_NO_EXCEPTIONS)
|
|
|
|
spec2def(shell32_apitest.exe shell32_apitest.spec)
|
|
|
|
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl)
|
|
|
|
list(APPEND SOURCE
|
|
AddCommas.cpp
|
|
CFSFolder.cpp
|
|
CheckEscapes.cpp
|
|
CIDLData.cpp
|
|
CMyComputer.cpp
|
|
CShellDesktop.cpp
|
|
CShellLink.cpp
|
|
CUserNotification.cpp
|
|
Control_RunDLLW.cpp
|
|
DragDrop.cpp
|
|
ExtractIconEx.cpp
|
|
IShellFolderViewCB.cpp
|
|
OpenAs_RunDLL.cpp
|
|
PathResolve.cpp
|
|
SHAppBarMessage.cpp
|
|
SHChangeNotify.cpp
|
|
SHCreateDataObject.cpp
|
|
SHCreateFileExtractIconW.cpp
|
|
SHParseDisplayName.cpp
|
|
ShellExecCmdLine.cpp
|
|
ShellExecuteEx.cpp
|
|
ShellExecuteW.cpp
|
|
ShellHook.cpp
|
|
ShellState.cpp
|
|
SHLimitInputEdit.cpp
|
|
menu.cpp
|
|
shelltest.cpp)
|
|
|
|
list(APPEND PCH_SKIP_SOURCE
|
|
testlist.c)
|
|
|
|
add_executable(shell32_apitest
|
|
${SOURCE}
|
|
${PCH_SKIP_SOURCE}
|
|
resource.rc
|
|
${CMAKE_CURRENT_BINARY_DIR}/shell32_apitest.def)
|
|
|
|
target_link_libraries(shell32_apitest wine uuid ${PSEH_LIB} cpprt)
|
|
set_module_type(shell32_apitest win32cui)
|
|
add_importlibs(shell32_apitest user32 gdi32 shell32 ole32 oleaut32 advapi32 shlwapi msvcrt kernel32 ntdll)
|
|
add_pch(shell32_apitest shelltest.h "${PCH_SKIP_SOURCE}")
|
|
add_rostests_file(TARGET shell32_apitest)
|
|
|
|
# shell-notify.exe
|
|
add_executable(shell-notify shell-notify.cpp)
|
|
target_link_libraries(shell-notify cpprt)
|
|
set_module_type(shell-notify win32gui UNICODE)
|
|
add_importlibs(shell-notify msvcrt kernel32 user32 shell32 shlwapi ole32)
|
|
add_rostests_file(TARGET shell-notify SUBDIR testdata)
|