reactos/modules/rostests/apitests/shell32/CMakeLists.txt
Jérôme Gardou d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
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
2020-10-20 21:44:54 +02:00

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)