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" )