diff --git a/cmake/SetupXercesC.cmake b/cmake/SetupXercesC.cmake
index 16e0db055b80e2be6e9196d1106da724caab1549..ff8ef4c5f928560ef32c10c86356a254afe3d014 100644
--- a/cmake/SetupXercesC.cmake
+++ b/cmake/SetupXercesC.cmake
@@ -39,7 +39,7 @@ if(GEOMODEL_USE_BUILTIN_XERCESC)
     INSTALL_COMMAND make install
       COMMAND ${CMAKE_COMMAND} -E remove -f "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/XercesCInstall/lib/${CMAKE_SHARED_LIBRARY_PREFIX}xerces-c.la"
       COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/XercesCInstall/lib/pkgconfig"
-    BUILD_BYPRODUCTS "${XercesC_INCLUDE_DIR}" )
+    BUILD_BYPRODUCTS "${XercesC_INCLUDE_DIR}" "${XercesC_LIBRARY}"  )
   
     install(DIRECTORY
      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/XercesCInstall/bin"
@@ -53,7 +53,7 @@ if(GEOMODEL_USE_BUILTIN_XERCESC)
     USE_SOURCE_PERMISSIONS )
 
   # Set up local XercesC "imported" target.
-  add_library(XercesC::XercesC UNKNOWN IMPORTED)
+  add_library(XercesC::XercesC SHARED IMPORTED)
   set_target_properties( XercesC::XercesC PROPERTIES
     INTERFACE_INCLUDE_DIRECTORIES "${XercesC_INCLUDE_DIR}"
     IMPORTED_LOCATION "${XercesC_LIBRARY}")