2012-08-15 22 views
7

automakeからcmakeへの変換では、関数の存在のためにいくつかのテストを引き継がなければなりません。私はconfigure.acスクリプトを書いていませんでしたが、次のように機能を再現する必要があります。これらのチェックについて私に嫌がらせをしないでください。私はそれらを作る必要があります。CMakeを使って関数を正しくチェックする方法

私はCheckFunctionExistsモジュールを使用して、時間関数の存在をチェックしようとしています(とりわけ)。ここで私は、私は時間funcion(当たり前)持っているという事実を知っているにもかかわらず、cmakeのコード

include(CheckIncludeFiles) 

CHECK_FUNCTION_EXISTS(time, HAVE_TIME_FUNCTION) 

if(NOT HAVE_TIME_FUNCTION) 
    message(FATAL_ERROR "ERROR: required time function not found") 
endif(NOT HAVE_TIME_FUNCTION) 

これは毎回失敗します。私はprintfで時間を置き換えようとしましたが、それでも失敗します。このチェックを正しく行うために必要な設定がいくつかありますか?

答えて

6

あなたは,を削除する必要があります。

CMakeので
CHECK_FUNCTION_EXISTS(time HAVE_TIME_FUNCTION) 

、セパレータは、スペースやセミコロンですコンマは変数の一部です。

+0

うわー、私はそれをキャッチしていないと信じられない。ありがとう!それを修正した – dusktreader

6

はCMakeの標準モジュールCheckFunctionExistsを含めるとcheck_function_exists呼び出しでカンマを削除します。

include(CheckFunctionExists) 
check_function_exists(time HAVE_TIME_FUNCTION) 
+0

include(CheckFunctionExists)は実際には元のコードに含まれていましたが、この投稿の間違ったインクルードをコピー/ペーストしただけです。それはコンマでした、ありがとう – dusktreader

関連する問題