change CMakeLists.txt and util_test.cc
This commit is contained in:
parent
83cc278754
commit
4d7249aca2
@ -1,5 +1,8 @@
|
|||||||
cmake_minimum_required(VERSION 3.26)
|
cmake_minimum_required(VERSION 3.26)
|
||||||
|
|
||||||
set(PROJECT_N "mp")
|
set(PROJECT_N "mp")
|
||||||
|
set(PROJECT_N_T "mp_test")
|
||||||
|
|
||||||
project(${PROJECT_N} VERSION 1.0)
|
project(${PROJECT_N} VERSION 1.0)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
@ -32,15 +35,29 @@ IF(UNIX)
|
|||||||
|
|
||||||
spdlog
|
spdlog
|
||||||
)
|
)
|
||||||
add_executable(${PROJECT_N}_test
|
add_executable(${PROJECT_N_T}
|
||||||
${srcs}
|
${srcs}
|
||||||
${tests}
|
${tests}
|
||||||
)
|
)
|
||||||
target_link_libraries(${PROJECT_N}_test PRIVATE
|
target_link_libraries(${PROJECT_N_T} PRIVATE
|
||||||
spdlog
|
spdlog
|
||||||
GTest::gtest_main
|
GTest::gtest_main
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_custom_target(run
|
||||||
|
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_N} ./img/ocean.jpg
|
||||||
|
DEPENDS ${PROJECT_N}
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
COMMENT "Starting ${PROJECT_N}"
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(run_test
|
||||||
|
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_N_T}
|
||||||
|
DEPENDS ${PROJECT_N_T}
|
||||||
|
WORKING_DIRECTORY ${PROJECT_CURRENT_BINARY_DIR}
|
||||||
|
COMMENT "Starting ${PROJECT_N}"
|
||||||
|
)
|
||||||
|
|
||||||
ELSE(WIN32)
|
ELSE(WIN32)
|
||||||
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
29
main.cc
29
main.cc
@ -1,14 +1,32 @@
|
|||||||
|
#include <cstdio>
|
||||||
#include <SFML/System.hpp>
|
#include <SFML/System.hpp>
|
||||||
#include <SFML/Graphics.hpp>
|
#include <SFML/Graphics.hpp>
|
||||||
#include <SFML/Window.hpp>
|
#include <SFML/Window.hpp>
|
||||||
#include <spdlog/spdlog.h>
|
#include <spdlog/spdlog.h>
|
||||||
|
#include "UtilTool.h"
|
||||||
|
|
||||||
|
constexpr int CLIENT_WIDTH = 800;
|
||||||
|
constexpr int CLIENT_HEIGHT = 600;
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char** const argv){
|
int main(int argc, char** argv){
|
||||||
spdlog::info("Hello, World!");
|
spdlog::info("Current WorkDir Is: {}",argv[0]);
|
||||||
sf::RenderWindow window(sf::VideoMode(800, 600), "mp");
|
if(argc != 2){
|
||||||
|
spdlog::error("Usage: mp filename ");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if(!UtilTool::CheckFileIsImage(argv[1])){
|
||||||
|
spdlog::info("Unsupport File Type: {}",argv[1]);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
sf::Texture texture;
|
sf::Texture texture;
|
||||||
|
texture.loadFromFile(argv[1]);
|
||||||
|
sf::RenderWindow window(sf::VideoMode(CLIENT_WIDTH, CLIENT_HEIGHT), "mp");
|
||||||
sf::Sprite sprite;
|
sf::Sprite sprite;
|
||||||
|
sprite.setTexture(texture);
|
||||||
|
auto imgSize = texture.getSize();
|
||||||
|
auto scale = std::min(CLIENT_WIDTH/imgSize.x,CLIENT_HEIGHT/imgSize.y);
|
||||||
|
sprite.setScale(scale, scale);
|
||||||
bool running = true;
|
bool running = true;
|
||||||
|
|
||||||
while(running){
|
while(running){
|
||||||
@ -22,8 +40,13 @@ int main(int argc, char** const argv){
|
|||||||
running = false;
|
running = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(event.type == sf::Event::Resized){
|
||||||
|
auto scale = std::min(event.size.width / imgSize.x, event.size.height / imgSize.y);
|
||||||
|
sprite.setScale(scale, scale);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
window.clear();
|
window.clear();
|
||||||
|
window.draw(sprite);
|
||||||
window.display();
|
window.display();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
#include "UtilTool.h"
|
#include "UtilTool.h"
|
||||||
|
|
||||||
TEST(UtilTest, CheckIsImageTestShouldTrue) {
|
TEST(UtilTest, CheckIsImageTestShouldTrue) {
|
||||||
EXPECT_EQ(UtilTool::CheckFileIsImage("test.jpg"), true);
|
EXPECT_EQ(UtilTool::CheckFileIsImage("ocean.jpg"), true);
|
||||||
EXPECT_EQ(UtilTool::CheckFileIsImage("test.png"), true);
|
EXPECT_EQ(UtilTool::CheckFileIsImage("test.png"), true);
|
||||||
}
|
}
|
||||||
TEST(UtilTest, CheckIsImageTestShouldFalse) {
|
TEST(UtilTest, CheckIsImageTestShouldFalse) {
|
||||||
EXPECT_EQ(UtilTool::CheckFileIsImage("test.mp4"), false);
|
EXPECT_EQ(UtilTool::CheckFileIsImage("test.mp4"), false);
|
||||||
EXPECT_EQ(UtilTool::CheckFileIsImage("test.wav"), false);
|
EXPECT_EQ(UtilTool::CheckFileIsImage("test.wav"), false);
|
||||||
|
EXPECT_EQ(UtilTool::CheckFileIsImage("--gtest_list_tests"), false);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user