From 604422c1372936b444053704b7832528b313489a Mon Sep 17 00:00:00 2001 From: gaoyuankan Date: Thu, 27 Feb 2025 11:44:50 +0800 Subject: [PATCH] Complete hw01 --- .gitignore | 2 ++ CMakeLists.txt | 3 ++- mandel.png | Bin 0 -> 28061 bytes rainbow.png | Bin 0 -> 8242 bytes stbiw/CMakeLists.txt | 4 +++- stbiw/stb_image_write.cpp | 2 ++ 6 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 mandel.png create mode 100644 rainbow.png create mode 100644 stbiw/stb_image_write.cpp diff --git a/.gitignore b/.gitignore index 9ed92a0..4f53da8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ +tags +.cache build GNUmakefile diff --git a/CMakeLists.txt b/CMakeLists.txt index 887bb43..92a33ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.27) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) project(hellocmake LANGUAGES CXX) if (NOT CMAKE_BUILD_TYPE) diff --git a/mandel.png b/mandel.png new file mode 100644 index 0000000000000000000000000000000000000000..96c0df5a5051490f2bf0bf3f425e5648134098d9 GIT binary patch literal 28061 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 V_HYm6D%-9BLH=QW*L*m6{|A1D)+7J` literal 0 HcmV?d00001 diff --git a/rainbow.png b/rainbow.png new file mode 100644 index 0000000000000000000000000000000000000000..3ecd86bcc82e22705c507e800d3fe3d92c70ff84 GIT binary patch literal 8242 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&t&wwUqN(1_t?`o-U3d6>-Ta49v#@i%eMD zoD;xAODlu$VGRl1#)|?FVxr=KLkBFRJ}*`@kYWN8%7!d%)eMVY*1>dTaP)j*aGU%O zNVgpT5*Gv{-ZJ*6{e>9;6PV#Z8*VX6_%b7`J8Z|| z7S7nK_6cU(LPY~Bc7s`8++j`zTFReb^0FUndD{UFpyTBZWL%Pmc>>6hLh_L(#ESPY zE1aAYO86+ykLF%<@4NvTFM1(E3FaI@ptp+|7JJrHDfpCu<~$z_es}^xOHHG}KbrbS z3!l-#2T}oymi?nu?`YLK+VX*f09sQ4tsyts@WkJ4A8mM|^ixLL{iEHk(OxgCY8mZz zjdr_6yIrH*uF-B6Fa$WP7Cu9|@Bv02gIW#yp97MgW&_s(FnGH9xvX