This repository has been archived on 2024-08-13. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
libcyberiadaml/CMakeLists.txt
2024-07-09 16:00:04 +07:00

40 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.12)
project(cyberiadaml VERSION 1.0)
include(cmake/CPM.cmake)
CPMUsePackageLock(package-lock.cmake)
CPMAddPackage("gh:GNOME/libxml2@2.13.2")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D__DEBUG__")
add_library(cyberiadaml SHARED cyberiadaml.c utf8enc.c cyb_types.c cyb_string.c geometry.c)
target_include_directories(cyberiadaml PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include/cyberiada>
"${LIBXML2_INCLUDE_DIR}")
target_link_directories(cyberiadaml PUBLIC "${LIBXML2_LIBRARY}")
target_link_libraries(cyberiadaml PUBLIC
"${LIBXML2_LIBRARIES}"
m)
add_executable(cyberiada_test test.c)
target_include_directories(cyberiada_test PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include/cyberiada>)
target_link_directories(cyberiada_test PUBLIC "${PROJECT_BINARY_DIR}")
target_link_libraries(cyberiada_test PUBLIC cyberiadaml)
install(TARGETS cyberiadaml DESTINATION lib EXPORT cyberiadaml)
install(FILES cyberiadaml.h ${CMAKE_CURRENT_SOURCE_DIR}/cyberiadaml.h
DESTINATION include/cyberiada)
install(EXPORT cyberiadaml DESTINATION lib/cmake)
configure_file(
${PROJECT_SOURCE_DIR}/cyberiadaml-config.cmake.in
${PROJECT_BINARY_DIR}/cyberiadaml-config.cmake @ONLY)
install(FILES ${PROJECT_BINARY_DIR}/cyberiadaml-config.cmake
DESTINATION lib/cmake)