Skip to content

Commit 7d8f62c

Browse files
committed
Merge branch 'develop'
2 parents 4ac7e54 + 1d98207 commit 7d8f62c

37 files changed

+553
-513
lines changed
+12-12
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
include_directories(${CMAKE_SOURCE_DIR}/src/include)
22

33
macro(add_library_target target)
4-
add_library(${target} STATIC "${target}.cpp")
5-
target_link_libraries(${target} PRIVATE ${ARGN})
6-
set_property(TARGET ${target} PROPERTY CXX_STANDARD 20)
4+
string(REPLACE ".cpp" "" target_name ${target})
5+
add_library(${target_name} STATIC ${target})
6+
target_link_libraries(${target_name} PRIVATE ${ARGN})
77
endmacro()
88

9-
add_library_target(advancing_through)
10-
add_library_target(arbitrary_precision_integer)
11-
add_library_target(delete_element)
12-
add_library_target(dutch_national_flag)
13-
add_library_target(enumerate_prime_number)
14-
add_library_target(order_element)
15-
add_library_target(random_data_sampling)
16-
add_library_target(replace_element)
17-
add_library_target(stock_trading)
9+
add_library_target(advancing_through.cpp)
10+
add_library_target(arbitrary_precision_integer.cpp)
11+
add_library_target(delete_element.cpp)
12+
add_library_target(dutch_national_flag.cpp)
13+
add_library_target(enumerate_prime_number.cpp)
14+
add_library_target(order_element.cpp)
15+
add_library_target(random_data_sampling.cpp)
16+
add_library_target(replace_element.cpp)
17+
add_library_target(stock_trading.cpp)

cpp-algorithm/src/array/benchmark/CMakeLists.txt

+16-15
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,24 @@ include_directories(${CMAKE_SOURCE_DIR}/src/include)
44
include_directories(${CMAKE_SOURCE_DIR}/src/array)
55

66
macro(add_target_benchmark target)
7-
string(REPLACE "_benchmark" "" target_name ${target})
8-
add_executable(${target} "${target}.cpp" "${CMAKE_SOURCE_DIR}/src/array/${target_name}.cpp")
9-
target_link_libraries(${target} PRIVATE benchmark::benchmark_main ${ARGN})
10-
target_compile_definitions(${target} PUBLIC -DBENCHMARK_STATIC_DEFINE)
7+
string(REPLACE ".cpp" "" target_name ${target})
8+
string(REPLACE "_benchmark.cpp" "" source_name ${target})
9+
add_executable(${target_name} ${target} "${CMAKE_SOURCE_DIR}/src/array/${source_name}.cpp")
10+
target_link_libraries(${target_name} PRIVATE benchmark::benchmark_main ${ARGN})
11+
target_compile_definitions(${target_name} PUBLIC -DBENCHMARK_STATIC_DEFINE)
1112
if(MSVC)
1213
### Edit and Continue for CMake projects
13-
target_compile_options(${target} PUBLIC "/Zi")
14-
target_link_options(${target} PUBLIC "/INCREMENTAL")
14+
target_compile_options(${target_name} PUBLIC "/Zi")
15+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
1516
endif()
1617
endmacro()
1718

18-
add_target_benchmark(advancing_through_benchmark)
19-
add_target_benchmark(arbitrary_precision_integer_benchmark)
20-
add_target_benchmark(delete_element_benchmark)
21-
# add_target_benchmark(dutch_national_flag_benchmark)
22-
add_target_benchmark(enumerate_prime_number_benchmark)
23-
# add_target_benchmark(order_element_benchmark)
24-
add_target_benchmark(random_data_sampling_benchmark)
25-
add_target_benchmark(replace_element_benchmark)
26-
add_target_benchmark(stock_trading_benchmark)
19+
add_target_benchmark(advancing_through_benchmark.cpp)
20+
add_target_benchmark(arbitrary_precision_integer_benchmark.cpp)
21+
add_target_benchmark(delete_element_benchmark.cpp)
22+
# add_target_benchmark(dutch_national_flag_benchmark.cpp)
23+
add_target_benchmark(enumerate_prime_number_benchmark.cpp)
24+
# add_target_benchmark(order_element_benchmark.cpp)
25+
add_target_benchmark(random_data_sampling_benchmark.cpp)
26+
add_target_benchmark(replace_element_benchmark.cpp)
27+
add_target_benchmark(stock_trading_benchmark.cpp)

cpp-algorithm/src/array/test/CMakeLists.txt

+22-20
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,36 @@ include_directories(${CMAKE_SOURCE_DIR}/src/include)
88
include_directories(${CMAKE_SOURCE_DIR}/src/array)
99

1010
macro(add_target_test target)
11-
string(REPLACE "_test" "" target_name ${target})
12-
add_executable(${target} "${target}.cpp" "${CMAKE_SOURCE_DIR}/src/array/${target_name}.cpp")
13-
target_link_libraries(${target} PRIVATE GTest::gtest_main ${ARGN})
11+
string(REPLACE ".cpp" "" target_name ${target})
12+
string(REPLACE "_test.cpp" "" source_name ${target})
13+
add_executable(${target_name} ${target} "${CMAKE_SOURCE_DIR}/src/array/${source_name}.cpp")
14+
target_link_libraries(${target_name} PRIVATE GTest::gtest_main ${ARGN})
1415
if(MSVC)
1516
### Edit and Continue for CMake projects
16-
target_compile_options(${target} PUBLIC "/Zi")
17-
target_link_options(${target} PUBLIC "/INCREMENTAL")
17+
target_compile_options(${target_name} PUBLIC "/Zi")
18+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
1819
endif()
19-
gtest_discover_tests(${target})
20+
gtest_discover_tests(${target_name})
2021
endmacro()
2122

2223
macro(add_target_header_test target)
23-
add_executable(${target} "${target}.cpp")
24-
target_link_libraries(${target} PRIVATE GTest::gtest_main ${ARGN})
24+
string(REPLACE ".cpp" "" target_name ${target})
25+
add_executable(${target_name} ${target})
26+
target_link_libraries(${target_name} PRIVATE GTest::gtest_main ${ARGN})
2527
if(MSVC)
2628
### Edit and Continue for CMake projects
27-
target_compile_options(${target} PUBLIC "/Zi")
28-
target_link_options(${target} PUBLIC "/INCREMENTAL")
29+
target_compile_options(${target_name} PUBLIC "/Zi")
30+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
2931
endif()
30-
gtest_discover_tests(${target})
32+
gtest_discover_tests(${target_name})
3133
endmacro()
3234

33-
add_target_test(advancing_through_test)
34-
add_target_test(arbitrary_precision_integer_test)
35-
add_target_test(delete_element_test)
36-
# add_target_test(dutch_national_flag_test)
37-
add_target_test(enumerate_prime_number_test)
38-
# add_target_test(order_element_test)
39-
add_target_test(random_data_sampling_test)
40-
add_target_test(replace_element_test)
41-
add_target_test(stock_trading_test)
35+
add_target_test(advancing_through_test.cpp)
36+
add_target_test(arbitrary_precision_integer_test.cpp)
37+
add_target_test(delete_element_test.cpp)
38+
# add_target_test(dutch_national_flag_test.cpp)
39+
add_target_test(enumerate_prime_number_test.cpp)
40+
# add_target_test(order_element_test.cpp)
41+
add_target_test(random_data_sampling_test.cpp)
42+
add_target_test(replace_element_test.cpp)
43+
add_target_test(stock_trading_test.cpp)

cpp-algorithm/src/dp/CMakeLists.txt

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ find_package(GSL REQUIRED)
33
include_directories(${CMAKE_SOURCE_DIR}/src/include)
44

55
macro(add_library_target target)
6-
add_library(${target} STATIC "${target}.cpp")
7-
target_link_libraries(${target} PRIVATE ${ARGN})
8-
set_property(TARGET ${target} PROPERTY CXX_STANDARD 20)
6+
string(REPLACE ".cpp" "" target_name ${target})
7+
add_library(${target_name} STATIC ${target})
8+
target_link_libraries(${target_name} PRIVATE ${ARGN})
99
endmacro()
1010

11-
add_library_target(fibonacci_number)
12-
add_library_target(interval_subset_sum_problem)
13-
add_library_target(longest_common_subsequence GSL::gsl)
14-
# add_library_target(matrix_chain)
15-
add_library_target(rod_cutting)
11+
add_library_target(fibonacci_number.cpp)
12+
add_library_target(interval_subset_sum_problem.cpp)
13+
add_library_target(longest_common_subsequence.cpp GSL::gsl)
14+
# add_library_target(matrix_chain.cpp)
15+
add_library_target(rod_cutting.cpp)

cpp-algorithm/src/dp/benchmark/CMakeLists.txt

+12-11
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@ include_directories(${CMAKE_SOURCE_DIR}/src/include)
55
include_directories(${CMAKE_SOURCE_DIR}/src/dp)
66

77
macro(add_target_benchmark target)
8-
string(REPLACE "_benchmark" "" target_name ${target})
9-
add_executable(${target} "${target}.cpp" "${CMAKE_SOURCE_DIR}/src/dp/${target_name}.cpp")
10-
target_link_libraries(${target} PRIVATE benchmark::benchmark_main ${ARGN})
11-
target_compile_definitions(${target} PUBLIC -DBENCHMARK_STATIC_DEFINE)
8+
string(REPLACE ".cpp" "" target_name ${target})
9+
string(REPLACE "_benchmark.cpp" "" source_name ${target})
10+
add_executable(${target_name} ${target} "${CMAKE_SOURCE_DIR}/src/dp/${source_name}.cpp")
11+
target_link_libraries(${target_name} PRIVATE benchmark::benchmark_main ${ARGN})
12+
target_compile_definitions(${target_name} PUBLIC -DBENCHMARK_STATIC_DEFINE)
1213
if(MSVC)
1314
### Edit and Continue for CMake projects
14-
target_compile_options(${target} PUBLIC "/Zi")
15-
target_link_options(${target} PUBLIC "/INCREMENTAL")
15+
target_compile_options(${target_name} PUBLIC "/Zi")
16+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
1617
endif()
1718
endmacro()
1819

19-
add_target_benchmark(fibonacci_number_benchmark)
20-
add_target_benchmark(interval_subset_sum_problem_benchmark)
21-
# add_target_benchmark(longest_common_subsequence_benchmark GSL::gsl)
22-
# add_target_benchmark(matrix_chain_benchmark)
23-
add_target_benchmark(rod_cutting_benchmark)
20+
add_target_benchmark(fibonacci_number_benchmark.cpp)
21+
add_target_benchmark(interval_subset_sum_problem_benchmark.cpp)
22+
# add_target_benchmark(longest_common_subsequence_benchmark.cpp GSL::gsl)
23+
# add_target_benchmark(matrix_chain_benchmark.cpp)
24+
add_target_benchmark(rod_cutting_benchmark.cpp)

cpp-algorithm/src/dp/test/CMakeLists.txt

+18-16
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,32 @@ include_directories(${CMAKE_SOURCE_DIR}/src/include)
99
include_directories(${CMAKE_SOURCE_DIR}/src/dp)
1010

1111
macro(add_target_test target)
12-
string(REPLACE "_test" "" target_name ${target})
13-
add_executable(${target} "${target}.cpp" "${CMAKE_SOURCE_DIR}/src/dp/${target_name}.cpp")
14-
target_link_libraries(${target} PRIVATE GTest::gtest_main ${ARGN})
12+
string(REPLACE ".cpp" "" target_name ${target})
13+
string(REPLACE "_test.cpp" "" source_name ${target})
14+
add_executable(${target_name} ${target} "${CMAKE_SOURCE_DIR}/src/dp/${source_name}.cpp")
15+
target_link_libraries(${target_name} PRIVATE GTest::gtest_main ${ARGN})
1516
if(MSVC)
1617
### Edit and Continue for CMake projects
17-
target_compile_options(${target} PUBLIC "/Zi")
18-
target_link_options(${target} PUBLIC "/INCREMENTAL")
18+
target_compile_options(${target_name} PUBLIC "/Zi")
19+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
1920
endif()
20-
gtest_discover_tests(${target})
21+
gtest_discover_tests(${target_name})
2122
endmacro()
2223

2324
macro(add_target_header_test target)
24-
add_executable(${target} "${target}.cpp")
25-
target_link_libraries(${target} PRIVATE GTest::gtest_main ${ARGN})
25+
string(REPLACE ".cpp" "" target_name ${target})
26+
add_executable(${target_name} ${target})
27+
target_link_libraries(${target_name} PRIVATE GTest::gtest_main ${ARGN})
2628
if(MSVC)
2729
### Edit and Continue for CMake projects
28-
target_compile_options(${target} PUBLIC "/Zi")
29-
target_link_options(${target} PUBLIC "/INCREMENTAL")
30+
target_compile_options(${target_name} PUBLIC "/Zi")
31+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
3032
endif()
31-
gtest_discover_tests(${target})
33+
gtest_discover_tests(${target_name})
3234
endmacro()
3335

34-
add_target_test(fibonacci_number_test)
35-
add_target_test(interval_subset_sum_problem_test)
36-
add_target_test(longest_common_subsequence_test GSL::gsl)
37-
# add_target_test(matrix_chain_test)
38-
add_target_test(rod_cutting_test)
36+
add_target_test(fibonacci_number_test.cpp)
37+
add_target_test(interval_subset_sum_problem_test.cpp)
38+
add_target_test(longest_common_subsequence_test.cpp GSL::gsl)
39+
# add_target_test(matrix_chain_test.cpp)
40+
add_target_test(rod_cutting_test.cpp)

cpp-algorithm/src/graph/test/CMakeLists.txt

+20-18
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,34 @@ include_directories(${CMAKE_SOURCE_DIR}/src/include)
88
include_directories(${CMAKE_SOURCE_DIR}/src/graph)
99

1010
macro(add_target_test target)
11-
string(REPLACE "_test" "" target_name ${target})
12-
add_executable(${target} "${target}.cpp" "${CMAKE_SOURCE_DIR}/src/graph/${target_name}.cpp")
13-
target_link_libraries(${target} PRIVATE GTest::gtest_main ${ARGN})
11+
string(REPLACE ".cpp" "" target_name ${target})
12+
string(REPLACE "_test.cpp" "" source_name ${target})
13+
add_executable(${target_name} ${target} "${CMAKE_SOURCE_DIR}/src/graph/${source_name}.cpp")
14+
target_link_libraries(${target_name} PRIVATE GTest::gtest_main ${ARGN})
1415
if(MSVC)
1516
### Edit and Continue for CMake projects
16-
target_compile_options(${target} PUBLIC "/Zi")
17-
target_link_options(${target} PUBLIC "/INCREMENTAL")
17+
target_compile_options(${target_name} PUBLIC "/Zi")
18+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
1819
endif()
19-
gtest_discover_tests(${target})
20+
gtest_discover_tests(${target_name})
2021
endmacro()
2122

2223
macro(add_target_header_test target)
23-
add_executable(${target} "${target}.cpp")
24-
target_link_libraries(${target} PRIVATE GTest::gtest_main ${ARGN})
24+
string(REPLACE ".cpp" "" target_name ${target})
25+
add_executable(${target_name} ${target})
26+
target_link_libraries(${target_name} PRIVATE GTest::gtest_main ${ARGN})
2527
if(MSVC)
2628
### Edit and Continue for CMake projects
27-
target_compile_options(${target} PUBLIC "/Zi")
28-
target_link_options(${target} PUBLIC "/INCREMENTAL")
29+
target_compile_options(${target_name} PUBLIC "/Zi")
30+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
2931
endif()
30-
gtest_discover_tests(${target})
32+
gtest_discover_tests(${target_name})
3133
endmacro()
3234

33-
add_target_test(bellman_ford_test)
34-
add_target_test(breadth_first_search_test)
35-
add_target_test(depth_first_search_test)
36-
add_target_test(dijkstra_test)
37-
# add_target_test(floyd_warshall_test)
38-
# add_target_test(kruskal_test)
39-
# add_target_test(prim_test)
35+
add_target_test(bellman_ford_test.cpp)
36+
add_target_test(breadth_first_search_test.cpp)
37+
add_target_test(depth_first_search_test.cpp)
38+
add_target_test(dijkstra_test.cpp)
39+
# add_target_test(floyd_warshall_test.cpp)
40+
# add_target_test(kruskal_test.cpp)
41+
# add_target_test(prim_test.cpp)

cpp-algorithm/src/greedy/CMakeLists.txt

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ include_directories(${CMAKE_SOURCE_DIR}/src/include)
22
include_directories(${CMAKE_SOURCE_DIR}/src/tree)
33

44
macro(add_library_target target)
5-
add_library(${target} STATIC "${target}.cpp")
6-
target_link_libraries(${target} PRIVATE ${ARGN})
7-
set_property(TARGET ${target} PROPERTY CXX_STANDARD 20)
5+
string(REPLACE ".cpp" "" target_name ${target})
6+
add_library(${target_name} STATIC ${target})
7+
target_link_libraries(${target_name} PRIVATE ${ARGN})
88
endmacro()
99

10-
add_library_target(activity_selection)
11-
add_library_target(huffman_code)
10+
add_library_target(activity_selection.cpp)
11+
add_library_target(huffman_code.cpp)

cpp-algorithm/src/greedy/test/CMakeLists.txt

+15-13
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,29 @@ include_directories(${CMAKE_SOURCE_DIR}/src/greedy)
99
include_directories(${CMAKE_SOURCE_DIR}/src/tree)
1010

1111
macro(add_target_test target)
12-
string(REPLACE "_test" "" target_name ${target})
13-
add_executable(${target} "${target}.cpp" "${CMAKE_SOURCE_DIR}/src/greedy/${target_name}.cpp")
14-
target_link_libraries(${target} PRIVATE GTest::gtest_main ${ARGN})
12+
string(REPLACE ".cpp" "" target_name ${target})
13+
string(REPLACE "_test.cpp" "" source_name ${target})
14+
add_executable(${target_name} ${target} "${CMAKE_SOURCE_DIR}/src/greedy/${source_name}.cpp")
15+
target_link_libraries(${target_name} PRIVATE GTest::gtest_main ${ARGN})
1516
if(MSVC)
1617
### Edit and Continue for CMake projects
17-
target_compile_options(${target} PUBLIC "/Zi")
18-
target_link_options(${target} PUBLIC "/INCREMENTAL")
18+
target_compile_options(${target_name} PUBLIC "/Zi")
19+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
1920
endif()
20-
gtest_discover_tests(${target})
21+
gtest_discover_tests(${target_name})
2122
endmacro()
2223

2324
macro(add_target_header_test target)
24-
add_executable(${target} "${target}.cpp")
25-
target_link_libraries(${target} PRIVATE GTest::gtest_main ${ARGN})
25+
string(REPLACE ".cpp" "" target_name ${target})
26+
add_executable(${target_name} ${target})
27+
target_link_libraries(${target_name} PRIVATE GTest::gtest_main ${ARGN})
2628
if(MSVC)
2729
### Edit and Continue for CMake projects
28-
target_compile_options(${target} PUBLIC "/Zi")
29-
target_link_options(${target} PUBLIC "/INCREMENTAL")
30+
target_compile_options(${target_name} PUBLIC "/Zi")
31+
target_link_options(${target_name} PUBLIC "/INCREMENTAL")
3032
endif()
31-
gtest_discover_tests(${target})
33+
gtest_discover_tests(${target_name})
3234
endmacro()
3335

34-
add_target_test(activity_selection_test)
35-
add_target_test(huffman_code_test)
36+
add_target_test(activity_selection_test.cpp)
37+
add_target_test(huffman_code_test.cpp)

cpp-algorithm/src/hashtable/CMakeLists.txt

+10-10
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ include_directories(${CMAKE_SOURCE_DIR}/src/hashtable)
33
include_directories(${CMAKE_SOURCE_DIR}/src/tree)
44

55
macro(add_library_target target)
6-
add_library(${target} STATIC "${target}.cpp")
7-
target_link_libraries(${target} PRIVATE ${ARGN})
8-
set_property(TARGET ${target} PROPERTY CXX_STANDARD 20)
6+
string(REPLACE ".cpp" "" target_name ${target})
7+
add_library(${target_name} STATIC ${target})
8+
target_link_libraries(${target_name} PRIVATE ${ARGN})
99
endmacro()
1010

11-
add_library_target(anonymous_letter)
12-
add_library_target(check_palindromic_permutation)
13-
add_library_target(collatz_conjecture)
14-
add_library_target(find_anagram)
15-
add_library_target(nearest_repeated_entry)
16-
add_library_target(optimized_lca)
17-
add_library_target(smallest_subarray)
11+
add_library_target(anonymous_letter.cpp)
12+
add_library_target(check_palindromic_permutation.cpp)
13+
add_library_target(collatz_conjecture.cpp)
14+
add_library_target(find_anagram.cpp)
15+
add_library_target(nearest_repeated_entry.cpp)
16+
add_library_target(optimized_lca.cpp)
17+
add_library_target(smallest_subarray.cpp)

0 commit comments

Comments
 (0)