DPM-Core/modules/info/CMakeLists.txt

36 lines
882 B
CMake

cmake_minimum_required(VERSION 3.22)
project(info_module)
set(CMAKE_CXX_STANDARD 20)
# 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()
# Create output directory
file(MAKE_DIRECTORY ${MODULE_OUTPUT_DIR})
# Create shared library
add_library(info MODULE
info.cpp
src/infoFuncs.cpp
)
# Set output properties
set_target_properties(
info PROPERTIES
PREFIX ""
SUFFIX ".so"
LIBRARY_OUTPUT_DIRECTORY "${MODULE_OUTPUT_DIR}"
)
# Include directories
target_include_directories(info PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${DPM_ROOT_DIR}
)