63 lines
1.3 KiB
CMake
63 lines
1.3 KiB
CMake
# dethread cmake file
|
|
|
|
if (NOT DE_DEFS)
|
|
message(FATAL_ERROR "Include Defs.cmake")
|
|
endif ()
|
|
|
|
set(DETHREAD_SRCS
|
|
deAtomic.c
|
|
deAtomic.h
|
|
deMutex.h
|
|
deSemaphore.h
|
|
deSingleton.c
|
|
deSingleton.h
|
|
deThread.h
|
|
deThreadLocal.h
|
|
deThreadTest.c
|
|
deThreadTest.h
|
|
win32/deMutexWin32.c
|
|
win32/deSemaphoreWin32.c
|
|
win32/deThreadWin32.c
|
|
win32/deThreadLocalWin32.c
|
|
unix/deMutexUnix.c
|
|
unix/deNamedSemaphoreUnix.c
|
|
unix/deSemaphoreUnix.c
|
|
unix/deThreadUnix.c
|
|
unix/deThreadLocalUnix.c
|
|
)
|
|
|
|
set(DETHREAD_LIBS
|
|
debase
|
|
depool
|
|
)
|
|
|
|
include_directories(
|
|
../debase
|
|
../depool
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
|
|
if (DE_OS_IS_UNIX)
|
|
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
|
add_definitions(-D__BSD_VISIBLE)
|
|
add_definitions(-D_XOPEN_SOURCE=600)
|
|
endif ()
|
|
add_definitions(-D_GNU_SOURCE)
|
|
|
|
set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread)
|
|
endif ()
|
|
|
|
if (DE_OS_IS_ANDROID OR DE_OS_IS_OSX OR DE_OS_IS_IOS OR DE_OS_IS_QNX)
|
|
add_definitions(-D_XOPEN_SOURCE=600)
|
|
endif ()
|
|
|
|
add_library(dethread STATIC ${DETHREAD_SRCS})
|
|
target_link_libraries(dethread ${DETHREAD_LIBS})
|
|
|
|
set(DETHREAD_STANDALONE_TEST ON CACHE STRING "Build standalone binary for testing dethread.")
|
|
|
|
if (DETHREAD_STANDALONE_TEST AND (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX))
|
|
add_executable(dethread_test standalone_test.c)
|
|
target_link_libraries(dethread_test dethread debase)
|
|
endif ()
|