From 0594923efa8e6b006a5d754c5e7976850290577c Mon Sep 17 00:00:00 2001 From: David Leal Date: Sat, 10 Sep 2022 19:43:55 -0500 Subject: [PATCH] feat: add the `bit_manipulation` directory to CMake (#1991) * feat: add `bit_manipulation` to CMake * updating DIRECTORY.md --- CMakeLists.txt | 1 + DIRECTORY.md | 2 +- bit_manipulation/CMakeLists.txt | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 bit_manipulation/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index f75d558f3..a1cc76a07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,7 @@ add_subdirectory(geometry) add_subdirectory(graphics) add_subdirectory(probability) add_subdirectory(backtracking) +add_subdirectory(bit_manipulation) add_subdirectory(data_structures) add_subdirectory(machine_learning) add_subdirectory(numerical_methods) diff --git a/DIRECTORY.md b/DIRECTORY.md index 1c081f958..d4db021e6 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -10,7 +10,7 @@ * [Rat Maze](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/rat_maze.cpp) * [Subarray Sum](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/subarray_sum.cpp) * [Subset Sum](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/subset_sum.cpp) - * [Sudoku Solve](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/sudoku_solve.cpp) + * [Sudoku Solver](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/sudoku_solver.cpp) * [Wildcard Matching](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/wildcard_matching.cpp) ## Bit Manipulation diff --git a/bit_manipulation/CMakeLists.txt b/bit_manipulation/CMakeLists.txt new file mode 100644 index 000000000..f5e304cfb --- /dev/null +++ b/bit_manipulation/CMakeLists.txt @@ -0,0 +1,18 @@ +# 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} *.cpp ) +# 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 ".cpp" "" testname ${testsourcefile} ) + add_executable( ${testname} ${testsourcefile} ) + + set_target_properties(${testname} PROPERTIES LINKER_LANGUAGE CXX) + if(OpenMP_CXX_FOUND) + target_link_libraries(${testname} OpenMP::OpenMP_CXX) + endif() + install(TARGETS ${testname} DESTINATION "bin/bit_manipulation") + +endforeach( testsourcefile ${APP_SOURCES} )