This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
programming:cmake [2022/04/13 04:52] odagawa |
programming:cmake [2022/07/21 06:15] (current) odagawa |
||
---|---|---|---|
Line 3: | Line 3: | ||
CMake は実行ファイル作成時の依存関係を整理し,Makefile などを作成してくれるソフトウェア.\\ | CMake は実行ファイル作成時の依存関係を整理し,Makefile などを作成してくれるソフトウェア.\\ | ||
スクラッチで書いたことはないが,どこかから何かしらをコピペしながら覚えていくのがよいと思う.\\ | スクラッチで書いたことはないが,どこかから何かしらをコピペしながら覚えていくのがよいと思う.\\ | ||
- | おそらく最小単位は以下の通り (MyApp.cpp から MyApp を作成) | + | おそらく最小単位は以下の通り (MyApp.cpp から MyApp を作成) |
< | < | ||
Line 58: | Line 58: | ||
===自作ライブラリ=== | ===自作ライブラリ=== | ||
+ | |||
+ | いろいろ調べてコピペしたので間違ってても保証はできない.\\ | ||
+ | 少なくとも KEKCC の僕の環境では動いた. | ||
+ | < | ||
+ | SET(MYLIB_SERACH_PATHS | ||
+ | /usr/local | ||
+ | /opt/local | ||
+ | ${MYLIB_PATH} | ||
+ | ) | ||
+ | |||
+ | FIND_PATH(MYLIB_INCLUDE_DIR MyLib.hpp | ||
+ | HINTS | ||
+ | $ENV{MYLIBDIR} | ||
+ | PATH_SUFFIXES include/ | ||
+ | PATHS ${MYLIB_SEARCH_PATHS} | ||
+ | ) | ||
+ | |||
+ | FIND_LIBRARY(MYLIB_TEMP | ||
+ | NAMES MyLib | ||
+ | HINTS | ||
+ | ${ENV{MYLIBDIR} | ||
+ | PATH_SUFFIXES lib64/ | ||
+ | PATHS ${MYLIB_SEARCH_PATHS} | ||
+ | ) | ||
+ | |||
+ | IF(MYLIB_TEMP) | ||
+ | SET(MYLIB ${MCLIB_TEMP} CACHE STRING "Where mylib Library can be found" | ||
+ | SET(MCLIB_TEMP " | ||
+ | ENDIF(MYLIB_TEMP) | ||
+ | |||
+ | INCLUDE(FindPackageHandleStandardArgs) | ||
+ | |||
+ | FIND_PACKAGE_HANDLE_STANDARD_ARGS(MyLib REQUIRED_VARS MYLIB MYLIB_INCLUDE_DIR) | ||
+ | |||
+ | </ |