diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..cdcea6a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.10.0) +set(CMAKE_BUILD_TYPE release CACHE STRING "build mode ") +cmake_policy(SET CMP0017 NEW) +project(StringArt) +if (CMAKE_BUILD_TYPE STREQUAL "debug") + message("building debug version") + add_definitions(-Wall -Wextra -O0 -g) +elseif (CMAKE_BUILD_TYPE STREQUAL "native") + message("building release version optimized for local CPU") + add_definitions(-Wall -Wextra -O3 -march=native -mtune=native) +else() + message("building generic release version") + add_definitions(-Wall -Wextra -O3) +endif() + +add_definitions(-std=c++20) +set (CMAKE_CXX_STANDARD 20) +set (CMAKE_C_STANDARD 20) + +find_package(ImageMagick COMPONENTS Magick++) + +add_executable(stringart main.cpp) +target_link_libraries(stringart ImageMagick::Magick++)