Libxml was added from CPM
This commit is contained in:
@@ -4,27 +4,32 @@ project(cyberiadaml VERSION 1.0)
|
|||||||
|
|
||||||
include(cmake/CPM.cmake)
|
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__")
|
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)
|
CPMAddPackage("gh:GNOME/libxml2@2.13.2")
|
||||||
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)
|
add_library(
|
||||||
target_include_directories(cyberiada_test PUBLIC
|
cyberiadaml
|
||||||
|
SHARED
|
||||||
|
src/cyberiadaml.c
|
||||||
|
src/utf8enc.c
|
||||||
|
src/cyb_types.c
|
||||||
|
src/cyb_string.c
|
||||||
|
src/geometry.c
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(cyberiadaml PRIVATE
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
$<INSTALL_INTERFACE:include/cyberiada>)
|
$<INSTALL_INTERFACE:include/cyberiada>)
|
||||||
target_link_directories(cyberiada_test PUBLIC "${PROJECT_BINARY_DIR}")
|
|
||||||
target_link_libraries(cyberiada_test PUBLIC cyberiadaml)
|
target_link_libraries(cyberiadaml PRIVATE LibXml2::LibXml2)
|
||||||
|
|
||||||
|
add_executable(cyberiada_test src/test.c)
|
||||||
|
target_include_directories(cyberiada_test PRIVATE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<INSTALL_INTERFACE:include/cyberiada>)
|
||||||
|
target_link_directories(cyberiada_test PRIVATE "${PROJECT_BINARY_DIR}")
|
||||||
|
target_link_libraries(cyberiada_test PRIVATE cyberiadaml)
|
||||||
|
|
||||||
install(TARGETS cyberiadaml DESTINATION lib EXPORT cyberiadaml)
|
install(TARGETS cyberiadaml DESTINATION lib EXPORT cyberiadaml)
|
||||||
install(FILES cyberiadaml.h ${CMAKE_CURRENT_SOURCE_DIR}/cyberiadaml.h
|
install(FILES cyberiadaml.h ${CMAKE_CURRENT_SOURCE_DIR}/cyberiadaml.h
|
||||||
@@ -33,7 +38,10 @@ install(EXPORT cyberiadaml DESTINATION lib/cmake)
|
|||||||
|
|
||||||
configure_file(
|
configure_file(
|
||||||
${PROJECT_SOURCE_DIR}/cyberiadaml-config.cmake.in
|
${PROJECT_SOURCE_DIR}/cyberiadaml-config.cmake.in
|
||||||
${PROJECT_BINARY_DIR}/cyberiadaml-config.cmake @ONLY)
|
${PROJECT_BINARY_DIR}/cyberiadaml-config.cmake @ONLY
|
||||||
|
)
|
||||||
|
|
||||||
install(FILES ${PROJECT_BINARY_DIR}/cyberiadaml-config.cmake
|
install(
|
||||||
DESTINATION lib/cmake)
|
FILES ${PROJECT_BINARY_DIR}/cyberiadaml-config.cmake
|
||||||
|
DESTINATION lib/cmake
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user