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

CMake: Set minimum version to 3.12 #680

Merged
merged 5 commits into from
May 30, 2021

Conversation

ferdnyc
Copy link
Contributor

@ferdnyc ferdnyc commented May 30, 2021

(No wonder I couldn't find this PR, I opened it in my fork. Oy.)

Linking OBJECT libraries into SHARED targets (a trick to avoid recompilation of the bundled jsoncpp) means the build fails on all CMake versions through 3.11.

(Originally discussed via email. Solved on the project builders by @jonoomph, with an upgrade to CMake 3.20.2 on Linux. Windows was already on 3.20.1 following MSYS2 update, macOS is running 3.19.1.)

Technically CMake versions earlier than 3.12 will work if a precompiled system jsoncpp is used, but I'd rather only declare compatibility with versions for which we maintain unqualified support.

Using an OBJECT library to link the bundled jsoncpp into a SHARED
libopenshot fails with CMake versions up to 3.11.
@ferdnyc ferdnyc added the build Issues related to compiling or installing libopenshot and its dependencies label May 30, 2021
@codecov
Copy link

codecov bot commented May 30, 2021

Codecov Report

Merging #680 (76a60f8) into develop (b09416c) will increase coverage by 1.28%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #680      +/-   ##
===========================================
+ Coverage    52.39%   53.67%   +1.28%     
===========================================
  Files          151      130      -21     
  Lines        12365    10848    -1517     
===========================================
- Hits          6479     5823     -656     
+ Misses        5886     5025     -861     
Impacted Files Coverage Δ
src/QtImageReader.cpp 73.98% <0.00%> (-0.21%) ⬇️
src/Clip.cpp 41.91% <0.00%> (-0.16%) ⬇️
tests/Frame.cpp 100.00% <0.00%> (ø)
src/EffectInfo.cpp 0.00% <0.00%> (ø)
src/ChunkWriter.cpp 0.00% <0.00%> (ø)
src/effects/Deinterlace.cpp 0.00% <0.00%> (ø)
src/sort_filter/KalmanTracker.cpp
src/sort_filter/KalmanTracker.h
src/effects/Stabilizer.cpp
src/effects/ObjectDetection.h
... and 20 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b09416c...76a60f8. Read the comment docs.

@ferdnyc ferdnyc merged commit 7988f1a into OpenShot:develop May 30, 2021
@ferdnyc ferdnyc deleted the cmake-version-req branch May 30, 2021 18:08
@ferdnyc
Copy link
Contributor Author

ferdnyc commented Jun 3, 2021

Urgh. Ubuntu Bionic is only at CMake 3.10, so this is breaking the PPA builds. (It was also breaking Xenial, which is running 3.5, but I just turned those off because that release is now past its support EOL date.)

I guess I'll drop the minimum version requirement down to 3.10, though the build will still break if anyone running < 3.12 tries to use the bundled jsoncpp. (The PPA builds are using the system shared jsoncpp, so it's fine there.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues related to compiling or installing libopenshot and its dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant