- 1 名前:蟻人間 mailto:sage [2021/06/12(土) 20:08:31.78 ID:bymgAWyc.net]
- CMakeは、コンパイラに依存しないビルド自動化のためのフリーソフトウェアです。主にC/C++のビルド管理で使用され、様々なビルド環境に対応しています。Windows、Linux、MacどこでもOK。
https://cmake.org/ 基本的な使い方はまず、ビルド環境にCMakeをインストールした後で、ビルド方法を記述したテキストファイルCMakeList.txtをソースと同じ場所に作成した上で、 cmakeをジェネレータを指定して実行するとMakefileやプロジェクトファイルなどが生成されるので、それを使ってビルドします。 ジェネレータの一覧は-Gオプションを付けてcmakeを実行すると見られます。
- 48 名前:デフォルトの名無しさん mailto:sage [2021/06/16(水) 21:57:56.14 ID:z1aHwQBP.net]
- そうなるとこれでいいんだ。ありがとう。
cmake_minimum_required(VERSION 3.15) set(SRC a.cpp b.cpp c.cpp d.cpp e.cpp f.cpp g.cpp h.cpp i.cpp) add_library(xx_mt ${SRC}) add_library(xx_md ${SRC}) set_property(TARGET xx_mt PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") set_property(TARGET xx_md PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreadedDLL$<$<CONFIG:Debug>:Debug>") target_include_directories(xx_mt PUBLIC "../include") target_include_directories(xx_md PUBLIC "../include")
- 49 名前:デフォルトの名無しさん mailto:sage [2021/06/16(水) 22:01:08.77 ID:z1aHwQBP.net]
- >>47
ありだと思う
- 50 名前:蟻人間 mailto:sage [2021/06/16(水) 22:07:10.07 ID:woJNV48Q.net]
- >>48
「DLL」は後ろにつけて。
- 51 名前:デフォルトの名無しさん mailto:sage [2021/06/16(水) 22:11:55.13 ID:z1aHwQBP.net]
- これが正解になるのかな
cmake_minimum_required(VERSION 3.15) set(SRC a.cpp b.cpp c.cpp d.cpp e.cpp f.cpp g.cpp h.cpp i.cpp) add_library(xx_mt ${SRC}) add_library(xx_md ${SRC}) set_property(TARGET xx_mt PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") set_property(TARGET xx_md PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL") target_include_directories(xx_mt PUBLIC "../include") target_include_directories(xx_md PUBLIC "../include")
- 52 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 15:46:00.11 ID:lbKLD5N+.net]
- 結局こうやって人を実験台にする気満々で初めて誰にも相手にされなくなるんだよね。
メタ系の言語を推すバカの末路だわ。
- 53 名前:蟻人間 mailto:sage [2021/07/19(月) 23:06:43.32 ID:6UpSDY/2.net]
- バーカバーカ
ヘビメタだぜ。奉ろうベイビー! みんな優秀だから質問しなくてもできる。 偉い偉い。
- 54 名前:デフォルトの名無しさん [2021/09/14(火) 01:26:01.72 ID:Mj50vLs9.net]
- 広く使われてるけどあんまり話題がないのな
- 55 名前:デフォルトの名無しさん [2021/09/14(火) 06:15:43.87 ID:pTMW8GY7.net]
- 自作自演の即死スレ
- 56 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 11:48:33.99 ID:PYzW5a+n.net]
- そもそもマルチOSで出そうなんて苦労の割にメリット低いわ。
それもわからんバカがこういうデラックスなツールを使いたがるんだよね。
- 57 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 19:05:46.01 ID:5Un5Xbsb.net]
- VSCodeだけでC++やろうとするとこれが一番楽なんよ。マルチは苦労増えるだけやな
- 58 名前:デフォルトの名無しさん [2021/09/15(水) 23:44:18.94 ID:9XE/xHox.net]
- cmakeってそんなにデラックスかな?
マルチプラットフォームでなくてもmakefile直書きよりメリットあると思うけど makefile → コンパイルやリンクなど手続きを記述していく cmake → 手続きではなく関係性などを定義していく
- 59 名前:デフォルトの名無しさん mailto:sage [2021/09/16(木) 06:19:41.69 ID:QQbmBwad.net]
- 広く使われることを考えてなかったような設計だよな
なんかいまいち近代的じゃない
- 60 名前:デフォルトの名無しさん mailto:sage [2021/09/22(水) 02:27:13.15 ID:H7+/Tu0q.net]
- >>58
その程度の用途でmakefileも満足に書けないならc/c++での開発なんかするべきじゃない。
- 61 名前:デフォルトの名無しさん [2021/09/22(水) 09:37:25.13 ID:85DYkwM1.net]
- そんなこといったって・・・
プラットフォームごとに使えるコマンドとか違うじゃん cmakeに関係性を記述して各プラットフォームごとのMakefileは自動生成のほうが楽なんだもん
- 62 名前:デフォルトの名無しさん mailto:sage [2021/09/22(水) 19:08:29.74 ID:xKA5BBWf.net]
- 大した差ではないし、その差が理解できないやつは問題起きた時に明らかに詰むからやめろや。
- 63 名前:デフォルトの名無しさん [2021/09/22(水) 21:21:13.37 ID:85DYkwM1.net]
- ごめんね・・
- 64 名前:デフォルトの名無しさん mailto:sage [2021/09/22(水) 22:10:24.97 ID:fOdtASHT.net]
- でも現実には使われてるからな
個別にmakefileなんて書かない
- 65 名前:デフォルトの名無しさん [2021/09/23(木) 00:37:14.36 ID:1QHTb9H7.net]
- 便利だと思えば自分で使えば良いだけで他人に強制するものではないんだよ
https://www.tokyo-np.co.jp/article/132305
- 66 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 10:01:39.72 ID:u1LIdCP+.net]
- 別に強制はしてないから
- 67 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 11:42:47.93 ID:AZNHMrAu.net]
- そうやってexcel方眼紙ができていったわけだけれど。
- 68 名前:デフォルトの名無しさん mailto:sage [2021/09/25(土) 16:56:31.88 ID:wzNzdXVE.net]
- >>60
C/C++の開発からこそCMakeLists.txtを書くんだよ
- 69 名前:デフォルトの名無しさん mailto:sage [2021/10/04(月) 08:16:59.56 ID:S53xZnhz.net]
- 手元のCのプロジェクトをmakefileからcmakeへ移行したお陰でVSでビルド出来るようになったし、ninjaでもビルド出来るようになって、こっちはビルドが爆速になって良いことしかない
- 70 名前:デフォルトの名無しさん [2021/10/06(水) 17:43:31.95 ID:XJEs7oM2.net]
- おめ
- 71 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 11:32:54.51 ID:+Lg1Sgs9.net]
- configureオプションとcmakeとを対照できる手段あるかな?
ClamAVのビルドツールがcmakeになってしまったので、指定していたconfigureオプションをcmakeに翻訳してやらないとならない。
- 72 名前:デフォルトの名無しさん mailto:sage [2023/09/21(木) 20:25:44.21 ID:QerBhdvC.net]
- アレ、なんかすごいことになってるやんか!
- 73 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|