cmake_minimum_required(VERSION 3.24)
project(CPPDemo)

set(CMAKE_CXX_STANDARD 20)
add_executable(CPPDemo main.cpp)


# Static linking libgcc and winpthread.
if(NOT MSVC)
    if (${CMAKE_BUILD_TYPE} MATCHES "Release")
        target_link_options(CPPDemo PRIVATE -static-libgcc -static -lwinpthread -dynamic -pthread -O3 -s -Wl,-Map,CPPDemo.map)
    elseif(${CMAKE_BUILD_TYPE} MATCHES "Debug")
        target_link_options(CPPDemo PRIVATE -static-libgcc -static -lwinpthread -dynamic -pthread -O0)
    endif()
endif()