Files
MultiThreading/CMakeLists.txt
2025-07-13 12:30:23 -04:00

24 lines
774 B
CMake

cmake_minimum_required(VERSION 3.18..3.28)
project(MultiThreading VERSION 1.0 LANGUAGES CXX)
if (PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR)
message(FATAL_ERROR "In-source builds are not allowed")
endif()
file(GLOB_RECURSE HEADERS "include/*.h" "include/*.hpp")
file(GLOB_RECURSE SOURCES "src/*.c" "src/*.cpp")
set(CMAKE_CXX_STANDARD 20)
if (UNIX AND NOT APPLE)
add_library(MultiThreading SHARED ${SOURCES} "include/MultiThreading/CollisionGuard.h")
endif()
if(WIN32)
add_library(MultiThreading STATIC ${SOURCES} "include/MultiThreading/CollisionGuard.h")
endif()
target_include_directories(MultiThreading PUBLIC ${PROJECT_SOURCE_DIR}/include)
add_executable(MultiThreadingDemo main.cpp)
target_link_libraries(MultiThreadingDemo PUBLIC MultiThreading)