cmake記錄

cmake_minimum_required(VERSION 3.5)

project(projectname)

#輸出目錄
#SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/bin/debug)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/bin/release)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/lib/debug)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/lib/release)

#set(CMAKE_DEBUG_POSTFIX "_d")
#set(CMAKE_RELEASE_POSTFIX "")

#安裝目錄
set(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR}/install CACHE PATH "Install prefix path")


#系統判斷
IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
    set(env_path ${CMAKE_CURRENT_SOURCE_DIR}/../env_linux)
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
    set(env_path ${CMAKE_CURRENT_SOURCE_DIR}/../env_win)
ENDIF()

 

#判斷編譯類型
IF (${CMAKE_BUILD_TYPE} MATCHES "Release")
    
ELSEIF (${CMAKE_BUILD_TYPE} MATCHES "MinSizeRel")
    
ELSEIF (${CMAKE_BUILD_TYPE} MATCHES "RelWithDebInfo")
    
ELSEIF (${CMAKE_BUILD_TYPE} MATCHES "Debug")
    
ENDIF()

#增加目錄選項
set(Poco_Lib_Path_Debug "default value" CACHE PATH "description" FORCE)

增加子目錄
add_subdirectory(./pathname)


file(GLOB Header_files ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} Src_files)
add_library(HttpServerBase SHARED
  ${Src_files}
  ${Header_files}
)

#包含頭文件
include_directories(${Include_Path})

#庫文件路徑
target_link_directories(${PROJECT_NAME} PRIVATE "${Lib_Path}")


#鏈接庫文件
target_link_libraries(${PROJECT_NAME}
    PRIVATE
    lib
    )

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章