Skip to content

Commit 07019ff

Browse files
committed
CMake structure update and code beautify
1 parent 6e411db commit 07019ff

File tree

15 files changed

+162
-168
lines changed

15 files changed

+162
-168
lines changed

CMakeLists.txt

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,20 @@ cmake_minimum_required(VERSION 3.20)
22

33
project(homeworks LANGUAGES CXX)
44

5-
set(CMAKE_CXX_STANDARD 20)
5+
set(CMAKE_CXX_STANDARD 23)
66
set(CMAKE_CXX_STANDARD_REQUIRED ON)
7-
set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -std=c++20 -O2")
7+
set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -std=c++23 -O2")
88

99
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lib)
1010
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/sandbox)
1111
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/additional_tasks)
1212

13-
file(GLOB_RECURSE tasks_dirs LIST_DIRECTORIES true ".")
13+
file(GLOB_RECURSE SUBFOLDERS LIST_DIRECTORIES true ".")
1414

15-
foreach(dir ${tasks_dirs})
16-
IF(IS_DIRECTORY ${dir})
17-
IF(${dir} MATCHES "task_0[0-9]$" AND NOT ${dir} MATCHES "build")
18-
add_subdirectory(${dir})
19-
ENDIF()
20-
ELSE()
21-
CONTINUE()
22-
ENDIF()
15+
foreach(FOLDER ${SUBFOLDERS})
16+
if(IS_DIRECTORY ${FOLDER})
17+
if(${FOLDER} MATCHES "task_0[0-9]$" AND NOT ${FOLDER} MATCHES "build")
18+
add_subdirectory(${FOLDER})
19+
endif()
20+
endif()
2321
endforeach()

additional_tasks/CMakeLists.txt

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.20)
22

3-
project(additional_tasks)
3+
project(additional_tasks LANGUAGES CXX)
44

5-
file(GLOB_RECURSE tasks_dirs LIST_DIRECTORIES true ".")
5+
file(GLOB_RECURSE SUBFOLDERS LIST_DIRECTORIES true ".")
66

7-
foreach(dir ${tasks_dirs})
8-
IF(IS_DIRECTORY ${dir})
9-
IF(NOT ${dir} MATCHES ".*src.*")
10-
add_subdirectory(${dir})
11-
ENDIF()
12-
ELSE()
13-
CONTINUE()
14-
ENDIF()
7+
foreach(FOLDER ${SUBFOLDERS})
8+
if(IS_DIRECTORY ${FOLDER})
9+
if(NOT ${FOLDER} MATCHES ".*src.*")
10+
add_subdirectory(${FOLDER})
11+
endif()
12+
endif()
1513
endforeach()

additional_tasks/chem_experiments_chain/CMakeLists.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.20)
22

33
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
44
string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME})
5-
project(${PROJECT_NAME} C CXX)
5+
project(${PROJECT_NAME} LANGUAGES CXX)
66

77
set(CMAKE_CXX_STANDARD 23)
88
set(CMAKE_CXX_STANDARD_REQUIRED ON)
99

10-
file(GLOB_RECURSE source_list "src/*.cpp" "src/*.hpp")
11-
file(GLOB_RECURSE main_source_list "src/main.cpp")
12-
file(GLOB_RECURSE test_source_list "src/*.cpp")
10+
file(GLOB_RECURSE SOURCE_LIST "src/*.cpp" "src/*.hpp")
11+
file(GLOB_RECURSE MAIN_SOURCE_LIST "src/main.cpp")
12+
set(TEST_SOURCE_LIST ${SOURCE_LIST})
1313
file(GLOB_RECURSE test_list "src/*test.cpp")
1414

15-
list(REMOVE_ITEM test_source_list ${main_source_list})
16-
list(REMOVE_ITEM source_list ${test_list})
15+
list(REMOVE_ITEM TEST_SOURCE_LIST ${MAIN_SOURCE_LIST})
16+
list(REMOVE_ITEM SOURCE_LIST ${test_list})
1717

1818
include_directories(${PROJECT_NAME} PUBLIC src)
1919

20-
add_executable(${PROJECT_NAME} ${source_list})
20+
find_library(Utils ../)
21+
22+
add_executable(${PROJECT_NAME} ${SOURCE_LIST})
23+
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
2124

2225
# Locate GTest
2326
enable_testing()
2427
find_package(GTest REQUIRED)
2528
include_directories(${GTEST_INCLUDE_DIRS})
2629

27-
find_library(Utils ../)
28-
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
29-
3030
# Link runTests with what we want to test and the GTest and pthread library
31-
add_executable(${PROJECT_NAME}_tests ${test_source_list})
31+
add_executable(${PROJECT_NAME}_tests ${TEST_SOURCE_LIST})
3232
target_link_libraries(
3333
${PROJECT_NAME}_tests
3434
GTest::gtest_main

additional_tasks/graph/CMakeLists.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.20)
22

33
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
44
string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME})
5-
project(${PROJECT_NAME} C CXX)
5+
project(${PROJECT_NAME} LANGUAGES CXX)
66

77
set(CMAKE_CXX_STANDARD 23)
88
set(CMAKE_CXX_STANDARD_REQUIRED ON)
99

10-
file(GLOB_RECURSE source_list "src/*.cpp" "src/*.hpp")
11-
file(GLOB_RECURSE main_source_list "src/main.cpp")
12-
file(GLOB_RECURSE test_source_list "src/*.cpp")
10+
file(GLOB_RECURSE SOURCE_LIST "src/*.cpp" "src/*.hpp")
11+
file(GLOB_RECURSE MAIN_SOURCE_LIST "src/main.cpp")
12+
set(TEST_SOURCE_LIST ${SOURCE_LIST})
1313
file(GLOB_RECURSE test_list "src/*test.cpp")
1414

15-
list(REMOVE_ITEM test_source_list ${main_source_list})
16-
list(REMOVE_ITEM source_list ${test_list})
15+
list(REMOVE_ITEM TEST_SOURCE_LIST ${MAIN_SOURCE_LIST})
16+
list(REMOVE_ITEM SOURCE_LIST ${test_list})
1717

1818
include_directories(${PROJECT_NAME} PUBLIC src)
1919

20-
add_executable(${PROJECT_NAME} ${source_list})
20+
find_library(Utils ../)
21+
22+
add_executable(${PROJECT_NAME} ${SOURCE_LIST})
23+
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
2124

2225
# Locate GTest
2326
enable_testing()
2427
find_package(GTest REQUIRED)
2528
include_directories(${GTEST_INCLUDE_DIRS})
2629

27-
find_library(Utils ../)
28-
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
29-
3030
# Link runTests with what we want to test and the GTest and pthread library
31-
add_executable(${PROJECT_NAME}_tests ${test_source_list})
31+
add_executable(${PROJECT_NAME}_tests ${TEST_SOURCE_LIST})
3232
target_link_libraries(
3333
${PROJECT_NAME}_tests
3434
GTest::gtest_main

additional_tasks/petya_and_vasya_labyrinth/CMakeLists.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.20)
22

33
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
44
string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME})
5-
project(${PROJECT_NAME} C CXX)
5+
project(${PROJECT_NAME} LANGUAGES CXX)
66

77
set(CMAKE_CXX_STANDARD 23)
88
set(CMAKE_CXX_STANDARD_REQUIRED ON)
99

10-
file(GLOB_RECURSE source_list "src/*.cpp" "src/*.hpp")
11-
file(GLOB_RECURSE main_source_list "src/main.cpp")
12-
file(GLOB_RECURSE test_source_list "src/*.cpp")
10+
file(GLOB_RECURSE SOURCE_LIST "src/*.cpp" "src/*.hpp")
11+
file(GLOB_RECURSE MAIN_SOURCE_LIST "src/main.cpp")
12+
set(TEST_SOURCE_LIST ${SOURCE_LIST})
1313
file(GLOB_RECURSE test_list "src/*test.cpp")
1414

15-
list(REMOVE_ITEM test_source_list ${main_source_list})
16-
list(REMOVE_ITEM source_list ${test_list})
15+
list(REMOVE_ITEM TEST_SOURCE_LIST ${MAIN_SOURCE_LIST})
16+
list(REMOVE_ITEM SOURCE_LIST ${test_list})
1717

1818
include_directories(${PROJECT_NAME} PUBLIC src)
1919

20-
add_executable(${PROJECT_NAME} ${source_list})
20+
find_library(Utils ../)
21+
22+
add_executable(${PROJECT_NAME} ${SOURCE_LIST})
23+
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
2124

2225
# Locate GTest
2326
enable_testing()
2427
find_package(GTest REQUIRED)
2528
include_directories(${GTEST_INCLUDE_DIRS})
2629

27-
find_library(Utils ../)
28-
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
29-
3030
# Link runTests with what we want to test and the GTest and pthread library
31-
add_executable(${PROJECT_NAME}_tests ${test_source_list})
31+
add_executable(${PROJECT_NAME}_tests ${TEST_SOURCE_LIST})
3232
target_link_libraries(
3333
${PROJECT_NAME}_tests
3434
GTest::gtest_main

additional_tasks/template_task/CMakeLists.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.20)
22

33
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
44
string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME})
5-
project(${PROJECT_NAME} C CXX)
5+
project(${PROJECT_NAME} LANGUAGES CXX)
66

77
set(CMAKE_CXX_STANDARD 23)
88
set(CMAKE_CXX_STANDARD_REQUIRED ON)
99

10-
file(GLOB_RECURSE source_list "src/*.cpp" "src/*.hpp")
11-
file(GLOB_RECURSE main_source_list "src/main.cpp")
12-
file(GLOB_RECURSE test_source_list "src/*.cpp")
10+
file(GLOB_RECURSE SOURCE_LIST "src/*.cpp" "src/*.hpp")
11+
file(GLOB_RECURSE MAIN_SOURCE_LIST "src/main.cpp")
12+
set(TEST_SOURCE_LIST ${SOURCE_LIST})
1313
file(GLOB_RECURSE test_list "src/*test.cpp")
1414

15-
list(REMOVE_ITEM test_source_list ${main_source_list})
16-
list(REMOVE_ITEM source_list ${test_list})
15+
list(REMOVE_ITEM TEST_SOURCE_LIST ${MAIN_SOURCE_LIST})
16+
list(REMOVE_ITEM SOURCE_LIST ${test_list})
1717

1818
include_directories(${PROJECT_NAME} PUBLIC src)
1919

20-
add_executable(${PROJECT_NAME} ${source_list})
20+
find_library(Utils ../)
21+
22+
add_executable(${PROJECT_NAME} ${SOURCE_LIST})
23+
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
2124

2225
# Locate GTest
2326
enable_testing()
2427
find_package(GTest REQUIRED)
2528
include_directories(${GTEST_INCLUDE_DIRS})
2629

27-
find_library(Utils ../)
28-
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
29-
3030
# Link runTests with what we want to test and the GTest and pthread library
31-
add_executable(${PROJECT_NAME}_tests ${test_source_list})
31+
add_executable(${PROJECT_NAME}_tests ${TEST_SOURCE_LIST})
3232
target_link_libraries(
3333
${PROJECT_NAME}_tests
3434
GTest::gtest_main

lib/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
cmake_minimum_required(VERSION 3.10)
2-
project(Utils)
1+
cmake_minimum_required(VERSION 3.20)
2+
3+
project(Utils LANGUAGES CXX)
34

45
set(CMAKE_CXX_STANDARD 23)
56

sandbox/CMakeLists.txt

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.20)
22

3-
project(sendbox)
3+
project(sandbox LANGUAGES CXX)
44

5-
file(GLOB_RECURSE tasks_dirs LIST_DIRECTORIES true ".")
5+
file(GLOB_RECURSE SUBFOLDERS LIST_DIRECTORIES true ".")
66

7-
foreach(dir ${tasks_dirs})
8-
IF(IS_DIRECTORY ${dir})
9-
IF(NOT ${dir} MATCHES ".*src.*")
10-
add_subdirectory(${dir})
11-
ENDIF()
12-
ELSE()
13-
CONTINUE()
14-
ENDIF()
7+
foreach(FOLDER ${SUBFOLDERS})
8+
if(IS_DIRECTORY ${FOLDER})
9+
if(NOT ${FOLDER} MATCHES ".*src.*")
10+
add_subdirectory(${FOLDER})
11+
endif()
12+
endif()
1513
endforeach()

sandbox/template/CMakeLists.txt

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.20)
22

33
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
44
string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME})
5-
project(${PROJECT_NAME} C CXX)
5+
project(${PROJECT_NAME} LANGUAGES CXX)
66

77
set(CMAKE_CXX_STANDARD 23)
88
set(CMAKE_CXX_STANDARD_REQUIRED ON)
99

10-
file(GLOB_RECURSE source_list "src/*.cpp" "src/*.hpp")
11-
file(GLOB_RECURSE main_source_list "src/main.cpp")
12-
file(GLOB_RECURSE test_source_list "src/*.cpp")
10+
file(GLOB_RECURSE SOURCE_LIST "src/*.cpp" "src/*.hpp")
11+
file(GLOB_RECURSE MAIN_SOURCE_LIST "src/main.cpp")
12+
set(TEST_SOURCE_LIST ${SOURCE_LIST})
1313
file(GLOB_RECURSE test_list "src/*test.cpp")
1414

15-
list(REMOVE_ITEM test_source_list ${main_source_list})
16-
list(REMOVE_ITEM source_list ${test_list})
15+
list(REMOVE_ITEM TEST_SOURCE_LIST ${MAIN_SOURCE_LIST})
16+
list(REMOVE_ITEM SOURCE_LIST ${test_list})
1717

1818
include_directories(${PROJECT_NAME} PUBLIC src)
1919

20-
add_executable(${PROJECT_NAME} ${source_list})
20+
find_library(Utils ../)
21+
22+
add_executable(${PROJECT_NAME} ${SOURCE_LIST})
23+
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
2124

2225
# Locate GTest
2326
enable_testing()
2427
find_package(GTest REQUIRED)
2528
include_directories(${GTEST_INCLUDE_DIRS})
2629

27-
find_library(Utils ../)
28-
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
29-
3030
# Link runTests with what we want to test and the GTest and pthread library
31-
add_executable(${PROJECT_NAME}_tests ${test_source_list})
32-
31+
add_executable(${PROJECT_NAME}_tests ${TEST_SOURCE_LIST})
3332
target_link_libraries(
3433
${PROJECT_NAME}_tests
3534
GTest::gtest_main

task_01/CMakeLists.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.20)
22

33
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
44
string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME})
5-
project(${PROJECT_NAME} C CXX)
5+
project(${PROJECT_NAME} LANGUAGES CXX)
66

77
set(CMAKE_CXX_STANDARD 23)
88
set(CMAKE_CXX_STANDARD_REQUIRED ON)
99

10-
file(GLOB_RECURSE source_list "src/*.cpp" "src/*.hpp")
11-
file(GLOB_RECURSE main_source_list "src/main.cpp")
12-
file(GLOB_RECURSE test_source_list "src/*.cpp")
10+
file(GLOB_RECURSE SOURCE_LIST "src/*.cpp" "src/*.hpp")
11+
file(GLOB_RECURSE MAIN_SOURCE_LIST "src/main.cpp")
12+
set(TEST_SOURCE_LIST ${SOURCE_LIST})
1313
file(GLOB_RECURSE test_list "src/*test.cpp")
1414

15-
list(REMOVE_ITEM test_source_list ${main_source_list})
16-
list(REMOVE_ITEM source_list ${test_list})
15+
list(REMOVE_ITEM TEST_SOURCE_LIST ${MAIN_SOURCE_LIST})
16+
list(REMOVE_ITEM SOURCE_LIST ${test_list})
1717

1818
include_directories(${PROJECT_NAME} PUBLIC src)
1919

20-
add_executable(${PROJECT_NAME} ${source_list})
20+
find_library(Utils ../)
21+
22+
add_executable(${PROJECT_NAME} ${SOURCE_LIST})
23+
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
2124

2225
# Locate GTest
2326
enable_testing()
2427
find_package(GTest REQUIRED)
2528
include_directories(${GTEST_INCLUDE_DIRS})
2629

27-
find_library(Utils ../)
28-
target_link_libraries(${PROJECT_NAME} PUBLIC Utils)
29-
3030
# Link runTests with what we want to test and the GTest and pthread library
31-
add_executable(${PROJECT_NAME}_tests ${test_source_list})
31+
add_executable(${PROJECT_NAME}_tests ${TEST_SOURCE_LIST})
3232
target_link_libraries(
3333
${PROJECT_NAME}_tests
3434
GTest::gtest_main

0 commit comments

Comments
 (0)