Z cmake zwykle zaleca się wykonanie "out of source" build. Utwórz swój CMakeLists.txt
w katalogu głównym projektu. Następnie z katalogu głównego projektu:
mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
I Debug
(ponownie z głównego katalogu projektu):
mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
Release
/Debug
doda odpowiednie flagi dla kompilatora. Istnieją również konfiguracje kompilacji RelWithDebInfo
i MinSizeRel
.
można zmienić/dodać do flagi w swoim CMakeLists.txt
poprzez CMAKE_C_FLAGS_DEBUG
i CMAKE_C_FLAGS_RELEASE
zmiennych, np .:
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall")
Zobacz CMAKE_BUILD_TYPE więcej szczegółów.
Co do trzeciego pytania, nie jestem pewien, o co dokładnie pytasz. Program CMake powinien automatycznie wykrywać i używać kompilatora odpowiedniego dla różnych plików źródłowych.
Można również zrobić 'CUpewnij -i ..' zamiast, tak CUpewnij będzie działać interaktywnie , z pytaniem, jakiego rodzaju kompilację sobie życzysz (None, Release, Debug, MinSizeRel, RelWithDebInfo). – thiagowfx
@thiagowfx Opcja '-i' powoduje pojawienie się tego komunikatu o błędzie:' Tryb kreatora "cmake -i" nie jest już obsługiwany. Używam cmake 3.7.1 –
Ładna obserwacja. Wygląda na to, że był przestarzały od wersji '3.0.0'. [Odnośnik] (https://cmake.org/cmake/help/v3.0/release/3.0.0.html#deprecated-and-removed-features). – thiagowfx