obs-downstream-keyer icon indicating copy to clipboard operation
obs-downstream-keyer copied to clipboard

OUT_OF_TREE installs duplicate locale and plugin

Open eribertomota opened this issue 2 years ago • 5 comments

The same problem reported at https://github.com/exeldro/obs-transition-table/issues/12

Thanks!!!

eribertomota avatar Oct 12 '22 02:10 eribertomota

this will be the same on all my OBS plugins as I use the same build steps for all of them

exeldro avatar Oct 12 '22 05:10 exeldro

In other words, is this not a bug? Do you intend to keep this behavior when building? If yes, we could close this issue. I already have a workaround to fix this problem on Debian. I only need a confirmation from your side. Thanks!

eribertomota avatar Oct 12 '22 14:10 eribertomota

It sounds as a bug that I don't have any experience fixing. Might be I need to remove those lines: https://github.com/exeldro/obs-downstream-keyer/blob/master/CMakeLists.txt#L78-L81

exeldro avatar Oct 12 '22 15:10 exeldro

Removing these lines will don't install the right files, not the extra files. See below:

└── usr
    ├── data
    │   └── obs-plugins
    │       └── downstream-keyer
    │           └── locale
    │               ├── en-US.ini
    │               ├── es-ES.ini
    │               └── pt-BR.ini
    ├── lib
    │   └── x86_64-linux-gnu
    │       └── obs-plugins
    ├── obs-plugins
    │   └── 64bit
    │       └── downstream-keyer.so
    └── share
        ├── doc
        │   └── obs-downstream-keyer
        │       ├── changelog.Debian.gz
        │       └── copyright
        └── obs
            └── obs-plugins
                └── downstream-keyer
                    └── locale
                        ├── en-US.ini
                        ├── es-ES.ini
                        └── pt-BR.ini

eribertomota avatar Oct 12 '22 15:10 eribertomota

I commented out the section BUILD_OUT_OF_TREE in the end of the CMakeLists.txt. After the build process, I got:

└── usr
    ├── data
    │   └── obs-plugins
    │       └── downstream-keyer
    │           └── locale
    │               ├── en-US.ini
    │               ├── es-ES.ini
    │               └── pt-BR.ini
    ├── lib
    ├── obs-plugins
    │   └── 64bit
    │       └── downstream-keyer.so

I also noticed this:

Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "None"
-- Installing: /PKGS/obs-downstream-keyer/obs-downstream-keyer/debian/obs-downstream-keyer/usr/obs-plugins/64bit/downstream-keyer.so
[...]

Note the following line:

-- Install configuration: "None"

So, without specific instructions for install in CMakeList.txt, cmake will do a standard install.

I well know autotools, but I am unfamiliar with cmake. I tried to found a solution, but I didn't found it. Feel free to ignore this behavior and close this bug because, as I said, I have a workaround to fix this on Debian when installing (I am deleting the extra files after installing). If you want to solve this issue, try to see SceneSwitcher[1]. I also maintain it on Debian and it installs fine OUT_OF_TREE.

[1] https://github.com/WarmUpTill/SceneSwitcher/blob/master/CMakeLists.txt

eribertomota avatar Oct 12 '22 17:10 eribertomota

Solved: it is needed to pass -DLINUX_PORTABLE=Off to cmake command. Closing. Thanks for your efforts.

eribertomota avatar Feb 21 '23 05:02 eribertomota