2025-03-27 04:14:47 +00:00
|
|
|
cmake_minimum_required(VERSION 3.22)
|
|
|
|
project(verify_module)
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
|
|
|
|
# Set DPM_ROOT_DIR based on whether this is a standalone build or part of the main build
|
|
|
|
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|
|
|
set(DPM_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")
|
|
|
|
else()
|
|
|
|
set(DPM_ROOT_DIR "${CMAKE_SOURCE_DIR}")
|
|
|
|
endif()
|
|
|
|
|
2025-03-29 02:04:27 +00:00
|
|
|
# Create shared library - add CommonModuleAPI.cpp to the sources
|
2025-03-27 04:14:47 +00:00
|
|
|
add_library(verify MODULE
|
|
|
|
verify.cpp
|
2025-03-31 02:56:13 +00:00
|
|
|
src/commands.cpp
|
|
|
|
${DPM_ROOT_DIR}/dpmdk/src/CommonModuleAPI.cpp
|
|
|
|
src/cli_parsers.cpp
|
|
|
|
src/verification.cpp
|
2025-03-27 04:14:47 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
# Set output properties
|
|
|
|
set_target_properties(
|
|
|
|
verify PROPERTIES
|
|
|
|
PREFIX ""
|
|
|
|
SUFFIX ".so"
|
|
|
|
)
|
|
|
|
|
|
|
|
# Include directories
|
|
|
|
target_include_directories(verify PRIVATE
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
|
|
${DPM_ROOT_DIR}
|
2025-03-31 02:56:13 +00:00
|
|
|
${DPM_ROOT_DIR}/dpmdk/include
|
2025-03-27 04:14:47 +00:00
|
|
|
)
|
|
|
|
|
2025-03-29 02:04:27 +00:00
|
|
|
# Link with required libraries
|
|
|
|
target_link_libraries(verify dl)
|
|
|
|
|
2025-03-27 04:14:47 +00:00
|
|
|
# Standalone version - used for debugging
|
|
|
|
add_executable(verify_standalone
|
|
|
|
verify.cpp
|
2025-03-31 02:56:13 +00:00
|
|
|
src/commands.cpp
|
|
|
|
${DPM_ROOT_DIR}/dpmdk/src/CommonModuleAPI.cpp
|
|
|
|
src/cli_parsers.cpp
|
|
|
|
src/verification.cpp
|
2025-03-27 04:14:47 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
# Define the BUILD_STANDALONE macro for the standalone build
|
|
|
|
target_compile_definitions(verify_standalone PRIVATE BUILD_STANDALONE)
|
|
|
|
|
|
|
|
# Include directories for standalone
|
|
|
|
target_include_directories(verify_standalone PRIVATE
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
|
|
${DPM_ROOT_DIR}
|
2025-03-31 02:56:13 +00:00
|
|
|
${DPM_ROOT_DIR}/dpmdk/include
|
2025-03-27 04:14:47 +00:00
|
|
|
)
|
|
|
|
|
2025-03-29 02:04:27 +00:00
|
|
|
# Link with required libraries for standalone too
|
|
|
|
target_link_libraries(verify_standalone dl)
|
|
|
|
|
2025-03-27 04:14:47 +00:00
|
|
|
# Set the output name for the standalone executable
|
|
|
|
set_target_properties(
|
|
|
|
verify_standalone PROPERTIES
|
|
|
|
OUTPUT_NAME "verify_debug"
|
2025-03-31 02:56:13 +00:00
|
|
|
)
|