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

Gcc 4.9 #4

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

Gcc 4.9 #4

wants to merge 13 commits into from

Conversation

yoyonel
Copy link

@yoyonel yoyonel commented May 10, 2016

Some modifications to deal with lib pthread.
Fix somes errors source codes.
Add some flags to deal with C++11 & C++14 (flags are files/sources oriented not projet).
Reactivate some items (or sub-items), with corrections (or not sometimes, maybe gcc-4.9 and flags for C++11&14 are enough ...).

Work & test on Linux Mint 17 (forked of Ubuntu 14.04 LTS), x-64 bits with gcc-4.9.

ps: comments on commits are in french ... sorry :p

…on des targets de compilation des items suivants:

=> 16, 23, 27, 31, 32, 33, 34, 35, 36
Il y a des problèmes (en particulier) avec la lib pthread (et/ou CMake)
…as très propre (trop direct pas modulable/flexible)
Fix pour compilation sous GCC-4.9
Plus de travail pour le 31: Ajout d'une classe singleton pour gérer un pb de doublon d'object dans le header utilitaire 'utils.h'. Ca permet de générer qu'un object 'filters' récupérables maintenant par le singleton associé à une classe dédiée
Fix, réécriture des CMake et partiellement fix de code (36 manquait des points virgules, bizarre)
… setAlarm ne semble être définie nulle part ....
Fix et ajout si possible de sous items. Certains codes ou bouts de scripts ne sont pas complets, du coup des fois il n'a pu inclure les examples complètements. Parfois c'est juste des problèmes de CMake et/ou des erreurs d'innattentions dans les sources
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 2.6)

project(Effective_Modern_C++ CXX)
project(Effective_Modern_C++ C CXX)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why exactly must C be added here? Shouldn't the project be completely CXX?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's for (cmake) pthread compatibility.
Adding pthread like i do include some tests files (intern codes) to check if pthread is accessible for the current system.
It's a CMake mechanism (througth 'FindThreads.cmake').

MMmMMMM after reading the file 'FindThreads.cmake' (https://github.com/Kitware/CMake/blob/master/Modules/FindThreads.cmake) i'm not sure it's necessary after all ... i will check tomorrow to remove this line.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oki ... seems strange ... maybe a bug (fix) from CMake.
In my system (from official package 'cmake') in FindThreads.cmake i don't have in the script a test for switching between C and CXX project (like in: https://github.com/Kitware/CMake/blob/master/Modules/FindThreads.cmake around line 94-99).
Maybe the depot (for Ubuntu14.04/Mint) isn't synchronized with the depot of the last release of CMake.
Whatever, with my version (CMake 3.2.2) i need to to add C flag to permit the build of the test file 'CheckForPthreads.c' needed by CMake & 'FindThreads.cmake' to check if a PThread lib is available (with a default/system path).
With the last release of CMake (from github depot), it will not be necessary anymore.

Add cmake tools inside a dedicated diretory 'cmake/cmake_tools.cmake'.
This tool permit to add subitem(s), deal with flags for C++11 & C++14 compatibilities.
Same for flags/libs needed for pthread and boost.
It's a good start (i think) to unify/merge the manager of multiples builders (gcc, clang, ...).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants