From 397617e7eaac2999c4e788bd750cdb3d81373aa3 Mon Sep 17 00:00:00 2001 From: Ruslan Valiakhmetov Date: Wed, 29 May 2019 12:36:47 +0300 Subject: [PATCH 1/4] Added googletest as submodule --- .gitmodules | 3 +++ tdd_intro/3rd_party/googletest | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 tdd_intro/3rd_party/googletest diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..788f39dd --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "tdd_intro/3rd_party/googletest"] + path = tdd_intro/3rd_party/googletest + url = https://github.com/google/googletest.git diff --git a/tdd_intro/3rd_party/googletest b/tdd_intro/3rd_party/googletest new file mode 160000 index 00000000..f5edb4f5 --- /dev/null +++ b/tdd_intro/3rd_party/googletest @@ -0,0 +1 @@ +Subproject commit f5edb4f542e155c75bc4b516f227911d99ec167c From 194c2d975fc814b572f0278f38b524e4cfc732ba Mon Sep 17 00:00:00 2001 From: Ruslan Valiakhmetov Date: Wed, 29 May 2019 12:39:26 +0300 Subject: [PATCH 2/4] Added cmake files --- .gitignore | 5 ++++ build_debug.bat | 7 +++++ build_release.bat | 7 +++++ tdd_intro/CMakeLists.txt | 29 ++++++++++++++++++ tdd_intro/cleanroom/CMakeLists.txt | 5 ++++ tdd_intro/cleanroom/chatclient/CMakeLists.txt | 30 +++++++++++++++++++ tdd_intro/demo/01_bob/CMakeLists.txt | 16 ++++++++++ tdd_intro/demo/01_fizz_buzz/CMakeLists.txt | 14 +++++++++ tdd_intro/demo/02_anagram/CMakeLists.txt | 14 +++++++++ tdd_intro/demo/02_word_count/CMakeLists.txt | 14 +++++++++ tdd_intro/demo/03_allergies/CMakeLists.txt | 14 +++++++++ .../demo/03_roman_numerals/CMakeLists.txt | 14 +++++++++ tdd_intro/demo/04_timer/CMakeLists.txt | 14 +++++++++ tdd_intro/demo/CMakeLists.txt | 16 ++++++++++ .../homework/01_leap_year/CMakeLists.txt | 14 +++++++++ .../02_ternary_numbers/CMakeLists.txt | 14 +++++++++ tdd_intro/homework/03_bank_ocr/CMakeLists.txt | 14 +++++++++ .../homework/04_weather_client/CMakeLists.txt | 14 +++++++++ tdd_intro/homework/05_coffee/CMakeLists.txt | 14 +++++++++ tdd_intro/homework/CMakeLists.txt | 13 ++++++++ 20 files changed, 282 insertions(+) create mode 100644 build_debug.bat create mode 100644 build_release.bat create mode 100644 tdd_intro/CMakeLists.txt create mode 100644 tdd_intro/cleanroom/CMakeLists.txt create mode 100644 tdd_intro/cleanroom/chatclient/CMakeLists.txt create mode 100644 tdd_intro/demo/01_bob/CMakeLists.txt create mode 100644 tdd_intro/demo/01_fizz_buzz/CMakeLists.txt create mode 100644 tdd_intro/demo/02_anagram/CMakeLists.txt create mode 100644 tdd_intro/demo/02_word_count/CMakeLists.txt create mode 100644 tdd_intro/demo/03_allergies/CMakeLists.txt create mode 100644 tdd_intro/demo/03_roman_numerals/CMakeLists.txt create mode 100644 tdd_intro/demo/04_timer/CMakeLists.txt create mode 100644 tdd_intro/demo/CMakeLists.txt create mode 100644 tdd_intro/homework/01_leap_year/CMakeLists.txt create mode 100644 tdd_intro/homework/02_ternary_numbers/CMakeLists.txt create mode 100644 tdd_intro/homework/03_bank_ocr/CMakeLists.txt create mode 100644 tdd_intro/homework/04_weather_client/CMakeLists.txt create mode 100644 tdd_intro/homework/05_coffee/CMakeLists.txt create mode 100644 tdd_intro/homework/CMakeLists.txt diff --git a/.gitignore b/.gitignore index 259148fa..58da27f3 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,8 @@ *.exe *.out *.app + +# CMake results +/bin +/build64_debug +/build64_release diff --git a/build_debug.bat b/build_debug.bat new file mode 100644 index 00000000..39f46130 --- /dev/null +++ b/build_debug.bat @@ -0,0 +1,7 @@ +cmake -Htdd_intro -Bbuild64_debug -G"Visual Studio 14 2015 Win64" || goto :eof +cmake --build build64_debug --target install --config Debug || echo build64_debug failed && goto :eof + +:: to run tests +pushd build64_debug +ctest -VV -C Debug || echo Unit-tests failed && popd && goto :eof +popd \ No newline at end of file diff --git a/build_release.bat b/build_release.bat new file mode 100644 index 00000000..3bedc568 --- /dev/null +++ b/build_release.bat @@ -0,0 +1,7 @@ +cmake -Htdd_intro -Bbuild64_release -G"Visual Studio 14 2015 Win64" || goto :eof +cmake --build build64_release --target install --config Release || echo build64_release failed && goto :eof + +:: to run tests +pushd build64_release +ctest -C Release || echo Unit-tests failed && popd && goto :eof +popd \ No newline at end of file diff --git a/tdd_intro/CMakeLists.txt b/tdd_intro/CMakeLists.txt new file mode 100644 index 00000000..ad609cc6 --- /dev/null +++ b/tdd_intro/CMakeLists.txt @@ -0,0 +1,29 @@ +cmake_minimum_required(VERSION 3.0) +project(tdd-course-3) + +# to run tests after build +enable_testing() + +# turn on using solution folders for IDE +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +# Compiler flags +# /MT, /MTd - for static linkage +# /W4 - warning level 4 +# /MP - to compile by several threads +set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT") +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /MP") + +# add gtest and gmock as subprojects +add_subdirectory(3rd_party/googletest EXCLUDE_FROM_ALL) + +# organize targets in an IDE +set_target_properties(gtest gtest_main gmock_main PROPERTIES FOLDER 3rd-party/GTest) + +include_directories(3rd_party/googletest/googletest/include) +include_directories(3rd_party/googletest/googlemock/include) + +add_subdirectory(homework) +add_subdirectory(demo) +add_subdirectory(cleanroom) diff --git a/tdd_intro/cleanroom/CMakeLists.txt b/tdd_intro/cleanroom/CMakeLists.txt new file mode 100644 index 00000000..8bc753e3 --- /dev/null +++ b/tdd_intro/cleanroom/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.0) + +# add subproject +add_subdirectory(chatclient) +set_target_properties(chatclient chatclient_test PROPERTIES FOLDER cleanroom) diff --git a/tdd_intro/cleanroom/chatclient/CMakeLists.txt b/tdd_intro/cleanroom/chatclient/CMakeLists.txt new file mode 100644 index 00000000..bc158d41 --- /dev/null +++ b/tdd_intro/cleanroom/chatclient/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.0) +project(chatclient) + +add_library( + chatclient + igui.h + isocketwrapper.h + socketwrapper.h + socketwrapper.cpp +) +target_link_libraries(chatclient Ws2_32.lib Mswsock.lib AdvApi32.lib) + +add_executable( + chatclient_test + mocks.h + socketwrappertest.cpp + test.cpp +) +target_link_libraries(chatclient_test chatclient gtest_main gmock_main) + +add_test( + NAME chatclient_test + COMMAND chatclient_test +) + +install(TARGETS + chatclient + chatclient_test + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/demo/01_bob/CMakeLists.txt b/tdd_intro/demo/01_bob/CMakeLists.txt new file mode 100644 index 00000000..778d5458 --- /dev/null +++ b/tdd_intro/demo/01_bob/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.0) +project(01_bob) + +# Steps.cpp is not added because it does not include gtest header +# and contains compile errors +add_executable(01_bob test.cpp) +target_link_libraries(01_bob gtest_main) + +add_test( + NAME 01_bob + COMMAND 01_bob +) + +install(TARGETS 01_bob + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/demo/01_fizz_buzz/CMakeLists.txt b/tdd_intro/demo/01_fizz_buzz/CMakeLists.txt new file mode 100644 index 00000000..b787c811 --- /dev/null +++ b/tdd_intro/demo/01_fizz_buzz/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(01_fizz_buzz) + +add_executable(01_fizz_buzz test.cpp) +target_link_libraries(01_fizz_buzz gtest_main) + +add_test( + NAME 01_fizz_buzz + COMMAND 01_fizz_buzz +) + +install(TARGETS 01_fizz_buzz + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/demo/02_anagram/CMakeLists.txt b/tdd_intro/demo/02_anagram/CMakeLists.txt new file mode 100644 index 00000000..347656c0 --- /dev/null +++ b/tdd_intro/demo/02_anagram/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(02_anagram) + +add_executable(02_anagram test.cpp) +target_link_libraries(02_anagram gtest_main) + +add_test( + NAME 02_anagram + COMMAND 02_anagram +) + +install(TARGETS 02_anagram + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/demo/02_word_count/CMakeLists.txt b/tdd_intro/demo/02_word_count/CMakeLists.txt new file mode 100644 index 00000000..07e98cdc --- /dev/null +++ b/tdd_intro/demo/02_word_count/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(02_word_count) + +add_executable(02_word_count test.cpp) +target_link_libraries(02_word_count gtest_main) + +add_test( + NAME 02_word_count + COMMAND 02_word_count +) + +install(TARGETS 02_word_count + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/demo/03_allergies/CMakeLists.txt b/tdd_intro/demo/03_allergies/CMakeLists.txt new file mode 100644 index 00000000..7f8c08be --- /dev/null +++ b/tdd_intro/demo/03_allergies/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(03_allergies) + +add_executable(03_allergies test.cpp) +target_link_libraries(03_allergies gtest_main) + +add_test( + NAME 03_allergies + COMMAND 03_allergies +) + +install(TARGETS 03_allergies + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/demo/03_roman_numerals/CMakeLists.txt b/tdd_intro/demo/03_roman_numerals/CMakeLists.txt new file mode 100644 index 00000000..8b4594de --- /dev/null +++ b/tdd_intro/demo/03_roman_numerals/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(03_roman_numerals) + +add_executable(03_roman_numerals test.cpp) +target_link_libraries(03_roman_numerals gtest_main) + +add_test( + NAME 03_roman_numerals + COMMAND 03_roman_numerals +) + +install(TARGETS 03_roman_numerals + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/demo/04_timer/CMakeLists.txt b/tdd_intro/demo/04_timer/CMakeLists.txt new file mode 100644 index 00000000..b0cd81f3 --- /dev/null +++ b/tdd_intro/demo/04_timer/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(04_timer) + +add_executable(04_timer test.cpp) +target_link_libraries(04_timer gtest_main) + +add_test( + NAME 04_timer + COMMAND 04_timer +) + +install(TARGETS 04_timer + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/demo/CMakeLists.txt b/tdd_intro/demo/CMakeLists.txt new file mode 100644 index 00000000..d1718320 --- /dev/null +++ b/tdd_intro/demo/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.0) + +# add subprojects +add_subdirectory(01_bob) +add_subdirectory(01_fizz_buzz) +add_subdirectory(02_anagram) +add_subdirectory(02_word_count) +add_subdirectory(03_allergies) +add_subdirectory(03_roman_numerals) +add_subdirectory(04_timer) + +set_target_properties(01_bob 01_fizz_buzz + 02_anagram 02_word_count + 03_allergies 03_roman_numerals 04_timer + PROPERTIES FOLDER demo +) diff --git a/tdd_intro/homework/01_leap_year/CMakeLists.txt b/tdd_intro/homework/01_leap_year/CMakeLists.txt new file mode 100644 index 00000000..f7988cc9 --- /dev/null +++ b/tdd_intro/homework/01_leap_year/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(01_leap_year) + +add_executable(01_leap_year test.cpp) +target_link_libraries(01_leap_year gtest_main) + +add_test( + NAME 01_leap_year + COMMAND 01_leap_year +) + +install(TARGETS 01_leap_year + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/homework/02_ternary_numbers/CMakeLists.txt b/tdd_intro/homework/02_ternary_numbers/CMakeLists.txt new file mode 100644 index 00000000..dc14c2e1 --- /dev/null +++ b/tdd_intro/homework/02_ternary_numbers/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(02_ternary_numbers) + +add_executable(02_ternary_numbers test.cpp) +target_link_libraries(02_ternary_numbers gtest_main) + +add_test( + NAME 02_ternary_numbers + COMMAND 02_ternary_numbers +) + +install(TARGETS 02_ternary_numbers + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/homework/03_bank_ocr/CMakeLists.txt b/tdd_intro/homework/03_bank_ocr/CMakeLists.txt new file mode 100644 index 00000000..bec94ef6 --- /dev/null +++ b/tdd_intro/homework/03_bank_ocr/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(03_bank_ocr) + +add_executable(03_bank_ocr test.cpp) +target_link_libraries(03_bank_ocr gtest_main) + +add_test( + NAME 03_bank_ocr + COMMAND 03_bank_ocr +) + +install(TARGETS 03_bank_ocr + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/homework/04_weather_client/CMakeLists.txt b/tdd_intro/homework/04_weather_client/CMakeLists.txt new file mode 100644 index 00000000..f001efc9 --- /dev/null +++ b/tdd_intro/homework/04_weather_client/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(04_weather_client) + +add_executable(04_weather_client test.cpp) +target_link_libraries(04_weather_client gtest_main gmock_main) + +add_test( + NAME 04_weather_client + COMMAND 04_weather_client +) + +install(TARGETS 04_weather_client + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/homework/05_coffee/CMakeLists.txt b/tdd_intro/homework/05_coffee/CMakeLists.txt new file mode 100644 index 00000000..63688361 --- /dev/null +++ b/tdd_intro/homework/05_coffee/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +project(05_coffee) + +add_executable(05_coffee test.cpp) +target_link_libraries(05_coffee gtest_main gmock_main) + +add_test( + NAME 05_coffee + COMMAND 05_coffee +) + +install(TARGETS 05_coffee + DESTINATION ${CMAKE_SOURCE_DIR}/../bin +) diff --git a/tdd_intro/homework/CMakeLists.txt b/tdd_intro/homework/CMakeLists.txt new file mode 100644 index 00000000..42a99ed5 --- /dev/null +++ b/tdd_intro/homework/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.0) + +# add subprojects +add_subdirectory(01_leap_year) +add_subdirectory(02_ternary_numbers) +add_subdirectory(03_bank_ocr) +add_subdirectory(04_weather_client) +add_subdirectory(05_coffee) + +set_target_properties(01_leap_year 02_ternary_numbers + 03_bank_ocr 04_weather_client 05_coffee + PROPERTIES FOLDER homework +) From 6d9bcbdbcd0afa27f3fbb1c98deadaeec9ecf682 Mon Sep 17 00:00:00 2001 From: Ruslan Valiakhmetov Date: Wed, 26 Jun 2019 15:55:12 +0300 Subject: [PATCH 3/4] Refactored CMake adding --- GetSubdirList.cmake | 11 +++++++ tdd_intro/CMakeLists.txt | 4 +++ tdd_intro/demo/01_bob/CMakeLists.txt | 16 --------- tdd_intro/demo/01_fizz_buzz/CMakeLists.txt | 14 -------- tdd_intro/demo/02_anagram/CMakeLists.txt | 14 -------- tdd_intro/demo/02_word_count/CMakeLists.txt | 14 -------- tdd_intro/demo/03_allergies/CMakeLists.txt | 14 -------- .../demo/03_roman_numerals/CMakeLists.txt | 14 -------- tdd_intro/demo/04_timer/CMakeLists.txt | 14 -------- tdd_intro/demo/CMakeLists.txt | 33 +++++++++++-------- .../homework/01_leap_year/CMakeLists.txt | 14 -------- .../02_ternary_numbers/CMakeLists.txt | 14 -------- tdd_intro/homework/03_bank_ocr/CMakeLists.txt | 14 -------- .../homework/04_weather_client/CMakeLists.txt | 14 -------- tdd_intro/homework/05_coffee/CMakeLists.txt | 14 -------- tdd_intro/homework/CMakeLists.txt | 26 ++++++++------- 16 files changed, 50 insertions(+), 194 deletions(-) create mode 100644 GetSubdirList.cmake delete mode 100644 tdd_intro/demo/01_bob/CMakeLists.txt delete mode 100644 tdd_intro/demo/01_fizz_buzz/CMakeLists.txt delete mode 100644 tdd_intro/demo/02_anagram/CMakeLists.txt delete mode 100644 tdd_intro/demo/02_word_count/CMakeLists.txt delete mode 100644 tdd_intro/demo/03_allergies/CMakeLists.txt delete mode 100644 tdd_intro/demo/03_roman_numerals/CMakeLists.txt delete mode 100644 tdd_intro/demo/04_timer/CMakeLists.txt delete mode 100644 tdd_intro/homework/01_leap_year/CMakeLists.txt delete mode 100644 tdd_intro/homework/02_ternary_numbers/CMakeLists.txt delete mode 100644 tdd_intro/homework/03_bank_ocr/CMakeLists.txt delete mode 100644 tdd_intro/homework/04_weather_client/CMakeLists.txt delete mode 100644 tdd_intro/homework/05_coffee/CMakeLists.txt diff --git a/GetSubdirList.cmake b/GetSubdirList.cmake new file mode 100644 index 00000000..55aafe4b --- /dev/null +++ b/GetSubdirList.cmake @@ -0,0 +1,11 @@ +MACRO(GETSUBDIRLIST result curdir) + file(GLOB children RELATIVE ${curdir} ${curdir}/*) + set(dirlist "") + foreach(child ${children}) + if(IS_DIRECTORY ${curdir}/${child} + AND NOT "CMakeFiles" STREQUAL ${child}) + list(APPEND dirlist ${child}) + endif() + endforeach() + set(${result} ${dirlist}) +ENDMACRO(GETSUBDIRLIST) diff --git a/tdd_intro/CMakeLists.txt b/tdd_intro/CMakeLists.txt index ad609cc6..73ce01f0 100644 --- a/tdd_intro/CMakeLists.txt +++ b/tdd_intro/CMakeLists.txt @@ -4,6 +4,10 @@ project(tdd-course-3) # to run tests after build enable_testing() +# to enable GETSUBDIRLIST macro +set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/..") +include(GetSubdirList) + # turn on using solution folders for IDE set_property(GLOBAL PROPERTY USE_FOLDERS ON) diff --git a/tdd_intro/demo/01_bob/CMakeLists.txt b/tdd_intro/demo/01_bob/CMakeLists.txt deleted file mode 100644 index 778d5458..00000000 --- a/tdd_intro/demo/01_bob/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(01_bob) - -# Steps.cpp is not added because it does not include gtest header -# and contains compile errors -add_executable(01_bob test.cpp) -target_link_libraries(01_bob gtest_main) - -add_test( - NAME 01_bob - COMMAND 01_bob -) - -install(TARGETS 01_bob - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/demo/01_fizz_buzz/CMakeLists.txt b/tdd_intro/demo/01_fizz_buzz/CMakeLists.txt deleted file mode 100644 index b787c811..00000000 --- a/tdd_intro/demo/01_fizz_buzz/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(01_fizz_buzz) - -add_executable(01_fizz_buzz test.cpp) -target_link_libraries(01_fizz_buzz gtest_main) - -add_test( - NAME 01_fizz_buzz - COMMAND 01_fizz_buzz -) - -install(TARGETS 01_fizz_buzz - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/demo/02_anagram/CMakeLists.txt b/tdd_intro/demo/02_anagram/CMakeLists.txt deleted file mode 100644 index 347656c0..00000000 --- a/tdd_intro/demo/02_anagram/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(02_anagram) - -add_executable(02_anagram test.cpp) -target_link_libraries(02_anagram gtest_main) - -add_test( - NAME 02_anagram - COMMAND 02_anagram -) - -install(TARGETS 02_anagram - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/demo/02_word_count/CMakeLists.txt b/tdd_intro/demo/02_word_count/CMakeLists.txt deleted file mode 100644 index 07e98cdc..00000000 --- a/tdd_intro/demo/02_word_count/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(02_word_count) - -add_executable(02_word_count test.cpp) -target_link_libraries(02_word_count gtest_main) - -add_test( - NAME 02_word_count - COMMAND 02_word_count -) - -install(TARGETS 02_word_count - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/demo/03_allergies/CMakeLists.txt b/tdd_intro/demo/03_allergies/CMakeLists.txt deleted file mode 100644 index 7f8c08be..00000000 --- a/tdd_intro/demo/03_allergies/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(03_allergies) - -add_executable(03_allergies test.cpp) -target_link_libraries(03_allergies gtest_main) - -add_test( - NAME 03_allergies - COMMAND 03_allergies -) - -install(TARGETS 03_allergies - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/demo/03_roman_numerals/CMakeLists.txt b/tdd_intro/demo/03_roman_numerals/CMakeLists.txt deleted file mode 100644 index 8b4594de..00000000 --- a/tdd_intro/demo/03_roman_numerals/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(03_roman_numerals) - -add_executable(03_roman_numerals test.cpp) -target_link_libraries(03_roman_numerals gtest_main) - -add_test( - NAME 03_roman_numerals - COMMAND 03_roman_numerals -) - -install(TARGETS 03_roman_numerals - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/demo/04_timer/CMakeLists.txt b/tdd_intro/demo/04_timer/CMakeLists.txt deleted file mode 100644 index b0cd81f3..00000000 --- a/tdd_intro/demo/04_timer/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(04_timer) - -add_executable(04_timer test.cpp) -target_link_libraries(04_timer gtest_main) - -add_test( - NAME 04_timer - COMMAND 04_timer -) - -install(TARGETS 04_timer - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/demo/CMakeLists.txt b/tdd_intro/demo/CMakeLists.txt index d1718320..b0d0706a 100644 --- a/tdd_intro/demo/CMakeLists.txt +++ b/tdd_intro/demo/CMakeLists.txt @@ -1,16 +1,23 @@ cmake_minimum_required(VERSION 3.0) -# add subprojects -add_subdirectory(01_bob) -add_subdirectory(01_fizz_buzz) -add_subdirectory(02_anagram) -add_subdirectory(02_word_count) -add_subdirectory(03_allergies) -add_subdirectory(03_roman_numerals) -add_subdirectory(04_timer) +GETSUBDIRLIST(PROJECTS ${CMAKE_CURRENT_SOURCE_DIR}) -set_target_properties(01_bob 01_fizz_buzz - 02_anagram 02_word_count - 03_allergies 03_roman_numerals 04_timer - PROPERTIES FOLDER demo -) +foreach(PROJ ${PROJECTS}) + project(${PROJ}) + + if(${PROJ} STREQUAL "01_bob") + # Steps.cpp contains compile errors + FILE(GLOB SOURCES_FILES ${PROJ}/test.cpp) + else() + FILE(GLOB SOURCES_FILES ${PROJ}/*.h ${PROJ}/*.cpp) + endif() + + add_executable(${PROJ} ${SOURCES_FILES}) + target_link_libraries(${PROJ} gtest_main gmock_main) + + add_test(NAME ${PROJ} COMMAND ${PROJ}) +endforeach() + +set_target_properties(${PROJECTS} PROPERTIES FOLDER demo) + +install(TARGETS ${PROJECTS} DESTINATION ${CMAKE_SOURCE_DIR}/../bin) diff --git a/tdd_intro/homework/01_leap_year/CMakeLists.txt b/tdd_intro/homework/01_leap_year/CMakeLists.txt deleted file mode 100644 index f7988cc9..00000000 --- a/tdd_intro/homework/01_leap_year/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(01_leap_year) - -add_executable(01_leap_year test.cpp) -target_link_libraries(01_leap_year gtest_main) - -add_test( - NAME 01_leap_year - COMMAND 01_leap_year -) - -install(TARGETS 01_leap_year - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/homework/02_ternary_numbers/CMakeLists.txt b/tdd_intro/homework/02_ternary_numbers/CMakeLists.txt deleted file mode 100644 index dc14c2e1..00000000 --- a/tdd_intro/homework/02_ternary_numbers/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(02_ternary_numbers) - -add_executable(02_ternary_numbers test.cpp) -target_link_libraries(02_ternary_numbers gtest_main) - -add_test( - NAME 02_ternary_numbers - COMMAND 02_ternary_numbers -) - -install(TARGETS 02_ternary_numbers - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/homework/03_bank_ocr/CMakeLists.txt b/tdd_intro/homework/03_bank_ocr/CMakeLists.txt deleted file mode 100644 index bec94ef6..00000000 --- a/tdd_intro/homework/03_bank_ocr/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(03_bank_ocr) - -add_executable(03_bank_ocr test.cpp) -target_link_libraries(03_bank_ocr gtest_main) - -add_test( - NAME 03_bank_ocr - COMMAND 03_bank_ocr -) - -install(TARGETS 03_bank_ocr - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/homework/04_weather_client/CMakeLists.txt b/tdd_intro/homework/04_weather_client/CMakeLists.txt deleted file mode 100644 index f001efc9..00000000 --- a/tdd_intro/homework/04_weather_client/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(04_weather_client) - -add_executable(04_weather_client test.cpp) -target_link_libraries(04_weather_client gtest_main gmock_main) - -add_test( - NAME 04_weather_client - COMMAND 04_weather_client -) - -install(TARGETS 04_weather_client - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/homework/05_coffee/CMakeLists.txt b/tdd_intro/homework/05_coffee/CMakeLists.txt deleted file mode 100644 index 63688361..00000000 --- a/tdd_intro/homework/05_coffee/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(05_coffee) - -add_executable(05_coffee test.cpp) -target_link_libraries(05_coffee gtest_main gmock_main) - -add_test( - NAME 05_coffee - COMMAND 05_coffee -) - -install(TARGETS 05_coffee - DESTINATION ${CMAKE_SOURCE_DIR}/../bin -) diff --git a/tdd_intro/homework/CMakeLists.txt b/tdd_intro/homework/CMakeLists.txt index 42a99ed5..f4532f6a 100644 --- a/tdd_intro/homework/CMakeLists.txt +++ b/tdd_intro/homework/CMakeLists.txt @@ -1,13 +1,17 @@ cmake_minimum_required(VERSION 3.0) -# add subprojects -add_subdirectory(01_leap_year) -add_subdirectory(02_ternary_numbers) -add_subdirectory(03_bank_ocr) -add_subdirectory(04_weather_client) -add_subdirectory(05_coffee) - -set_target_properties(01_leap_year 02_ternary_numbers - 03_bank_ocr 04_weather_client 05_coffee - PROPERTIES FOLDER homework -) +GETSUBDIRLIST(PROJECTS ${CMAKE_CURRENT_SOURCE_DIR}) + +foreach(PROJ ${PROJECTS}) + project(${PROJ}) + + FILE(GLOB SOURCES_FILES ${PROJ}/*.h ${PROJ}/*.cpp) + add_executable(${PROJ} ${SOURCES_FILES}) + target_link_libraries(${PROJ} gtest_main gmock_main) + + add_test(NAME ${PROJ} COMMAND ${PROJ}) +endforeach() + +set_target_properties(${PROJECTS} PROPERTIES FOLDER homework) + +install(TARGETS ${PROJECTS} DESTINATION ${CMAKE_SOURCE_DIR}/../bin) From 1704416dc1299f7103b2ee96e431f0f919b8c6ae Mon Sep 17 00:00:00 2001 From: Ruslan Valiakhmetov Date: Wed, 26 Jun 2019 16:02:40 +0300 Subject: [PATCH 4/4] Fixed tabs --- tdd_intro/cleanroom/chatclient/CMakeLists.txt | 24 +++++++++---------- tdd_intro/demo/CMakeLists.txt | 10 ++++---- tdd_intro/homework/CMakeLists.txt | 8 +++---- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/tdd_intro/cleanroom/chatclient/CMakeLists.txt b/tdd_intro/cleanroom/chatclient/CMakeLists.txt index bc158d41..390af373 100644 --- a/tdd_intro/cleanroom/chatclient/CMakeLists.txt +++ b/tdd_intro/cleanroom/chatclient/CMakeLists.txt @@ -2,19 +2,19 @@ cmake_minimum_required(VERSION 3.0) project(chatclient) add_library( - chatclient - igui.h - isocketwrapper.h - socketwrapper.h - socketwrapper.cpp + chatclient + igui.h + isocketwrapper.h + socketwrapper.h + socketwrapper.cpp ) target_link_libraries(chatclient Ws2_32.lib Mswsock.lib AdvApi32.lib) add_executable( - chatclient_test - mocks.h - socketwrappertest.cpp - test.cpp + chatclient_test + mocks.h + socketwrappertest.cpp + test.cpp ) target_link_libraries(chatclient_test chatclient gtest_main gmock_main) @@ -24,7 +24,7 @@ add_test( ) install(TARGETS - chatclient - chatclient_test - DESTINATION ${CMAKE_SOURCE_DIR}/../bin + chatclient + chatclient_test + DESTINATION ${CMAKE_SOURCE_DIR}/../bin ) diff --git a/tdd_intro/demo/CMakeLists.txt b/tdd_intro/demo/CMakeLists.txt index b0d0706a..6403edfe 100644 --- a/tdd_intro/demo/CMakeLists.txt +++ b/tdd_intro/demo/CMakeLists.txt @@ -8,14 +8,14 @@ foreach(PROJ ${PROJECTS}) if(${PROJ} STREQUAL "01_bob") # Steps.cpp contains compile errors FILE(GLOB SOURCES_FILES ${PROJ}/test.cpp) - else() + else() FILE(GLOB SOURCES_FILES ${PROJ}/*.h ${PROJ}/*.cpp) - endif() + endif() - add_executable(${PROJ} ${SOURCES_FILES}) - target_link_libraries(${PROJ} gtest_main gmock_main) + add_executable(${PROJ} ${SOURCES_FILES}) + target_link_libraries(${PROJ} gtest_main gmock_main) - add_test(NAME ${PROJ} COMMAND ${PROJ}) + add_test(NAME ${PROJ} COMMAND ${PROJ}) endforeach() set_target_properties(${PROJECTS} PROPERTIES FOLDER demo) diff --git a/tdd_intro/homework/CMakeLists.txt b/tdd_intro/homework/CMakeLists.txt index f4532f6a..d43f47cd 100644 --- a/tdd_intro/homework/CMakeLists.txt +++ b/tdd_intro/homework/CMakeLists.txt @@ -5,11 +5,11 @@ GETSUBDIRLIST(PROJECTS ${CMAKE_CURRENT_SOURCE_DIR}) foreach(PROJ ${PROJECTS}) project(${PROJ}) - FILE(GLOB SOURCES_FILES ${PROJ}/*.h ${PROJ}/*.cpp) - add_executable(${PROJ} ${SOURCES_FILES}) - target_link_libraries(${PROJ} gtest_main gmock_main) + FILE(GLOB SOURCES_FILES ${PROJ}/*.h ${PROJ}/*.cpp) + add_executable(${PROJ} ${SOURCES_FILES}) + target_link_libraries(${PROJ} gtest_main gmock_main) - add_test(NAME ${PROJ} COMMAND ${PROJ}) + add_test(NAME ${PROJ} COMMAND ${PROJ}) endforeach() set_target_properties(${PROJECTS} PROPERTIES FOLDER homework)