From 60310deb9e2058590828aedaa449740a678a87c5 Mon Sep 17 00:00:00 2001 From: Saad H <105989111+Xcv27514@users.noreply.github.com> Date: Wed, 28 Dec 2022 15:35:41 -0500 Subject: [PATCH] feat: add `process_scheduling_algorithms` to CMake (#1193) * Update CMakeLists.txt * Create CMakeLists.txt Co-authored-by: David Leal --- CMakeLists.txt | 1 + process_scheduling_algorithms/CMakeLists.txt | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 process_scheduling_algorithms/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index dafc51c7..064fc5dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,7 @@ add_subdirectory(conversions) add_subdirectory(client_server) add_subdirectory(project_euler) add_subdirectory(machine_learning) +add_subdirectory(process_scheduling_algorithms) add_subdirectory(numerical_methods) ## Configure Doxygen documentation system diff --git a/process_scheduling_algorithms/CMakeLists.txt b/process_scheduling_algorithms/CMakeLists.txt new file mode 100644 index 00000000..1d2a56e0 --- /dev/null +++ b/process_scheduling_algorithms/CMakeLists.txt @@ -0,0 +1,20 @@ +# If necessary, use the RELATIVE flag, otherwise each source file may be listed +# with full pathname. RELATIVE may makes it easier to extract an executable name +# automatically. +file( GLOB APP_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c ) +# file( GLOB APP_SOURCES ${CMAKE_SOURCE_DIR}/*.c ) +# AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} APP_SOURCES) +foreach( testsourcefile ${APP_SOURCES} ) + # I used a simple string replace, to cut off .cpp. + string( REPLACE ".c" "" testname ${testsourcefile} ) + add_executable( ${testname} ${testsourcefile} ) + + if(OpenMP_C_FOUND) + target_link_libraries(${testname} OpenMP::OpenMP_C) + endif() + if(MATH_LIBRARY) + target_link_libraries(${testname} ${MATH_LIBRARY}) + endif() + install(TARGETS ${testname} DESTINATION "bin/process_scheduling_algorithms") + +endforeach( testsourcefile ${APP_SOURCES} )