タグ

cmakeに関するMonMonMonのブックマーク (11)

  • ZigはCMakeの代替となるか

    既存のプロジェクトで使用しているコンパイラを置き換えるだけで、Zigに付属しているCコンパイラを利用できる。 クロスビルドが標準で可能 上でも述べた通り、Zigは標準でクロスコンパイルが可能である。 Zig libcのTaget一覧 ❯ zig targets | jq ".libc" [ "aarch64_be-linux-gnu", "aarch64_be-linux-musl", "aarch64_be-windows-gnu", "aarch64-linux-gnu", "aarch64-linux-musl", "aarch64-windows-gnu", "aarch64-macos-none", "aarch64-macos-none", "armeb-linux-gnueabi", "armeb-linux-gnueabihf", "armeb-linux-musleabi

    ZigはCMakeの代替となるか
  • CMakeLists 覚書 (2020年版) - みつきんのメモ

    はじめに 以前にもCMakeLists.txtの書き方をまとめたが内容が古くなったので改めて調べ直した。当時の理解が甘かったところやCMakeが3になってできることなども対応した。 Ubuntu 20.04では3.16に対応しているため、そのバージョンで使用できる機能を紹介する。 公式サイト cmakeの公式サイトではバージョンごとに使用できる機能が検索できるようになっている。 使ってるバージョンのcmakeで特定の機能が使用可能かを確認したい場合はここで確認すると良い。 プロジェクト名の設定 projectでプロジェクト名を設定すると、プロジェクト名を${PROJECT_NAME}で参照できるようになる。 cmake_minimum_required(VERSION 3.16) project(hello) add_executable(${PROJECT_NAME} main.cpp)

    CMakeLists 覚書 (2020年版) - みつきんのメモ
  • 『Modern C++ Programming with Test-Driven Development』写経環境をWindows上のCentOSに構築

    『Modern C++ Programming with Test-Driven Development』写経環境をWindows上のCentOSに構築 C++ の TDD、『Modern C++ Programming with Test-Driven Development』の写経環境を構築するためのメモです。 ebookはここから購入できる。 The Pragmatic Bookshelf | Modern C++ Programming with Test-Driven Development 各ツールの説明は、書籍の第1章に載っています。自分のPCWindowsなのですが、Virtual Box 上に CentOSをインストールしてそこに開発環境を構築し、、Sambaを経由してWindows上のEclipse上から写経をしようと考えています。なので、ベースは CentOS。そ

    『Modern C++ Programming with Test-Driven Development』写経環境をWindows上のCentOSに構築
  • CMakeのTipsというかメモ

    いまさらながらCMakeを使ってみたのですが、なかなか良いですね。 ただ、ネット上には日語の情報がちょっと少ないので(英語の情報は結構あるけど)いくつかメモしときます。 ちなみに、最初はまず http://www.cmake.org/Wiki/CMake_FAQ のFAQに一通り目を通すことをお勧めします。 また、使用したCMakeはversion 2.8.10.1です(Ubuntu 13.04 64bit)。 Makefileでいう += ってどう記述するの 例えばMakefileで SRCS += hoge.cというのは、 set (SRCS ${SRCS} hoge.c)というように、変数の後に追加したい値を書けばよい。 コンパイルフラグにセミコロン(';')が入ってビルドが止まるんだけど FAQの http://www.cmake.org/Wiki/CMake_FAQ#Why_d

  • 出力ディレクトリを指定する - Faith and Brave - C++で遊ぼう

    CMakeで出力ディレクトリを指定するには、以下の変数にディレクトリを指定する必要がある。 実行ファイルの場合: set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ../../../libs) スタティックライブラリの場合(2つ両方): set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ../../../libs) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ../../../libs) 参照 how do I make cmake output into a 'bin' dir? - StackOverflow

    出力ディレクトリを指定する - Faith and Brave - C++で遊ぼう
  • CMakeでmoshをクロスコンパイルする - .mjtの日記復帰計画

    moshはクロスコンパイルに関して結構熱心に対応しているので、autotoolsでもCMakeでも正常にクロスコンパイルできる。ただし、CMake版のmoshはpsyntax-moshが無く、ビッグエンディアンなアーキテクチャに対応していない。 クロスビルドにちゃんと対応しているのは、テストの効率を向上させるため。Win32ビルドであっても、gccでビルドする以上はFreeBSDなりLinuxなりでビルドしたほうがずっと早くビルドできるので。。もちろん先日のKindle版も、FreeBSD上のARM Linux向けのクロスコンパイラでCMakeを使ってビルドしている。 autotoolsビルド autotoolsビルドは非常に簡単で、--hostに続けてアーキテクチャを指定するだけ。つまり、 クロスコンパイラをインストールし、host tripleを調べる。host tripleは例えばx

    CMakeでmoshをクロスコンパイルする - .mjtの日記復帰計画
  • CMakeでコンパイルオプションを設定してみる: とりあえずやってみる

    以前,Google Testを使ってみた.このときはお試しだったので,とりあえずコンパイルできてテストできればよかったんだけど,実際に使い続けるとなるとコンパイルオプションをちゃんと設定したい. コンパイラが教えてくれるエラーやワーニングは,(ときどき余計なお世話だと思うこともあるけど)ちゃんとしたコードを書くためにはとても役に立つと思う. 少なくとも,世間一般でよく言われるコンパイルオプションは設定しておかないと... というわけで,CMakeでやるとしたらどうするかを調べてみた. で,お手軽には,CMakeの変数「CMAKE_CXX_FLAGS」にコンパイルオプションを設定してやればいいようだ. ただ,もうちょっと柔軟にコンパイルオプションを設定するんだと,CMakeの「set_target_properties」コマンドを使うといいらしい.これだと,ビルドするターゲットごとにコンパイ

    CMakeでコンパイルオプションを設定してみる: とりあえずやってみる
  • CMakeを使ってみた(1)経緯と簡単なアプリケーション - wagavulin's blog

    はじめに CMakeを調べた経緯 CやC++でプログラムを書くときは普通何らかのビルドツールを使う。Unix/LinuxならMakeが多いだろう。Makefileにビルド手順を書くわけだ。一方WindowsでVisual Studio(以下VS)を使うときはVS上でビルドの設定を行い、その結果はプロジェクトファイル(.vcproj)に保存される。 そのため、Unix/LinuxWindows両方に対応しようとすると、例えばソースファイルを追加するたびにMakefileとVSのプロジェクトファイルの両方を修正することになる。さらにEclipse CDTでも開発できるようにしようと考えたり、あるいは古いVS用のプロジェクトファイルが必要になったりすると、サポートするビルド環境がどんどん増えていく。 当然管理も面倒になり普段使わないものが段々放置され、ついにはビルドできなくなる。そしてそのこと

    CMakeを使ってみた(1)経緯と簡単なアプリケーション - wagavulin's blog
  • CMakeによって生成されるVisual C++プロジェクトの構成 - Faith and Brave - C++で遊ぼう

    CMake Visual C++ project ソリューション(.sln) executable 実行ファイルプロジェクト(.vcxproj) library スタティックライブラリプロジェクト(.vcxproj) project内には、複数のexecutable/libraryを追加できる。Visual Studioでこのcmakeを実行すると、複数のプロジェクトが入ったソリューションが生成される。 ビルド順を制御するには、add_dependencies()命令を使う。以下のようにすると、exe_nameをビルドするには、lib1_nameとlib2_nameが必要(に依存している)という意味になり、exe_nameをビルドする前にライブラリがビルドされる。 project(my_project CXX) add_executable(exe_name main.cpp) add_l

    CMakeによって生成されるVisual C++プロジェクトの構成 - Faith and Brave - C++で遊ぼう
  • CMakeの基本 - opamp_sandoの日記 ...でいいよね

    と、いうことでCMakeの基を突然まとめ出す。というのもブログを初めて2ヶ月くらいもうすぐ立つかもしれないけどその2ヶ月でいろいろなことがわかったからまとめ。 CMakeっていうのはクロスプラットフォームなMakeのことだけど、gmakeみたいにソフトのビルドを支援するツールというよりgmakeとかに読み込ませるmakefileを作ったりするソフト。他にもVC++とかEclipseのCDTとかXcode用のプロジェクトもジェネレートできる優れもの。 GUIツールが用意されている、GUIツールの使い方については過去に記事を書いた(こちら)。 CMakeではCMakeLists.txtというファイルを書いて、その中にビルドの手順やインストール先を書くということをする。 で、このCMakeLists.txtの中には、例えば以下のように記述していくPROJECT(TEST_PROJECT) CM

  • EmacsとCMakeで、自分のコードを cpplint クリーンにする - 本当は怖いHPC

    Google Coding Style というものがあります。コーディング規約は世の中にたくさんあると思いますが、これはGoogle社が発表しているものです。 このコーディング規約を採用する上でいくつか便利なツールがあります。一つは、emacs用のgoogle-c-style.elです。これは、インデント等の動作を Google Coding Style に沿ってカスタマイズしてくれるものです。 次に、自分のコードがCoding Styleに準拠してくれるかをチェックしてくれる cpplint.py というコマンドがあります。これを使えば、違反している場所と理由を具体的に指摘してくれるので、規約にしたがっていない点を修正できます しかし、いちいちコマンドラインから手動で cpplint.py 起動するのは賢くありません。第一に面倒くさいし、いちいち該当箇所を覚えてエディタで開くのも頭が悪い

    EmacsとCMakeで、自分のコードを cpplint クリーンにする - 本当は怖いHPC
  • 1