Comments (5)
Project version shall be set in the project()
command as reported here.
In the CMakeLists.txt the include(RTFVersion)
should export a variable to be used in `project()', e.g.:
inlcude(RTFVersion)
project(RTF LANGUAGE CXX VERSION ${RTFVersionNumber})
...
This should be compliant with CMP0048
cc: @apaikan @traversaro @drdanz
from robot-testing-framework.
I am quite confused. If we use the new signature of project
we break compatibility with CMake < 3.0 (not a big problem, considering robotology/community#173 and given that RTF
is mostly a developer tool). However I wonder why we don't get this warning in the other libraries.
For the RPATH warning, the logic to set it properly can be found in https://github.com/robotology/ycm/blob/master/modules/AddInstallRPATHSupport.cmake .
from robot-testing-framework.
As far as VERSION issue is concerned, @apaikan is also experiencing this warning on Windows. What I would guess about it, is that with the latest version of CMake (I have 3.7.1), developers are pushing to move users toward 3.0>. I have no problem with supporting older version (say 2.8>), but we may want to consider enforcing the policies and moving toward CMake 3.0.
As far as RPATH issue is concerned, I think we can use AddInstallRPATHSupport.cmake directly copying it into the config
folder (and modifying CMakeLists accordingly). Am I right?
from robot-testing-framework.
I think this is the problem:
project(RTF)
# ...
# include version number
include(RTFVersion)
set(RTF_VERSION_MAJOR "1")
set(RTF_VERSION_MINOR "0")
set(RTF_VERSION_PATCH "1")
set(RTF_VERSION_TWEAK "0")
# Generate RTF_VERSION
if(RTF_VERSION_TWEAK)
set(RTF_VERSION "${RTF_VERSION_MAJOR}.${RTF_VERSION_MINOR}.${RTF_VERSION_PATCH}.${RTF_VERSION_TWEAK}")
else()
set(RTF_VERSION "${RTF_VERSION_MAJOR}.${RTF_VERSION_MINOR}.${RTF_VERSION_PATCH}")
endif()
robot-testing/src/rtf/CMakeLists.txt:8
project(RTF)
The second project(RTF)
is overriding the values set by RTFVersion
. CMake checks if the variables set are empty and warns the uses. Just removing the second call (that is actually useless and confusing since it will overwrite several variables) should fix this warning.
@claudiofantacci Can you please try?
from robot-testing-framework.
I'm on it
from robot-testing-framework.
Related Issues (20)
- Rename RTF HOT 14
- Handle RPATH HOT 1
- Broken documentation website HOT 2
- The doxygen documentation should be regenerated HOT 1
- Compilation fails when using TinyXML installed from vcpkg
- Permit to specify directory where to load plugins from without using LD_LIBRARY_PATH/PATH HOT 1
- Adding timeout parameter to testrunner HOT 1
- Doxygen generated documentation is outdated HOT 8
- How to manage the addition of [[noreturn]] in RTF_ASSERT HOT 3
- RTF_TEST_FAIL_IF macro logic is inverted HOT 8
- order and dependencies in TestSuit HOT 3
- Test that fails to load in a test suite do not count as failed tests HOT 3
- Add changelog for each release in `doc/release` HOT 1
- FixturePluginLoader test get stuck on Win32 if compiled in Debug HOT 2
- Support compiling as a shared library in Windows HOT 1
- Broken links in Readme HOT 4
- Provide a way to set an enviroment variable for just a test HOT 1
- Plugins do not work when -fvisibility=hidden is set HOT 2
- Improvements to the progress canvas in web-reporter HOT 1
- RTF should have a 1.5.0 release HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from robot-testing-framework.