30 lines
676 B
CMake
30 lines
676 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(mLogger)
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
add_library(${PROJECT_NAME} SHARED)
|
|
|
|
target_include_directories(${PROJECT_NAME} PUBLIC include)
|
|
|
|
set(BENCH ON)
|
|
set(TESTS ON)
|
|
|
|
file(GLOB prj_src src/*)
|
|
|
|
target_sources(${PROJECT_NAME} PRIVATE ${prj_src})
|
|
|
|
# target_compile_options(${PROJECT_NAME} PRIVATE -fsanitize=thread)
|
|
# target_link_options(${PROJECT_NAME} PRIVATE -fsanitize=thread)
|
|
|
|
if(DEFINED BENCH)
|
|
add_subdirectory(bench)
|
|
endif()
|
|
|
|
if(DEFINED TESTS)
|
|
add_subdirectory(tests)
|
|
endif()
|
|
|
|
install(TARGETS ${PROJECT_NAME} DESTINATION lib)
|
|
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/"
|
|
DESTINATION include) |