change cmakelists and gitignore, commit third librarys source
This commit is contained in:
parent
c1c0b98b5c
commit
83cc278754
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
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 1b18723e874b256c1e39378c6774a90701d70f7a
|
1
external/spdlog
vendored
Submodule
1
external/spdlog
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 00efbb6d1dd30fcbd1a34a4c45352749550d38e7
|
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);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user