Comments (5)
I definitively didn't claim this branch was ready. I'll let you know when it is ready for testing. There are some parts of the library that are likely not needed so I'd rather remove them than add multiple conditional compilation depending on OS and compiler.
from cisst.
I think I've ported most of your changes now. The main differences are:
- I tried to remove useless code instead of porting it (downcast to bool in cmnPrintf helper class)
- For both isnan and isfinite, it seems to me that on the long run the std:: versions are better so I'm looking for them on all OSs/compilers and use them if found.
@vincent-hui , can you give this a try? I tested on 17.04 with gcc 6.3.0 and clang 4.0.0 with and without the CMAKE_CXX_STANDARD 14. In all cases it found std::isnan and std::isfinite in . When you try on your settings, can you also turn ON the cisst CMake setting CISST_BUILD_TESTS and once everything is build, launch cisstCommonTests -r as well as cisstVectorTests -r?
from cisst.
I tried again, I can build cisst with and without the CMAKE_CXX_STANDARD 14 on Ubuntu 16.04 with gcc 5.4. I turned on CISST_BUILD_TESTS and run cisstCommonTests -r as well as cisstVectorTests -r. All tests are passed with and without the CMAKE_CXX_STANDARD 14.
vincent@vincent-VirtualBox:~$ cisstCommonTests -r
.........................................
Cisst operating system code: 2
Cisst operating system string: Linux
Cisst compiler code: 1
Cisst compiler string: gcc
CMake system name: Linux
CMake c++ compiler: c++
CMake generator: Unix Makefiles
.................
OK (58 tests)
vincent@vincent-VirtualBox:~$ cisstVectorTests -r
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
OK (907 tests)
However I encountered a build issue after CISST_BUILD_TESTS is turned on with catkin
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DCISST_BUILD_TESTS=1
I need to build cisst by running catkin build twice. the first build fails always
src/cisst-saw/cisst/cisstCommon/cmnGenericObject.h:40:23: fatal error: json/json.h: No such file or directory compilation terminated.
I need to run catkin build again after the first build fails, cisst can be built sucessfully after running catkin build twice.
from cisst.
I will test this code asap on Windows with different compilers and see if it passes the unit tests for cisstCommon and cisstVector. If it does, I'll merge to the devel branch.
As for the need to build twice, this is a known issue. Our CMakeLists.txt predate catkin build tools. One thing we do is to look for cisstConfig.cmake in sub directories even though this a single CMake project. It made sense when we developed our code but it doesn't work with catkin. Catkin will only copy the generated files at the end of the build, so the cisstConfig.cmake file can't be found until the first build is finished. The proper fix would be to move all the test programs in a different package (e.g. cisst_tests) that would depend on cisst but this would need some major file re-organization. In any case, this is not a regression so this won't stop me from merging this branch.
from cisst.
I tested on Windows 7 with VS 2013 and was able to run cisstCommon and cisstVector unit tests. Merged to devel branch.
from cisst.
Related Issues (20)
- catkin build fails HOT 2
- Markdown alignment error in SVL wiki HOT 1
- catkin build /usr/bin/ld: cannot find -lReflexxesTypeII under ROS Kinetic HOT 3
- mtsFrm4x4
- Add constructor for vctAxisAngleRotation3() using axis and angle HOT 2
- on branch devel: error thrown in mtsGenericObjectProxy::ConditionalCreate HOT 1
- Should the Data Generator Always be Built? HOT 6
- Problem with disconnecting services
- cisstDataGenerator failed to parse mtsParameterTypes.cdg HOT 4
- Support C++17 ISO Standard
- Fail to build cisst with catkin build and cmake versions >= 3.11 on Ubuntu 16.04 HOT 9
- cisstVector Build Fails WhenUsing ClangCl with MSVC 2019
- catkin_make err HOT 1
- Fail to build cisst-ros with catkin build on Ubuntu 16.04 (cannot find mtsDelayedConnections.h) HOT 3
- cisstNumerical Build Fails in Latest Release HOT 6
- Build cisst_netlib error HOT 5
- ROSToCISST missing matrix functionality (std_msgs::Float64MultiArray ---> vctDoubleVec) HOT 4
- Add `override` keyword for all cisst libraries
- Deprecate polynomial related classes in cisstNumerical
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 cisst.