cmakelists编写样例
src
cmake_minimum_required(VERSION 3.8)
###### build .so and .a ######
MESSAGE(STATUS "This is BINARY dir " ${PROJECT_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir " ${PROJECT_SOURCE_DIR})
MESSAGE(STATUS "This is PREFIX dir " ${CMAKE_INSTALL_PREFIX})
# add_definitions(-std=c++11)
add_definitions(-D DEBUG_CONSOLE)
#project(E2EPostProcess LANGUAGES C CXX)
include_directories(${TOP_PATH}/include)
include_directories(${TOP_PATH}/src)
include_directories(${TOP_PATH}/thirdparty/webrtc)
link_directories(${TOP_PATH}/lib)
FILE(GLOB TRTENGINE_SRC *.cpp *.cu *.c)
FILE(GLOB VAD_3TD_FILES ${TOP_PATH}/thirdparty/webrtc/common_audio/*/*.c ${TOP_PATH}/thirdparty/webrtc/rtc_base/*.c*)
MESSAGE(STATUS "VAD_3TD_FILES: " ${VAD_3TD_FILES})
SET(LIBRARY_OUTPUT_PATH ${TOP_PATH}/lib/)
add_library(E2EPostProcess SHARED ${TRTENGINE_SRC} ${VAD_3TD_FILES})
target_include_directories(E2EPostProcess PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/cub)
target_link_libraries(E2EPostProcess -lpthread -lglog )
e2e
#build lib
rm -rf ./build
#mkdir build && cd build && cmake .. && make -j8
#build test program
mkdir build && cd build && cmake ../ -DBUILD_TESTS=true -D_DEBUG=true && make -j8
cmake_minimum_required(VERSION 3.8)
add_definitions(-std=c++11)
SET(TOP_PATH ${CMAKE_SOURCE_DIR})
SET(BUILD_PATH ${CMAKE_CURRENT_BINARY_DIR})
SET(SOURCE_PATH ${TOP_PATH}/src)
SET(CUDA_HOME "/usr/local/cuda")
SET(TENSORFLOW_PATH "/home/xxx/TensorRT-7.0.0.11")
SET (BASE_LIBRARYS
${CMAKE_SOURCE_DIR}/lib/libxxx.so
)
SET (TRT_LIBRARYS
${TENSORFLOW_PATH}/lib/libxxx.so.7
${CUDA_HOME}/lib64/libcudart.so.9.0
)
MACRO(ADD_LINK_PATH _link_path)
link_directories(${_link_path})
SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH} ${_link_path})
SET(ADDITIONAL_LINK_PATH ${ADDITIONAL_LINK_PATH} ${_link_path})
ENDMACRO(ADD_LINK_PATH)
project(ttsEngine LANGUAGES C CXX )
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
SET(CMAKE_CXX_FLAGS "-g -O0 -Wno-deprecated-declarations")
SET(COMPILE_CUDA_ARCHS "30 32 35 50 52 53 60 61 62 70")
string(REPLACE " " ";" COMPILE_CUDA_ARCHLIST ${COMPILE_CUDA_ARCHS})
foreach(archcode ${COMPILE_CUDA_ARCHLIST})
SET(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=compute_${archcode},code=sm_${archcode}")
endforeach()
message("------------ Options -------------")
message(" CMAKE_PROJECT: ${PROJECT_NAME}")
message(" CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
message(" CMAKE_BUILD_BITS: ${CMAKE_BUILD_BITS}")
message(" CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
message(" EXECUTABLE_OUTPUT_PATH: ${EXECUTABLE_OUTPUT_PATH}")
message(" LIBRARY_OUTPUT_PATH: ${LIBRARY_OUTPUT_PATH}")
message(" CONF_OUTPUT_PATH: ${CONF_OUTPUT_PATH}")
message(" DATA_OUTPUT_PATH: ${DATA_OUTPUT_PATH}")
message(" TOP_PATH: ${TOP_PATH}")
message(" BUILD_PATH: ${BUILD_PATH}")
message(" SOURCE_PATH: ${SOURCE_PATH}")
message("------------ end -------------")
add_subdirectory(src)
ADD_LINK_PATH(${TENSORRT_5_PATH}/lib)
ADD_LINK_PATH(${CUDA_HOME}/lib64)
include_directories(${TOP_PATH}/include)
include_directories(${TOP_PATH}/test/common)
include_directories(${TOP_PATH}/include)
include_directories(${TOP_PATH}/include/cuda)
include_directories(${TENSORFLOW_PATH}/include)
include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
link_directories(${TENSORFLOW_PATH}/lib)
link_directories(${TOP_PATH}/lib)
link_directories(${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
if(BUILD_TESTS)
message(STATUS "BUILD " ${PROJECT_NAME} " ttsTestMain")
add_subdirectory(test)
endif()

浙公网安备 33010602011771号