CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT("inverter_poller")

# Set default build type to Release if not specified
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build (Debug or Release)" FORCE)
endif()

# Compiler flags for different build types
set(CMAKE_CXX_FLAGS "--std=c++0x ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DDEBUG -Wall -Wextra")

# Print build type
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")

file(GLOB SOURCES *.cpp)
ADD_EXECUTABLE(inverter_poller ${SOURCES})
target_link_libraries(inverter_poller -lpthread)

# Set output directory for binary
set_target_properties(inverter_poller PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin"
)
