# ElektraPackaging needs to be included first (sets PACKAGE_ variables)

include (CMakePackageConfigHelpers)

# cmake settings for use by find_package
if (BUILD_SHARED)
	set (Elektra_LIBRARIES "elektra-kdb elektra-core")
	set (ElektraHighlevel_LIBRARIES "elektra-highlevel")
	set (ElektraCodegen_LIBRARIES "elektra-highlevel elektra-opts elektra-invoke")
	set (Elektra_BUILD_TYPE "shared")
elseif (BUILD_FULL)
	set (Elektra_LIBRARIES "elektra-full")
	set (ElektraHighlevel_LIBRARIES "elektra-full")
	set (ElektraCodegen_LIBRARIES "elektra-full")
	set (Elektra_BUILD_TYPE "full")
elseif (BUILD_STATIC)
	set (Elektra_LIBRARIES "elektra-static")
	set (ElektraHighlevel_LIBRARIES "elektra-static")
	set (ElektraCodegen_LIBRARIES "elektra-static")
	set (Elektra_BUILD_TYPE "static")
endif ()
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/ElektraConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/ElektraConfig.cmake" @ONLY)

write_basic_package_version_file ("${CMAKE_CURRENT_BINARY_DIR}/ElektraConfigVersion.cmake"
				  VERSION ${KDB_VERSION}
				  COMPATIBILITY AnyNewerVersion)

install (FILES "${CMAKE_CURRENT_BINARY_DIR}/ElektraConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/ElektraConfigVersion.cmake"
	 DESTINATION ${TARGET_CMAKE_FOLDER})

# pkg-config files
if (BUILD_SHARED)
	set (PACKAGE_LIBS "-lelektra-kdb -lelektra-core")
	set (PACKAGE_BUILD_TYPE "shared")
elseif (BUILD_FULL)
	set (PACKAGE_LIBS "-lelektra-full")
	set (PACKAGE_BUILD_TYPE "full")
elseif (BUILD_STATIC)
	set (PACKAGE_LIBS "-lelektra-static")
	set (PACKAGE_BUILD_TYPE "static")
endif ()
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/elektra.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/elektra.pc" @ONLY)

install (FILES "${CMAKE_CURRENT_BINARY_DIR}/elektra.pc" DESTINATION lib${LIB_SUFFIX}/${TARGET_PKGCONFIG_FOLDER})

add_custom_target (uninstall
		   COMMAND "${CMAKE_COMMAND}"
			   -D
			   KDB_VERSION=${KDB_VERSION}
			   -D
			   CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
			   -D
			   CMAKE_FIND_LIBRARY_PREFIXES=${CMAKE_FIND_LIBRARY_PREFIXES}
			   -D
			   CMAKE_FIND_LIBRARY_SUFFIXES=${CMAKE_FIND_LIBRARY_SUFFIXES}
			   -P
			   "${CMAKE_CURRENT_SOURCE_DIR}/ElektraUninstall.cmake"
		   WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
		   COMMENT "Uninstalling Elektra from system or DESTDIR")
