Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Case mismatch for 'Schema' directories #6508

Closed
2 tasks done
keba-estr opened this issue May 27, 2024 · 4 comments
Closed
2 tasks done

Case mismatch for 'Schema' directories #6508

keba-estr opened this issue May 27, 2024 · 4 comments

Comments

@keba-estr
Copy link
Contributor

Description

Nodeset generation might fail on case dependent Linux systems, as the directory referenced in the file open62541Macros.cmake is '${UA_NODESET_DIR}/Schema', but in the debian tools package the folder name is 'schema' with lower case letters.

Checklist

Please provide the following information:

  • open62541 Version (release number or git tag): 1.4.1
  • Operating system: Linux
@keba-estr
Copy link
Contributor Author

@jpfr: What is the correct solution here?
It seems that UA_NODESET_DIR is both used with 'open62541/deps/ua-nodeset' for the open62541 internal nodeset generation and with '@PACKAGE_open62541_install_nodeset_dir@' for a user nodeset generation.
Should the case of the 'schema' directory in the debian package be the same as in the dependent nodesetLoader component?

@jpfr
Copy link
Member

jpfr commented May 27, 2024

The open62541Config.cmake contains this line:

set_and_check(UA_NODESET_DIR ${PACKAGE_PREFIX_DIR}/share/open62541/schema CACHE PATH "Path to the directory that contains the schema files")

In our internal CMakeLists.txt we have both nodeset-dir and schema-dir:

set(UA_SCHEMA_DIR ${PROJECT_SOURCE_DIR}/tools/schema) # Directory with the schema files for installation

My proposal is to unify that and remove UA_SCHEMA_DIR.
So that the UA_NODESET_DIR points to wherever the schemas are.
Including either /schema or /Schema.

@keba-estr
Copy link
Contributor Author

keba-estr commented May 27, 2024

Yes, that looks fine, but: UA_NODESET_DIR is used without the Schema folder in open62541\doc\nodeset_compiler.rst, open62541\tests\nodeset-compiler\CMakeLists.txt, tools\nodeset_injector\CMakeLists.txt, ....

@keba-estr
Copy link
Contributor Author

keba-estr commented May 31, 2024

@jpfr: Added a possible solution with PR #6519, but I am not sure if I got everything correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants