1

RHEL5 でモジュールを使用しており、さまざまなバージョンのコンパイラ/binutils がマシンに配置されています。そのため、ツールを指す環境変数を定義し、それに応じてパスを更新することになるため、RHEL5 に同梱されていた古いツールは対象外です。

cmakeに対応する環境変数をロードさせる簡単な方法はありますか?

たとえば、私の環境では:

CMAKE_CXX_COMPILER=/some/other/compiler
CMAKE_LINKER=/some/other/linker

コマンドライン経由で引数として渡さずに cmake でこれらを取得する方法はありますか?

私のCMakeLists.txtで次のことがうまくいきませんでした

SET(CMAKE_CXX_COMPILER, $ENV{CMAKE_CXX_COMPILER})

そして当然のことながら、以下も機能しませんでした:

IF($ENV{CMAKE_CXX_COMPILER})
    SET(CMAKE_CXX_COMPILER, $ENV{CMAKE_CXX_COMPILER})
    MESSAGE("CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER}")
ENDIF()

多分それは構文の問題であるか、そのようなcmake変数を更新する正しい場所ではありませんか? コマンドライン (例: -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}) を介して渡すと機能しますが、そのようにしたくありません。

ありがとう

4

1 に答える 1

2

どうでも。これは構文エラーでした:SET(CMAKE_CXX_COMPILER, $ENV{CMAKE_CXX_COMPILER})コンマを付けるべきではありませんでした。正しい構文は次のとおりです。

SET(CMAKE_CXX_COMPILER $ENV{CMAKE_CXX_COMPILER})
于 2013-07-23T18:51:27.507 に答える