diff --git a/src/IhtaAddLibrary.cmake b/src/IhtaAddLibrary.cmake
index 46197f70cacd0dbd0631c0b92e2a44ebec0c441a..b00bcb3560ffca130790e0a2c5a077011471749e 100644
--- a/src/IhtaAddLibrary.cmake
+++ b/src/IhtaAddLibrary.cmake
@@ -70,7 +70,38 @@ macro (ihta_add_library)
 	endif ()
 
 	if (IHTA_ADD_LIB_TEST_INPLACE OR IHTA_ADD_LIB_TEST_INTERNALS)
-		# todo
+		set (IHTA_ADD_LIB_TARGET ${IHTA_ADD_LIB_NAME}${IHTA_ADD_LIB_OBJECT_LIB_POSTFIX})
+
+		# Create an object library
+		add_library (${IHTA_ADD_LIB_TARGET} OBJECT "")
+
+		target_sources (${IHTA_ADD_LIB_TARGET} PRIVATE ${IHTA_ADD_LIB_SOURCES})
+
+		# Add compile definition for the export header generated by cmake's generate_export_header. For example used in packageProject.
+		if (${IHTA_ADD_LIB_LIBRARY_TYPE} MATCHES "STATIC")
+			target_compile_definitions (${IHTA_ADD_LIB_TARGET} PUBLIC ${IHTA_ADD_LIB_NAME}_STATIC_DEFINE)
+		else ()
+			target_compile_definitions (${IHTA_ADD_LIB_TARGET} PUBLIC ${IHTA_ADD_LIB_NAME}_EXPORTS)
+		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_NAMESPACE}::${IHTA_ADD_LIB_NAME} ALIAS ${IHTA_ADD_LIB_NAME})
+
+		# Include Directory
+		target_include_directories (
+			${IHTA_ADD_LIB_NAME}
+			PUBLIC $<BUILD_INTERFACE:${IHTA_ADD_LIB_INCLUDE_DIR}>
+				   $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${IHTA_ADD_LIB_INSTALL_INCLUDE_DIR}>
+		)
+
+		# Required compiler features
+		target_compile_features (${IHTA_ADD_LIB_NAME} PUBLIC cxx_std_17)
+
+		# If build out of parent project, add parent folder library to parent project folder
+		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 ()
 	else ()
 		set (IHTA_ADD_LIB_TARGET ${IHTA_ADD_LIB_NAME})