1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
include_directories (
${CMAKE_SOURCE_DIR}/thirdparty
)
add_convenience_library (os
os_backtrace.cpp
os_crtdbg.cpp
)
if (WIN32)
target_sources (os PRIVATE os_win32.cpp)
else ()
target_sources (os PRIVATE os_posix.cpp)
if (APPLE)
target_sources (os PRIVATE os_osx.mm)
endif ()
endif ()
target_link_libraries (os PUBLIC Threads::Threads)
if (CMAKE_EXECUTABLE_FORMAT STREQUAL "ELF")
target_compile_definitions (os PRIVATE HAVE_BACKTRACE=1)
target_link_libraries (os PUBLIC backtrace ${CMAKE_DL_LIBS})
endif ()
if (WIN32)
target_link_libraries (os PUBLIC
shell32
)
endif ()
if (APPLE)
target_link_libraries (os PUBLIC
"-framework Foundation"
)
endif ()
if (BUILD_TESTING)
add_gtest (os_thread_test os_thread_test.cpp)
target_link_libraries (os_thread_test os)
endif ()
if (LIBPROC2_FOUND)
target_link_libraries(os PUBLIC PkgConfig::LIBPROC2)
endif ()
|