CMake VS工程總結
1.設定輸出字尾
set(CMAKE_DEBUG_POSTFIX "d")
2.設定輸出目錄
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
3.設定檔案虛擬目錄
SOURCE_GROUP(AppCore FILES ${AppCore_H_CPP})
4.設定工程虛擬目錄
add_subdirectory(子工程資料夾)
add_dependencies(子工程名 依賴其它的工程名)
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
SET_PROPERTY(TARGET 子工程名 PROPERTY FOLDER "虛擬目錄名")
5.設定生成動態庫,靜態庫選項
set(BUILD_SHARED_LIBS "On")
#set(BUILD_SHARED_LIBS "Off")
6.從環境變數裡查詢庫
find_path(3rdparty_INCLUDE_DIR zlib.h ENV 3rdparty_INCLUDE_DIR)
find_path(3rdparty_LIB_DIR zlib.lib ENV 3rdparty_LIB_DIR)
7.Boost在CMake中的使用
設定環境變數 Boost_DIR
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
find_package(Boost 1.49 REQUIRED system thread regex date_time)
target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})
8.除錯庫和非除錯庫連線
target_link_libraries(debug ${} optimized ${})
9.輸出動態庫和靜態庫
if(${BUILD_SHARED_LIBS} STREQUAL "On")
add_library(${OUT_NAME} SHARED ${SRC} ${HEADER} ${SOUECE})
ADD_DEFINITIONS(-DXXX_LIBRARY)
else()
add_library(${OUT_NAME} STATIC ${SRC} ${HEADER})
ADD_DEFINITIONS(-DXXX_LIBRARY_STATIC)
endif()
#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__)
# if defined( XXX_LIBRARY_STATIC )
# define XXX_EXPORT
# elif defined( XXX_LIBRARY )
# define XXX_EXPORT __declspec(dllexport)
# else
# define XXX_EXPORT __declspec(dllimport)
# endif
#else
# define XXX_EXPORT
#endif
相關文章
- CMake技術總結
- cmake的使用總結
- cmake執行工程
- Android cmake命令總結以及指令碼模板Android指令碼
- 使用CMake構建Android JNI工程Android
- Windows下Cmake與VS聯合制作dllWindows
- VScode編譯opencv(Cmake + MinGW)VSCode編譯OpenCV
- 軟體工程——個人總結軟體工程
- 《軟體工程》個人總結軟體工程
- vsftpd安裝使用總結FTP
- CMake生成eclipse的工程並匯入Eclipse
- CMake編譯Qt工程時的問題編譯QT
- cmake 連結動態連結庫
- React Hooks工程實踐總結ReactHook
- 軟體工程實踐總結軟體工程
- 《軟體工程》課程總結軟體工程
- 對於《軟體工程》的總結軟體工程
- 軟體工程個人最終總結軟體工程
- centos5.5vsftpd安裝總結CentOSFTP
- vsftpd服務的歸納總結FTP
- 【經驗分享】win10 cmake 構建 Tengine 工程Win10
- 測試工程師的面試總結工程師面試
- 網路工程師面試題總結工程師面試題
- Google 的軟體工程經驗總結Go軟體工程
- 【前端工程化之學習總結】前端
- 面試總結——Java高階工程師面試Java工程師
- 軟體工程實踐總結作業軟體工程
- 《軟體工程》課程設計總結軟體工程
- 軟體工程師的年終總結 (轉)軟體工程工程師
- CVS相關工具下載地址總結
- cmake報錯CMake Error: Could not find CMAKE_ROOTError
- 軟體工程實踐----初步接觸軟體工程的總結軟體工程
- 轉:測試工程師的面試總結工程師面試
- 最近Java高階工程師面試總結Java工程師面試
- 面試總結——Java高階工程師(二)面試Java工程師
- 面試總結——Java高階工程師(三)面試Java工程師
- 軟體工程之四則運算總結軟體工程
- 作業8: 軟體工程學習總結軟體工程