問題タブ [external-project]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cmake - CMake&ExternalProject:特定のファイルが見つかりません
リポジトリにいくつかの依存関係ライブラリがあります。主要部分はcmakeで構築されています。これで、cmake-makefilesは、cmakeビルドシステムを持たない依存関係ライブラリをビルドします。ある特定のライブラリには、使用する必要のある「Makefile.squirrel」があります。そのライブラリのcmakelists.txt:
ただし、makeを実行すると、次のエラーメッセージが表示されます。
/home/enrico/projekte/projectname/dependencies/SQUIRREL2/Makefile.squirrelのls- lAは、ファイルが存在することを示しています。
ファイルパスのハードコーディング(ソリューションのオプションではありません)も機能しません。
アイデアやヒントはありますか?
build - ExternalProject での CMake エラー
2 日前、autotools を使用してプロジェクトをコンパイルするために、外部プロジェクトを追加しました。それは今日まで完全に機能していました...
奇妙なエラーがあります:
/usr/share/cmake-2.8/Modules/ExternalProject.cmake:710 での CMake エラー (メッセージ): エラー: 'libantlr3c' のダウンロード情報がありません -- 既存の SOURCE_DIR または URL、CVS_REPOSITORY および CVS_MODULE、SVN_REPOSITORY または DOWNLOAD_COMMAND のいずれかを指定してください
そして、これらのルールの 1 つが実際に指定されています (SOURCE_DIR):
したがって、このエラーには意味がありません...昨日は完全に機能していました(今まで何も変わっていません)。
何か案が ?
ありがとうございました!
cmake - CMake - ExternalProject_add() からダウンロードしたライブラリへのリンク
依存関係をダウンロード/インストールするために ExternalProject_add() を使用しようとしています。正常にインストールされますが、ダウンロード後にライブラリを実際にリンクする方法がわかりません。
ダウンロードしたばかりのライブラリで target_link_libraries() を呼び出したいのですが、ライブラリへのパスはシステムによって異なります。
これがシステムの依存関係である場合は、find_package() を呼び出すだけで済みますが、パッケージはデフォルトの検索パスにインストールされませんでした。モジュールモードでfind_packageの検索パスを指定できないと思います。
動作しない CMakeLists.txt のスニペットを次に示します。
cmake - CMake ExternalProject_Add()-カスタマイズされたCMakeLists.txtを使用したビルド
luaを外部プロジェクトとしてビルドしていて、バンドルされているMakefileの代わりに独自のCMakeLists.txtを使用したいと思います。これは私のメインのCMakeLists.txtにあるものです:
BUILDステップが機能するには、SOURCE_DIRにCMakeLists.txtが含まれている必要があります。現在、SOURCE_DIRにこのCMakeLists.txtがあります。
これは機能しますが、luaソースファイルがバージョン管理されたCMakeLists.txtを乱雑にすることに満足していません。
SOURCE_DIRにないビルドステップにカスタムCMakeLists.txtを指定する方法はありますか?
build - cmake:プロジェクトディレクトリからファイルをインクルード/コンパイルする方法は?
私はこのディレクトリ構造を持っています:
トップレベルのプロジェクトディレクトリはトップレベルのプロジェクトと見なすことはできませんが、無関係なプロジェクトのコレクションと見なすことができるため、CMakeLists.txt
そのレベルにファイルを配置することはしません。
フルパスを指定せずにproject1にproject2のファイルを含めたい。例:
また、project2の実装ファイルをproject1にビルドする必要があります。
project2はライブラリではなく、project1の一部であるかのようにファイルを使用する必要があります。
私はを使用していますcmake
、そしてこれはCMakeLists.txt
私が書いたファイルです(それは機能しません):
project2へのフルパスを指定しても機能しません。${CMAKE_CURRENT_SOURCE_DIR)/../../project2/src
から「致命的なエラー:file1.h:そのようなファイルまたはディレクトリはありません」が表示されmake
ます。
cmake - CMake:外部プロジェクトを構築してそのターゲットを含める方法
静的ライブラリをターゲットとしてエクスポートするプロジェクトAがあります。
ここで、プロジェクトAをプロジェクトBの外部プロジェクトとして使用し、そのビルドされたターゲットを含めます。
問題は、プロジェクトBのCMakeListsを実行したときに、インクルードファイルがまだ存在しないことです。
インクルードを構築中の外部プロジェクトに依存させる方法はありますか?
更新:これと私が遭遇した他の一般的な問題に基づいて、短いCMakebyExampleチュートリアルを作成しました。
cmake - ExternalProject_Add は、プロジェクトのリリース構成をインストールしません
編集:考えられる原因を見つけましたが、理由がわかりません: 以下のスクリプトの最後の行をProject(Externals)
削除すると、問題が修正されます。それで、今の質問はなぜですか??
上記の CMakeLists.txt ファイルで cmake を呼び出します。CMAKE_INSTALL_PREFIX
たとえば、「d:\externals」にCMAKE_BUILD_TYPE
設定し、「Release」に設定します。
予想: Release構成
のみがビルドされると予想されます。そして、それが構築された後、私はそれがにインストールされることを期待していD:\externals\bin\zlib.dll
ます.
問題:
実際には、ExternalProject_Add はDebugとReleaseの両方をビルドし、DLL のデバッグ バージョンをD:\externals\bin\zlibd.dll
私のビルドスクリプトは正しくありませんか? 私は何を間違っていますか?
編集: いくつかの詳細情報。さっき気付いた。生成された D:\externals\src\Release\zlib_external-build\zlib.sln では、INSTALL ターゲットがビルド対象としてまったく選択されていません。リリース構成用にビルドするようにチェックしてから、ビジュアルスタジオから「ビルド」をクリックすると、INSTALL ターゲットがビルドされ、期待する場所にファイルがインストールされます。何が起こっているのかわかりません...
c++ - スペースを含むコマンドでの ExternalProject_Add の奇妙な動作
を使用してブースト ライブラリをコンパイルする必要がありExternalProject_Add
、Clang を使用する MacOS プラットフォームではビルド コマンドに c++11 フラグが必要です。
コマンドは次のようになります。
しかし、引用符とスペースに問題があります。
${BOOST_TOOL_SET}
値はリストであり、その中のcxxflags="-std=c++11
-stdlib=libc++"
1 つの項目です。生成されたコマンド ラインが奇妙になります。
引数内のスペースを検出して引用符で囲むと、CMakeによってフラグが変換されたようですが、それは私が望むものではありません。
インターネットで検索しましたが、ヘルプが見つかりませんでした。この問題に関するヒントはありますか?