Le shell (POSIX, ie sans les améliorations de Bash ou zsh) est un langage assez particulier qu’on ne connaît pas forcément. Le but de ce document est de rappeler (ou donner) quelques bases du langage, de rappeler les différences notables avec bash. Je propose dans un autre article quelques …
read moreDétecter une architecture avec CMake
Il est tout à fait possible de détecter l'architecture de l'hôte avec CMake et d'adapter votre Makefile avec cette info. Il suffit d'utiliser la variable CMAKE_SYSTEM_PROCESSOR. Ci dessous un petit exemple :
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES armv6l) include_directories(${OpenCV_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ~/git/robidouille/raspicam_cv) link_directories(${OpenCV_LIB_DIR} ~/git/raspberrypi/userland/build/lib ~/git/robidouille …
read moreCMake et drapeaux de compilation
Pour ajouter des options à gcc, il suffit d'utiliser l'option set comme ci dessous :
# Compiler flags if(CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "-O2") ## Optimize set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary endif()
read moreLes bases de CMake
CMake est un utilitaire qui génère des MakeFile. Son principal intérêt est d'avoir une syntaxe plus légère que le MakeFile de base. Les bibliothèques les plus connues (Boost, OpenCV, …) sont compatibles avec ce système. Ci dessous un petit exemple pour vous aider à démarrer. Il faut enregistrer le contenu du …
read moreCompilation conditionnelle avec CMake
Lorsqu'on fait de gros programme C ou C++, il peut être intéressant de ne compiler une partie du programme que si une option est passée en argument. Nous allons voir comment le faire en utilisant CMake, un générateur de MakeFile très connu et très puissant. Voir notre article sur CMake …
read more