Public bug reported:

The GENERATED_POTFILES logic seems to break if the path to the source
file is shorter than ${CMAKE_BINARY_DIR}.

As a test, create a CMake project using FindIntltool with the following
files in the base directory (they don't need to be part of any target):

    a.c
    aa.c
    aaa.c
    aaaa.c

I have the following in po/CMakeLists.txt:

    intltool_update_potfile(
        ALL
        KEYWORDS "tr" "tr:1,2" "N_"
        GETTEXT_PACKAGE "test"
        COPYRIGHT_HOLDER "foo"
        POTFILES_TEMPLATE "POTFILES.in.in"
    )

And po/POTFILES.in.in contains only "@GENERATED_POTFILES@".

I create a subdirectory "build", and run "cmake .." in it.  Now the
po/POTFILES.in file contains only aaa.c and aaaa.c.

If instead I use a shorter directory name for the build directory (e.g.
by moving it outside of the source dir and keeping the name short), I
will see more source files.

The problem appears to be in the _INTLTOOL_EXCLUDE_PATH function, where
it excludes any file whose path name is shorter than the filter length.

I noticed this when using the Ubuntu SDK, which defaults to extremely
long build directories when building for a kit.

** Affects: cmake-extras (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1467030

Title:
  FindIntltool.cmake GENERATED_POTFILES detection misbehaves with long
  build directory names

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cmake-extras/+bug/1467030/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to