CMAKE_MINIMUM_REQUIRED (VERSION 3.5)

PROJECT (observer CXX)

IF(WIN32)
    # make the Release version create a PDB
    SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
    # minimize the size or the resulting EXE
    SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
ELSE()
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2")
ENDIF()

FILE(GLOB SRCFILES *.cpp)
ADD_EXECUTABLE(observer ${SRCFILES})

SET_TARGET_PROPERTIES(observer PROPERTIES 
    CXX_STANDARD 17
    CXX_STANDARD_PROPERTIES YES
    CXX_EXTENSIONS NO
)

ADD_CUSTOM_COMMAND(
    TARGET observer
    POST_BUILD
    COMMAND
        ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/observer.yaml $<TARGET_FILE_DIR:observer>
)
