diff --git a/src/IhtaAddLibrary.cmake b/src/IhtaAddLibrary.cmake
index e04af17d0b5df75a5a6100bba65b94037b893934..f45cb6ce95d9308627b9c1752dbe89cfbafbc753 100644
--- a/src/IhtaAddLibrary.cmake
+++ b/src/IhtaAddLibrary.cmake
@@ -184,7 +184,9 @@ macro (ihta_add_library)
 		endif ()
 
 		# Add the actual library target
-		add_library (${IHTA_ADD_LIB_NAME} ${IHTA_ADD_LIB_LIBRARY_TYPE} $<TARGET_OBJECTS:${IHTA_ADD_LIB_TARGET}>)
+		add_library (${IHTA_ADD_LIB_NAME} ${IHTA_ADD_LIB_LIBRARY_TYPE} "")
+		target_link_libraries (${IHTA_ADD_LIB_NAME} PUBLIC ${IHTA_ADD_LIB_TARGET})
+
 		add_library (${IHTA_ADD_LIB_NAMESPACE}::${IHTA_ADD_LIB_NAME} ALIAS ${IHTA_ADD_LIB_NAME})
 
 		# Include Directory
@@ -201,6 +203,13 @@ macro (ihta_add_library)
 		if (NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
 			set_property (TARGET ${IHTA_ADD_LIB_NAME} PROPERTY FOLDER ${IHTA_ADD_LIB_IDE_FOLDER})
 		endif ()
+
+		# install the object library so it's in the export set, see:
+		# https://gitlab.kitware.com/cmake/cmake/-/issues/18935
+		install (TARGETS ${IHTA_ADD_LIB_TARGET} EXPORT ${IHTA_ADD_LIB_NAME}Targets # Adapt this in case package project
+				 # is *not* used!
+		)
+
 	else ()
 		set (IHTA_ADD_LIB_TARGET ${IHTA_ADD_LIB_NAME})
 
@@ -234,10 +243,12 @@ macro (ihta_add_library)
 			ihta_add_test (
 				NAME ${IHTA_ADD_LIB_TEST_TARGET}
 				IDE_FOLDER ${IHTA_ADD_LIB_IDE_FOLDER}
-				SOURCES ${IHTA_ADD_LIB_TEST_SOURCES} $<TARGET_OBJECTS:${IHTA_ADD_LIB_TARGET}>
+				SOURCES ${IHTA_ADD_LIB_TEST_SOURCES}
 				COV_SOURCES ${IHTA_ADD_LIB_INCLUDE_DIR} ${IHTA_ADD_LIB_SRC_DIR}
 			)
 
+			target_link_libraries (${IHTA_ADD_LIB_TEST_TARGET} PUBLIC ${IHTA_ADD_LIB_TARGET})
+
 			target_include_directories (
 				${IHTA_ADD_LIB_TEST_TARGET}
 				PUBLIC $<BUILD_INTERFACE:${IHTA_ADD_LIB_INCLUDE_DIR}>