2025-03-09 03:05:13 +00:00
|
|
|
cmake_minimum_required(VERSION 3.22)
|
2025-03-09 03:31:39 +00:00
|
|
|
project(info_module)
|
2025-03-09 03:05:13 +00:00
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
2025-03-09 03:31:39 +00:00
|
|
|
|
|
|
|
# Set output directory for standalone builds
|
|
|
|
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|
|
|
set(MODULE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/modules")
|
|
|
|
set(DPM_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")
|
|
|
|
else()
|
|
|
|
set(MODULE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/modules")
|
|
|
|
set(DPM_ROOT_DIR "${CMAKE_SOURCE_DIR}")
|
|
|
|
endif()
|
2025-03-09 03:05:13 +00:00
|
|
|
|
|
|
|
# Create output directory
|
2025-03-09 03:31:39 +00:00
|
|
|
file(MAKE_DIRECTORY ${MODULE_OUTPUT_DIR})
|
2025-03-09 03:05:13 +00:00
|
|
|
|
2025-03-09 03:31:39 +00:00
|
|
|
# Create shared library
|
2025-03-09 03:05:13 +00:00
|
|
|
add_library(info MODULE
|
|
|
|
info.cpp
|
|
|
|
src/infoFuncs.cpp
|
|
|
|
)
|
|
|
|
|
2025-03-09 03:31:39 +00:00
|
|
|
# Set output properties
|
2025-03-09 03:05:13 +00:00
|
|
|
set_target_properties(
|
|
|
|
info PROPERTIES
|
|
|
|
PREFIX ""
|
|
|
|
SUFFIX ".so"
|
2025-03-09 03:31:39 +00:00
|
|
|
LIBRARY_OUTPUT_DIRECTORY "${MODULE_OUTPUT_DIR}"
|
2025-03-09 03:05:13 +00:00
|
|
|
)
|
|
|
|
|
2025-03-09 03:31:39 +00:00
|
|
|
# Include directories
|
2025-03-09 03:05:13 +00:00
|
|
|
target_include_directories(info PRIVATE
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
2025-03-09 03:31:39 +00:00
|
|
|
${DPM_ROOT_DIR}
|
2025-03-09 03:05:13 +00:00
|
|
|
)
|