cmake_minimum_required(VERSION 3.10) project(CgeThread LANGUAGES C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) set(SOURCES ) set(SOURCES_WIN32 win32/Condition.c win32/Mutex.c win32/Semaphore.c win32/Thread.c win32/Tss.c ) set(SOURCES_POSIX posix/Condition.c posix/Mutex.c posix/Semaphore.c posix/Thread.c posix/Tss.c ) set(HEADERS CgeThread.h ) 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() add_library(CgeThread STATIC ${SOURCES} ${HEADERS}) target_include_directories(CgeThread PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) install(TARGETS CgeThread ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) install(FILES ${HEADERS} DESTINATION include)