ulib/CMakeLists.txt
2023-11-16 14:28:55 +08:00

51 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.10)
option(ULIB_BUILD_TESTS "Build tests" OFF)
project(ulib LANGUAGES CXX VERSION 0.1.0)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS ON)
add_library(${PROJECT_NAME} STATIC ""
src/base/location.cpp
src/strings/string_printf.cpp
src/system/system_time.cpp
src/base/task_queue_base.cpp
src/units/time_delta.cpp
src/synchronization/mutex.cpp
src/network/socket_factory.cpp
src/network/socket_address.cpp
src/network/socket_server.cpp
src/synchronization/event.cpp)
target_compile_definitions(${PROJECT_NAME} PRIVATE ULIB_LIBRARY_IMPL)
target_include_directories(${PROJECT_NAME} PUBLIC src)
target_sources(${PROJECT_NAME}
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src//base/checks.h
${CMAKE_CURRENT_SOURCE_DIR}/src//base/checks.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/types/optional.h
${CMAKE_CURRENT_SOURCE_DIR}/src/system/export_api.h
)
if (ULIB_BUILD_TESTS)
find_package(GTest CONFIG REQUIRED)
add_executable(ulib_test ""
src/base/location_unittest.cpp)
target_link_libraries(ulib_test PRIVATE
ulib
GTest::gtest
GTest::gtest_main
GTest::gmock
GTest::gmock_main
)
target_sources(ulib_test PRIVATE
src/base/location_unittest.cpp
)
add_test(AllTestsInUlib ulib_test)
endif ()