boost z tego co widze ma wbudowane narzędzie wspierające budowania b2
za pomocą parametrów mozna wylaczyc/wlaczyc biblioteki
np. b2 --without-wave
a jak to zrobić w cmake ? Nie budowac wszystkiego tylko to co jest mi potrzebne ?
boost z tego co widze ma wbudowane narzędzie wspierające budowania b2
za pomocą parametrów mozna wylaczyc/wlaczyc biblioteki
np. b2 --without-wave
a jak to zrobić w cmake ? Nie budowac wszystkiego tylko to co jest mi potrzebne ?
W cmake od tego są cached variables.
Np używając option
option(DO_NOT_USE_WAVE "Set to disable use of wave" OFF)
if (NOT DO_NOT_USE_WAVE)
add_subdirectory(wave)
endif()
Podczas konfiguracji możesz nadać wartość tej zmiennej za pomocą -D
i wartość zostanie nadpisana:
cmake -G Ninja .. -DDO_NOT_USE_WAVE=ON
Jest fajny tool ccmake
terminalowy, który pokazuje wartość zmiennych konfigurowalnych.
To samo robi graficzny cmake.
Jeśli chcesz bardziej skomplikowaną opcję konfiguracyjną to wtedy trzeba użyć: set.
set(DO_NOT_USE_WAVE OFF CACHE BOOL "Set to disable use of wave")
set(SOME_PATH "/etc/bin" CACHE PATH "some path")
Jak chcesz podejrzeć obecną wartość tych zmiennych:
cmake -L
i jeszcze alternatywne rozwiązanie:
pobieramy tylko folder z modułem +zależności np. do zbudowania Boost::json potrzebujemy:
git.exe submodule update ^
tools/cmake libs/align libs/assert libs/config libs/core libs/array ^
libs/predef libs/static_assert libs/type_traits ^
libs/winapi libs/throw_exception libs/describe libs/mp11 libs/container libs/container_hash ^
libs/intrusive libs/move libs/system libs/variant2^
^
libs/json
Bardzo skraca sie czas pobierania i budowania jak nie potrzebujemy wszystkiego :D