diff --git a/CMakeLists.txt b/CMakeLists.txt index e364c52..9e806e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,8 @@ endif() add_library(cyberiadaml SHARED cyberiadaml.c utf8enc.c cyb_types.c cyb_string.c) target_include_directories(cyberiadaml PUBLIC - "${CMAKE_CURRENT_SOURCE_DIR}" + $ + $ "${LIBXML2_INCLUDE_DIR}") target_link_directories(cyberiadaml PUBLIC "${LIBXML2_LIBRARY}") target_link_libraries(cyberiadaml PUBLIC @@ -17,10 +18,20 @@ target_link_libraries(cyberiadaml PUBLIC m) add_executable(cyberiada_test test.c) -target_include_directories(cyberiada_test PUBLIC "${PROJECT_BINARY_DIR}") +target_include_directories(cyberiada_test PUBLIC + $ + $) target_link_directories(cyberiada_test PUBLIC "${PROJECT_BINARY_DIR}") target_link_libraries(cyberiada_test PUBLIC cyberiadaml) -install(TARGETS cyberiadaml DESTINATION lib) +install(TARGETS cyberiadaml DESTINATION lib EXPORT cyberiadaml) install(FILES cyberiadaml.h ${CMAKE_CURRENT_SOURCE_DIR}/cyberiadaml.h - DESTINATION include/cyberiadaml) + 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) diff --git a/cyberiadaml-config.cmake.in b/cyberiadaml-config.cmake.in new file mode 100644 index 0000000..b1703af --- /dev/null +++ b/cyberiadaml-config.cmake.in @@ -0,0 +1,8 @@ +get_filename_component(_dir "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_prefix "${_dir}/../.." ABSOLUTE) + +include("${_prefix}/lib/cmake/cyberiadaml.cmake") + +set(cyberiadaml_INCLUDE_DIRS "${_prefix}/include/") +set(cyberiadaml_LIBRARY "${_prefix}/lib/") +set(cyberiadaml_LIBRARIES "cyberiadaml")