You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I specified CMAKE_PREFIX_PATH in order that the compiler finds pcre2-config.cmake and indeed the compiler finds it but then produces the following error:
-- Could NOT find PCRE2: missing: 8BIT (found /mnt/c/Home/Workspaces/pcre2/build/cmake/pcre2-config.cmake (found version "10.42.0"))
CMake Warning at CMakeLists.txt:8 (find_package):
Found package configuration file:
/mnt/c/Home/Workspaces/pcre2/build/cmake/pcre2-config.cmake
but it set PCRE2_FOUND to FALSE so package "PCRE2" is considered to be NOT
FOUND.
It looks as if the required component 8BIT was not defined as the result of PCRE2 compilation. What have I missed?
Thank you
The text was updated successfully, but these errors were encountered:
FWIW, can't reproduce this in macOS (using cmake 3.30.2), even with the old PCRE2 10.42 code but it seems broken (if not even more so as it can't find PCRE2_INCLUDE_DIR also in my tests) in Windows.
There are several unresolved issues with cmake (see #115) with some old bugs fixed in newer versions of PCRE2 that might help.
@idruker-cerence From your description, it looks like you didn't run cmake --install. If you want to use find_config, you should point it to the installed directory of PCRE (which could be just a local directory, it doesn't have to be in a system-wide location).
If you want to actually load PCRE2 directly from a build/ directory, then you should instead use PCRE2 as a build dependency (where you add the PCRE2 directory using add_subdirectory()).
The "build interface", that is, using PCRE2 via add_subdirectory(). Tested with both static and dynamic linking, on Windows and Linux.
The "install interface", that is, using PCRE2 in an independent project using find_package(PCRE2 CONFIG) to load it using our provided pcre2-config.cmake file. This also supports both static and dynamic - tested these, on Linux & Windows.
I have also checked in these test projects, and have added them to the CI in #739. The CI job is now asserting that downstream projects can load PCRE2 using both the CMake build interface and the install interface. I am doing this testing in CI on both Mac & Windows.
I will consider this issue fixed in the next version of PCRE2 which incorporates this testing.
However, I am grateful to @idruker-cerence for the detailed & helpful feedback. Feel free to re-open or discuss further if you wish to.
Hello
I compile PCRE2 with cmake:
The build succeeds and along libs produces the files
pcre2-config.cmake
andpcre2-config-version.cmake
in the directorybuild/cmake
.Next, I want to compile a project that uses PCRE2 as a dependency - let's call it
dummy
. As per instruction, I set in its CMakeLists.txtand command the build as:
I specified CMAKE_PREFIX_PATH in order that the compiler finds
pcre2-config.cmake
and indeed the compiler finds it but then produces the following error:It looks as if the required component 8BIT was not defined as the result of PCRE2 compilation. What have I missed?
Thank you
The text was updated successfully, but these errors were encountered: