LLT_CMAKE

cmake_minimum_required(VERSION 3.15)
project(MyPractices)

set(CMAKE_CXX_STANDARD 11)
set(PROJ_MAIN_PATH ${CMAKE_SOURCE_DIR})

#platform securec
set(PATH_SAFE_LIBS ${PROJ_MAIN_PATH}/platform/safelibs/libs)
set(PATH_SAFE_INC ${PROJ_MAIN_PATH}/platform/safelibs/include)
set(LIBS_LIST_SAFE
${PATH_SAFE_LIBS}/libdopra.a
${PATH_SAFE_LIBS}/libsecurec.a)

## googleTest
set(GOOGLETEST_VERSION 3.15)
set(PATH_GTEST_MAIN ${PROJ_MAIN_PATH}/googletest/googletest)
set(PATH_GTEST_MOCK ${PROJ_MAIN_PATH}/googletest/googlemock)

set(PATH_GTEST_INC_LIST
${PATH_GTEST_MAIN}/include
${PATH_GTEST_MAIN}/include/gtest
${PATH_GTEST_MOCK}/include
${PATH_GTEST_MOCK}/include/gmock)


set(SRC_INC_LIST
${PROJ_MAIN_PATH}/inc
${PROJ_MAIN_PATH}/src)

add_compile_options(-Wall)

# google test begin
include_directories(${PATH_GTEST_INC_LIST})
add_subdirectory(${PATH_GTEST_MOCK})
link_directories(${PATH_GTEST_MOCK})
set(GOOGLETESTLIB gtest gmock)
##gtest source files
set(GTEST_SRC_PATH_LIST ${PROJECT_SOURCE_DIR}/GTestLLT)
aux_source_directory(${GTEST_SRC_PATH_LIST} GTEST_SRC_LIST)
##google test end

##head files
include_directories(${SRC_INC_LIST})
include_directories(${PATH_SAFE_INC})

##souce files

aux_source_directory(${PROJECT_SOURCE_DIR} SRC_LIST_ROOT)
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC_LIST_MAIN)


set(SRC_LIST_ALL
${GTEST_SRC_LIST}
${SRC_LIST_ROOT}
${SRC_LIST_MAIN})

link_libraries(${LIBS_LIST_SAFE})
add_executable(MyPractices ${SRC_LIST_ALL} )

target_link_libraries(MyPractices ${GOOGLETESTLIB})

posted on 2022-05-03 19:42  蜀山菜鸟  阅读(29)  评论(0)    收藏  举报