From 99e2e923d0c77b02f3fb4ff648ea916954868606 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Fri, 28 Feb 2025 23:13:39 +0800 Subject: chore(store): move everything to store. --- .../operating-system-experiment/CMakeLists.txt | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 store/works/life/operating-system-experiment/CMakeLists.txt (limited to 'store/works/life/operating-system-experiment/CMakeLists.txt') diff --git a/store/works/life/operating-system-experiment/CMakeLists.txt b/store/works/life/operating-system-experiment/CMakeLists.txt new file mode 100644 index 0000000..79fe786 --- /dev/null +++ b/store/works/life/operating-system-experiment/CMakeLists.txt @@ -0,0 +1,37 @@ +cmake_minimum_required(VERSION 3.20) + +set(CMAKE_TOOLCHAIN_FILE $ENV{VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake + CACHE STRING "Vcpkg toolchain file") + +project(operating-system-experiment) + +set(CMAKE_CXX_STANDARD 17) + +find_package(fmt CONFIG REQUIRED) +find_package(Microsoft.GSL CONFIG REQUIRED) +add_library(cru_system SHARED Thread.cpp Mutex.cpp Interlocked.cpp Semaphore.cpp) +target_link_libraries(cru_system PUBLIC Microsoft.GSL::GSL fmt::fmt) +target_compile_definitions(cru_system PUBLIC CRU_EXPORT_API) +if(UNIX) +target_link_libraries(cru_system PUBLIC pthread) +endif() + +add_executable(main main.cpp) +target_link_libraries(main PRIVATE cru_system) + +add_executable(data_race_demo DataRaceDemo.cpp) +target_link_libraries(data_race_demo PRIVATE cru_system) + +add_executable(mutex_avoid_data_race_demo MutexAvoidDataRaceDemo.cpp) +target_link_libraries(mutex_avoid_data_race_demo PRIVATE cru_system) + +add_executable(interlocked_avoid_data_race_demo InterlockedAvoidDataRaceDemo.cpp) +target_link_libraries(interlocked_avoid_data_race_demo PRIVATE cru_system) + +add_executable(semaphore_avoid_data_race_demo SemaphoreAvoidDataRaceDemo.cpp) +target_link_libraries(semaphore_avoid_data_race_demo PRIVATE cru_system) + +add_executable(parallel_calculation_demo ParallelCalculationDemo.cpp) +target_link_libraries(parallel_calculation_demo PRIVATE cru_system) + +add_executable(dead_lock_detection_demo DeadLockDetectionDemo.cpp) -- cgit v1.2.3