cmake_minimum_required(VERSION 3.12) project(cyberiadaml VERSION 1.0) include(cmake/CPM.cmake) set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D__DEBUG__") CPMAddPackage("gh:GNOME/libxml2@2.13.2") add_library( cyberiadaml SHARED src/cyberiadaml.c src/utf8enc.c src/cyb_types.c src/cyb_string.c src/geometry.c ) target_include_directories(cyberiadaml PRIVATE $ $) target_link_libraries(cyberiadaml PRIVATE LibXml2::LibXml2) add_executable(cyberiada_test src/test.c) target_include_directories(cyberiada_test PRIVATE $ $) target_link_directories(cyberiada_test PRIVATE "${PROJECT_BINARY_DIR}") target_link_libraries(cyberiada_test PRIVATE 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 )