[解決済み] cmake execute_process COMMAND [重複]。
2022-02-14 19:42:28
質問
CMakeList.txtです。
set(MAKE_CMD "${CMAKE_CURRENT_SOURCE_DIR}/makeHeaders.sh ${CMAKE_CURRENT_SOURCE_DIR} ${INC_DIR}")
MESSAGE("COMMAND: ${MAKE_CMD}")
execute_process(COMMAND "${MAKE_CMD}"
RESULT_VARIABLE CMD_ERROR
OUTPUT_FILE CMD_OUTPUT)
MESSAGE( STATUS "CMD_ERROR:" ${CMD_ERROR})
MESSAGE( STATUS "CMD_OUTPUT:" ${CMD_OUTPUT})
cmake ... OUTPUT:
COMMAND: /home/src/makeHeaders.sh /home/src /home/include
-- CMD_ERROR:No such file or directory
-- CMD_OUTPUT:
cmakeが出力したCOMMANDをコピーして、コマンドラインに貼り付けると、正常に動作します。
ここではmakeHeaders.sh
#!/bin/bash
echo In makeHeaders.sh
echo first: $1
echo second $2
echo Making fxsizec.h
echo grep VERSION $1/config/6/cfs.c | grep '^#define' | grep -v 'PGM_V' > $2/fxsizec.h
echo Making fxsizeo.h
echo grep VERSION $1/opaid/WRS.c | grep '^#define' | grep -v 'PGM_V' |awk '{print $$1 " OA"$$2 " "$$3}' > $2/fxsizeo.h
grep VERSION $1/config/6/cfs.c | grep '^#define' | grep -v 'PGM_V' > $2/fxsizec.h
grep VERSION $1/opaid/WRS.c | grep '^#define' | grep -v 'PGM_V' |awk '{print $$1 " OA"$$2 " "$$3}' > $2/fxsizeo.h
解決方法は?
argsをコマンド変数の一部として設定しないでください。引数は
execute_process
:
set(MAKE_CMD "${CMAKE_CURRENT_SOURCE_DIR}/makeHeaders.sh")
MESSAGE("COMMAND: ${MAKE_CMD} ${CMAKE_CURRENT_SOURCE_DIR} ${INC_DIR}")
execute_process(COMMAND ${MAKE_CMD} ${CMAKE_CURRENT_SOURCE_DIR} ${INC_DIR}
RESULT_VARIABLE CMD_ERROR
OUTPUT_FILE CMD_OUTPUT)
MESSAGE( STATUS "CMD_ERROR:" ${CMD_ERROR})
MESSAGE( STATUS "CMD_OUTPUT:" ${CMD_OUTPUT})
EDIT 上記の回答に加えて、コマンド変数に引数を追加したい場合は、次のようにすることができます。
set(MAKE_CMD "${CMAKE_CURRENT_SOURCE_DIR}/makeHeaders.sh")
list(APPEND MAKE_CMD ${CMAKE_CURRENT_SOURCE_DIR})
関連
-
[解決済み】firebase-tools "-bash: firebase: command not found".
-
[解決済み] bashスクリプトでタブ文字をエコーする
-
[解決済み] find -exec cp {} でエラー 'find: missing argument to -exec' が発生した場合の解決策。TARGET_DIR + [閉店]。
-
[解決済み] シェルスクリプトでの連想配列
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] CMakeの出力をクリアするための'cmake clean'コマンドを探しています。
-
[解決済み】bashで1つのコマンドでシェル変数にデフォルト値を割り当てる。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】if [](角括弧)の「[: 引数が多すぎる」エラーの意味)
-
[解決済み] zip警告 - 名前が一致しない
-
[解決済み] openstack の google-chrome-stable ubuntu12 パッケージが見つかりません。
-
[解決済み] Curl:応答を待たない[重複]。
-
[解決済み] echoコマンドでパイピングが効かない [重複]。
-
[解決済み] bash スクリプトを実行しているドッカーエントリーポイントが "パーミッション拒否" になる
-
[解決済み] Bashで最新のディレクトリを変数に取得する
-
[解決済み] シンプルなAsciiテーブルをCSVに変換する【終了】。
-
解決策:bash: /root/.bashrc: パーミッションが拒否されました
-
[解決済み] bash スクリプトを実行している docker エントリポイントに "permission denied" が表示される。