change cmakelists and gitignore, commit third librarys source
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1 +1,2 @@
 | 
				
			|||||||
/build/
 | 
					/build/
 | 
				
			||||||
 | 
					.cache/
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
include_directories(${PROJECT_SOURCE_DIR}/include)
 | 
					include_directories(${PROJECT_SOURCE_DIR}/include)
 | 
				
			||||||
file(GLOB_RECURSE srcs ${PROJECT_SOURCE_DIR}/src/*.cc)
 | 
					file(GLOB_RECURSE srcs ${PROJECT_SOURCE_DIR}/src/*.cc)
 | 
				
			||||||
 | 
					file(GLOB_RECURSE tests ${PROJECT_SOURCE_DIR}/test/*.cc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})
 | 
					set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -14,6 +15,7 @@ include(FetchContent)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
include(spdlog)
 | 
					include(spdlog)
 | 
				
			||||||
include(gtest)
 | 
					include(gtest)
 | 
				
			||||||
 | 
					enable_testing()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IF(UNIX)
 | 
					IF(UNIX)
 | 
				
			||||||
	find_package(SFML 2.5 COMPONENTS system window graphics network audio REQUIRED)
 | 
						find_package(SFML 2.5 COMPONENTS system window graphics network audio REQUIRED)
 | 
				
			||||||
@@ -29,9 +31,20 @@ IF(UNIX)
 | 
				
			|||||||
		sfml-audio
 | 
							sfml-audio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		spdlog
 | 
							spdlog
 | 
				
			||||||
		gtest
 | 
						)
 | 
				
			||||||
 | 
						add_executable(${PROJECT_N}_test
 | 
				
			||||||
 | 
							${srcs}
 | 
				
			||||||
 | 
							${tests}
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
						target_link_libraries(${PROJECT_N}_test PRIVATE
 | 
				
			||||||
 | 
							spdlog
 | 
				
			||||||
 | 
							GTest::gtest_main
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ELSE(WIN32)
 | 
					ELSE(WIN32)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENDIF()
 | 
					ENDIF()
 | 
				
			||||||
 | 
					include(GoogleTest)
 | 
				
			||||||
 | 
					gtest_discover_tests(${PROJECT_N})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								cmake_modules/gtest.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								cmake_modules/gtest.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					include(FetchContent)
 | 
				
			||||||
 | 
					FetchContent_Declare(
 | 
				
			||||||
 | 
					  gtest
 | 
				
			||||||
 | 
					  GIT_REPOSITORY https://gitee.com/mirrors/googletest.git
 | 
				
			||||||
 | 
					  SOURCE_DIR	 ${CMAKE_CURRENT_SOURCE_DIR}/external/gtest
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FetchContent_MakeAvailable(gtest)
 | 
				
			||||||
							
								
								
									
										8
									
								
								cmake_modules/spdlog.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								cmake_modules/spdlog.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					include(FetchContent)
 | 
				
			||||||
 | 
					FetchContent_Declare(
 | 
				
			||||||
 | 
					  spdlog
 | 
				
			||||||
 | 
					  GIT_REPOSITORY https://15209444885:9e4e79586fa1a4d39e6634de8881b19e@gitee.com/MaderHatter/spdlog.git
 | 
				
			||||||
 | 
					  SOURCE_DIR	 ${CMAKE_CURRENT_SOURCE_DIR}/external/spdlog
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FetchContent_MakeAvailable(spdlog)
 | 
				
			||||||
							
								
								
									
										1
									
								
								external/gtest
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								external/gtest
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule external/gtest added at 1b18723e87
									
								
							
							
								
								
									
										1
									
								
								external/spdlog
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								external/spdlog
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule external/spdlog added at 00efbb6d1d
									
								
							
							
								
								
									
										9
									
								
								include/UtilTool.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								include/UtilTool.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#include <iostream>
 | 
				
			||||||
 | 
					#include <array>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class UtilTool
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					    constexpr static std::array<std::string, 2> ImageType{"jpg","png"};
 | 
				
			||||||
 | 
					    static bool CheckFileIsImage(const std::string& filename);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										15
									
								
								src/UtilTool.cc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/UtilTool.cc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					#include "UtilTool.h"
 | 
				
			||||||
 | 
					#include <filesystem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool UtilTool::CheckFileIsImage(const std::string& filepath){
 | 
				
			||||||
 | 
					    //简单实现, 通过后缀判断
 | 
				
			||||||
 | 
					    auto path = std::filesystem::path(filepath);
 | 
				
			||||||
 | 
					    auto su = path.extension().string();
 | 
				
			||||||
 | 
					    for(const auto& type : ImageType){
 | 
				
			||||||
 | 
					        if (su.find(type) != std::string::npos){
 | 
				
			||||||
 | 
					            return true;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										9
									
								
								test/main_test.cc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/main_test.cc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#include <gtest/gtest.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main(int argc, char **const argv){
 | 
				
			||||||
 | 
					    ::testing::InitGoogleTest(&argc, argv);
 | 
				
			||||||
 | 
					    return RUN_ALL_TESTS();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								test/util_test.cc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/util_test.cc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					#include <gtest/gtest.h>
 | 
				
			||||||
 | 
					#include "UtilTool.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST(UtilTest, CheckIsImageTestShouldTrue) {
 | 
				
			||||||
 | 
						EXPECT_EQ(UtilTool::CheckFileIsImage("test.jpg"), true);
 | 
				
			||||||
 | 
						EXPECT_EQ(UtilTool::CheckFileIsImage("test.png"), true);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					TEST(UtilTest, CheckIsImageTestShouldFalse) {
 | 
				
			||||||
 | 
						EXPECT_EQ(UtilTool::CheckFileIsImage("test.mp4"), false);
 | 
				
			||||||
 | 
						EXPECT_EQ(UtilTool::CheckFileIsImage("test.wav"), false);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user