> In file included from > /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/e-util.h:266, > from > /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/test-proxy-preferences.c:18: > /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/e-webdav-browser.h:26:10: > fatal error: libedataserverui/libedataserverui.h: No such file or directory > 26 | #include <libedataserverui/libedataserverui.h> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > compilation terminated. > ninja: build stopped: subcommand failed. > > > Now I imagine that the header file inclusion parameters can be extended > somehow. > Would you like to clarify corresponding adjustment possibilities? > > How should a path like the following be automatically chosen to resolve > such a software dependency? > ~/Projekte/Test/Evolution/Service/current/home/elfring/Projekte/Test/Evolution/Service/current/include/evolution-data-server/libedataserverui/libedataserverui.h
Now I suggest to extend a build script like the following. https://gitlab.gnome.org/GNOME/evolution/-/blob/d1f4010751c65a3ac5de3919905e2f14f5f4744f/CMakeLists.txt#L271 add_printable_variable(EVOLUTION_DATA_SERVER_LIBRARY_SUBDIR "Choose a subdirectory for library files of the GNOME Evolution data server on demand" "evolution-data-server") add_printable_variable_path(EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX "Choose an installation prefix for the GNOME Evolution data server on demand" "${CMAKE_INSTALL_PREFIX}") if(EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX) if(PKG_CONFIG_USE_CMAKE_PREFIX_PATH OR CMAKE_VERSION VERSION_GREATER_EQUAL 3.1) option(EVOLUTION_DATA_SERVER_USE_STATIC_LIBRARIES "Should a configuration be used according to static libraries from the GNOME Evolution data server?" ON) cmake_policy(SET CMP0057 NEW) set(EVOLUTION_DATA_SERVER_INSTALLATION_DIR "${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}${CMAKE_BINARY_DIR}") if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST CMAKE_PREFIX_PATH) list(APPEND CMAKE_PREFIX_PATH "${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}") endif() if(CMAKE_HOST_SYSTEM_NAME EQUAL "Darwin") if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST CMAKE_FRAMEWORK_PATH) list(APPEND CMAKE_FRAMEWORK_PATH "${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}") endif() if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST CMAKE_APPBUNDLE_PATH) list(APPEND CMAKE_APPBUNDLE_PATH "${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}") endif() endif() endif() endif() pkg_check_modules(EVOLUTION_DATA_SERVER REQUIRED camel-1.2>=${eds_minimum_version} libebook-1.2>=${eds_minimum_version} libecal-2.0>=${eds_minimum_version} libedataserver-1.2>=${eds_minimum_version} libedataserverui-1.2>=${eds_minimum_version} libebackend-1.2>=${eds_minimum_version} ) if(EVOLUTION_DATA_SERVER_INSTALLATION_DIR) set(subdir "/${EVOLUTION_DATA_SERVER_LIBRARY_SUBDIR}") if(EVOLUTION_DATA_SERVER_USE_STATIC_LIBRARIES) set(pattern "(.*/include${subdir})") list(TRANSFORM EVOLUTION_DATA_SERVER_INCLUDE_DIRS REPLACE "^${pattern}$" "${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}\\1" OUTPUT_VARIABLE x) message(STATUS "Static transformation approach:\n${x}") list(TRANSFORM EVOLUTION_DATA_SERVER_CFLAGS REPLACE "^-I${pattern}$" "-I${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}\\1" OUTPUT_VARIABLE y) else() set(pattern # "(${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}.*/include(?!${subdir}))" "(${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}.*/include)" ) list(TRANSFORM EVOLUTION_DATA_SERVER_INCLUDE_DIRS REPLACE "^${pattern}$" "\\1${subdir}" OUTPUT_VARIABLE x) message(STATUS "Dynamic transformation approach:\n${x}") list(TRANSFORM EVOLUTION_DATA_SERVER_CFLAGS REPLACE "^-I${pattern}$" "-I\\1${subdir}" OUTPUT_VARIABLE y) endif() if(EVOLUTION_DATA_SERVER_INCLUDE_DIRS EQUAL x) message(FATAL_ERROR "An adjustment approach failed for the variable “EVOLUTION_DATA_SERVER_INCLUDE_DIRS”.\nPlease check the corresponding dependencies once more.") endif() if(EVOLUTION_DATA_SERVER_CFLAGS EQUAL y) message(FATAL_ERROR "An adjustment approach failed for the variable “EVOLUTION_DATA_SERVER_CFLAGS”.\nPlease check the corresponding dependencies once more.") endif() else() set(x "${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}") set(y "${EVOLUTION_DATA_SERVER_CFLAGS}") endif() set(EVOLUTION_DATA_SERVER_CFLAGS_SELECTION "${y}" CACHE INTERNAL "Selection of compilation parameters") set(EVOLUTION_DATA_SERVER_INCLUDE_DIRS_SELECTION "${x}" CACHE INTERNAL "Selection of directories for file inclusion") How do you think about to take further software extension possibilities into account here? Regards, Markus _______________________________________________ evolution-hackers mailing list [email protected] To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
