Files
Adminive/backend/library/CMakeLists.txt
T
2026-08-08 11:19:34 +08:00

27 lines
1.4 KiB
CMake

set(adminive_library_include_dir "${CMAKE_CURRENT_LIST_DIR}/include")
add_library(Adminive INTERFACE)
set_target_properties(Adminive PROPERTIES EXPORT_NAME Core)
add_library(Adminive::Adminive ALIAS Adminive)
add_library(Adminive::Core ALIAS Adminive)
add_library(Adminive::Http ALIAS Adminive)
target_include_directories(Adminive INTERFACE "$<BUILD_INTERFACE:${adminive_library_include_dir}>" "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
target_compile_features(Adminive INTERFACE cxx_std_20)
target_link_libraries(Adminive INTERFACE "$<BUILD_INTERFACE:structive::property_core>")
if (MSVC)
target_compile_options(Adminive INTERFACE /utf-8 /Zc:__cplusplus /bigobj)
if (ADMINIVE_PROPAGATE_MSVC_STRICT_MODE)
target_compile_options(Adminive INTERFACE /permissive-)
endif ()
endif ()
if (BUILD_TESTING)
add_executable(Adminive_Core_Adapter_Test "${CMAKE_CURRENT_LIST_DIR}/tests/core_adapter_test.cpp")
target_link_libraries(Adminive_Core_Adapter_Test PRIVATE Adminive::Core)
add_test(NAME Adminive_Core_Adapter_Test COMMAND Adminive_Core_Adapter_Test)
if (MSVC)
target_compile_options(Adminive_Core_Adapter_Test PRIVATE /permissive-)
endif ()
endif ()
install(TARGETS Adminive EXPORT AdminiveCoreTargets)
install(DIRECTORY "${adminive_library_include_dir}/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/../../third_party/Structive/core/include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")