2026-08-09 12:55:16 +03:00
|
|
|
cmake_minimum_required(VERSION 3.10)
|
2026-08-09 16:34:42 +03:00
|
|
|
project(CgeThread LANGUAGES C)
|
2026-08-09 12:55:16 +03:00
|
|
|
|
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
|
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
|
|
set(SOURCES
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set(SOURCES_WIN32
|
2026-08-09 16:34:42 +03:00
|
|
|
win32/Condition.c
|
|
|
|
|
win32/Mutex.c
|
|
|
|
|
win32/Semaphore.c
|
|
|
|
|
win32/Thread.c
|
|
|
|
|
win32/Tss.c
|
2026-08-09 12:55:16 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set(SOURCES_POSIX
|
2026-08-09 16:34:42 +03:00
|
|
|
posix/Condition.c
|
|
|
|
|
posix/Mutex.c
|
|
|
|
|
posix/Semaphore.c
|
|
|
|
|
posix/Thread.c
|
|
|
|
|
posix/Tss.c
|
2026-08-09 12:55:16 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set(HEADERS
|
2026-08-09 16:34:42 +03:00
|
|
|
CgeThread.h
|
2026-08-09 12:55:16 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
|
message(STATUS "Platform - Win32")
|
|
|
|
|
list(APPEND SOURCES ${SOURCES_WIN32})
|
|
|
|
|
elseif(UNIX)
|
|
|
|
|
message(STATUS "Platform: Unix (Linux/BSD/MacOS X)")
|
|
|
|
|
list(APPEND SOURCES ${SOURCES_POSIX})
|
|
|
|
|
endif()
|
|
|
|
|
|
2026-08-09 16:34:42 +03:00
|
|
|
add_library(CgeThread STATIC ${SOURCES} ${HEADERS})
|
2026-08-09 12:55:16 +03:00
|
|
|
|
2026-08-09 16:34:42 +03:00
|
|
|
target_include_directories(CgeThread PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
2026-08-09 12:55:16 +03:00
|
|
|
|
2026-08-09 16:34:42 +03:00
|
|
|
install(TARGETS CgeThread
|
2026-08-09 12:55:16 +03:00
|
|
|
ARCHIVE DESTINATION lib
|
|
|
|
|
LIBRARY DESTINATION lib
|
|
|
|
|
RUNTIME DESTINATION bin
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
install(FILES ${HEADERS} DESTINATION include)
|