GNU/Linux >> Znalost Linux >  >> Linux

Jak používat CMAKE_INSTALL_PREFIX

Tuto proměnnou lze použít dvěma způsoby:

  • předat jej jako argument příkazového řádku, stejně jako Job zmínil:

    cmake -DCMAKE_INSTALL_PREFIX=< install_path > ..

  • přiřazení hodnoty v CMakeLists.txt :

    SET(CMAKE_INSTALL_PREFIX < install_path >)

    Ale nezapomeňte jej umístit PŘED PROJECT(< project_name>) příkaz, jinak to nebude fungovat!


To by mělo být (viz dokumenty):

cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Ale nezapomeňte jej umístit PŘED příkaz PROJECT(), jinak to nebude fungovat!

Můj první týden používání cmake - po několika letech GNU autotools - se tedy stále učím (lépe než psát makra m4), ale myslím, že úpravu CMAKE_INSTALL_PREFIX po nastavení projektu je lepší místo.

CMakeLists.txt

cmake_minimum_required (VERSION 2.8)

set (CMAKE_INSTALL_PREFIX /foo/bar/bubba)
message("CIP = ${CMAKE_INSTALL_PREFIX} (should be /foo/bar/bubba")
project (BarkBark)
message("CIP = ${CMAKE_INSTALL_PREFIX} (should be /foo/bar/bubba")
set (CMAKE_INSTALL_PREFIX /foo/bar/bubba)
message("CIP = ${CMAKE_INSTALL_PREFIX} (should be /foo/bar/bubba")

První spuštění (bez mezipaměti)

CIP = /foo/bar/bubba (should be /foo/bar/bubba
-- The C compiler identification is GNU 4.4.7
-- etc, etc,...
CIP = /usr/local (should be /foo/bar/bubba
CIP = /foo/bar/bubba (should be /foo/bar/bubba
-- Configuring done
-- Generating done

Druhý běh

CIP = /foo/bar/bubba (should be /foo/bar/bubba
CIP = /foo/bar/bubba (should be /foo/bar/bubba
CIP = /foo/bar/bubba (should be /foo/bar/bubba
-- Configuring done
-- Generating done

Pokud se pletu, dejte mi vědět, mám se ještě hodně co učit. Je to zábavné.


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Jak Systemd používá skripty /etc/init.d?

  3. Na jakých systémech se //foo/bar liší od /foo/bar?

  1. Kdy bych měl použít koncové lomítko v adresáři?

  2. Kdy použít /dev/random vs /dev/urandom?

  3. Je Rsync ~/foo Target/foo stejný jako Rsync ~/foo/ Target/foo/?

  1. Jak zobrazit pouze soubory z příkazu aws s3 ls?

  2. Kdy mám použít /dev/shm/ a kdy /tmp/?

  3. Jak zjistit, ze které složky běží proces?