1e5c31af7Sopenharmony_ci# dethread cmake file 2e5c31af7Sopenharmony_ci 3e5c31af7Sopenharmony_ciif (NOT DE_DEFS) 4e5c31af7Sopenharmony_ci message(FATAL_ERROR "Include Defs.cmake") 5e5c31af7Sopenharmony_ciendif () 6e5c31af7Sopenharmony_ci 7e5c31af7Sopenharmony_ciset(DETHREAD_SRCS 8e5c31af7Sopenharmony_ci deAtomic.c 9e5c31af7Sopenharmony_ci deAtomic.h 10e5c31af7Sopenharmony_ci deMutex.h 11e5c31af7Sopenharmony_ci deSemaphore.h 12e5c31af7Sopenharmony_ci deSingleton.c 13e5c31af7Sopenharmony_ci deSingleton.h 14e5c31af7Sopenharmony_ci deThread.h 15e5c31af7Sopenharmony_ci deThreadLocal.h 16e5c31af7Sopenharmony_ci deThreadTest.c 17e5c31af7Sopenharmony_ci deThreadTest.h 18e5c31af7Sopenharmony_ci win32/deMutexWin32.c 19e5c31af7Sopenharmony_ci win32/deSemaphoreWin32.c 20e5c31af7Sopenharmony_ci win32/deThreadWin32.c 21e5c31af7Sopenharmony_ci win32/deThreadLocalWin32.c 22e5c31af7Sopenharmony_ci unix/deMutexUnix.c 23e5c31af7Sopenharmony_ci unix/deSemaphoreMach.c 24e5c31af7Sopenharmony_ci unix/deSemaphoreUnix.c 25e5c31af7Sopenharmony_ci unix/deThreadUnix.c 26e5c31af7Sopenharmony_ci unix/deThreadLocalUnix.c 27e5c31af7Sopenharmony_ci ) 28e5c31af7Sopenharmony_ci 29e5c31af7Sopenharmony_ciset(DETHREAD_LIBS 30e5c31af7Sopenharmony_ci debase 31e5c31af7Sopenharmony_ci depool 32e5c31af7Sopenharmony_ci ) 33e5c31af7Sopenharmony_ci 34e5c31af7Sopenharmony_ciinclude_directories( 35e5c31af7Sopenharmony_ci ../debase 36e5c31af7Sopenharmony_ci ../depool 37e5c31af7Sopenharmony_ci ${CMAKE_CURRENT_SOURCE_DIR} 38e5c31af7Sopenharmony_ci ) 39e5c31af7Sopenharmony_ci 40e5c31af7Sopenharmony_ciif (DE_OS_IS_UNIX) 41e5c31af7Sopenharmony_ci if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") 42e5c31af7Sopenharmony_ci add_definitions(-D__BSD_VISIBLE) 43e5c31af7Sopenharmony_ci add_definitions(-D_XOPEN_SOURCE=600) 44e5c31af7Sopenharmony_ci endif () 45e5c31af7Sopenharmony_ci add_definitions(-D_GNU_SOURCE) 46e5c31af7Sopenharmony_ci 47e5c31af7Sopenharmony_ci set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread) 48e5c31af7Sopenharmony_ciendif () 49e5c31af7Sopenharmony_ci 50e5c31af7Sopenharmony_ciif (DE_OS_IS_ANDROID OR DE_OS_IS_OSX OR DE_OS_IS_IOS OR DE_OS_IS_QNX OR DE_OS_IS_FUCHSIA) 51e5c31af7Sopenharmony_ci add_definitions(-D_XOPEN_SOURCE=600) 52e5c31af7Sopenharmony_ciendif () 53e5c31af7Sopenharmony_ci 54e5c31af7Sopenharmony_ciadd_library(dethread STATIC ${DETHREAD_SRCS}) 55e5c31af7Sopenharmony_citarget_link_libraries(dethread ${DETHREAD_LIBS}) 56e5c31af7Sopenharmony_ci 57e5c31af7Sopenharmony_ciset(DETHREAD_STANDALONE_TEST ON CACHE STRING "Build standalone binary for testing dethread.") 58e5c31af7Sopenharmony_ci 59e5c31af7Sopenharmony_ciif (DETHREAD_STANDALONE_TEST AND (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX)) 60e5c31af7Sopenharmony_ci add_executable(dethread_test standalone_test.c) 61e5c31af7Sopenharmony_ci target_link_libraries(dethread_test dethread debase) 62e5c31af7Sopenharmony_ciendif () 63