1.3 La compilation avec CMake

Comme vous le savez, il faut d'abord créer un fichier CMakeLists.txt, comme il est simple, je vous le donne tout de suite :

1
2
3
4
5
project(testdynamicloadingdllso)
cmake_minimum_required(VERSION 2.8)

add_executable(testdynamicloadingdllsoc main.c)
target_link_libraries(testdynamicloadingdllsoc dl)

N'oubliez pas de linker avec la lib dl.

Le fichier CMakeLists.txt.

On appelle CMake :

cmake ..
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pierre/projects/Console/TestDynamicLoadingDllso/build

Ensuite make :

make
Scanning dependencies of target testdynamicloadingdllso
[100%] Building CXX object CMakeFiles/testdynamicloadingdllso.dir/main.cpp.o
Linking CXX executable testdynamicloadingdllso
[100%] Built target testdynamicloadingdllso

On vérifie que notre programme à bien été créé :

ls                                                                                                                                                       
CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile  testdynamicloadingdllsoc

Si on lance le programme :

./testdynamicloadingdllsoc 
Test d'un chargement dynamique de la lib math m.
-0.416147

On a bien le bon résultat.