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