cmake_minimum_required(VERSION 2.6) project(cstring++) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) # preprocessor add_definitions(-DDEBUG) # compiler flags set(CMAKE_CXX_FLAGS "-Wall -std=gnu++98 -pedantic") if($ENV{DEBUG}) message("-- Enabling debug flags") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0") set(CMAKE_BUILD_TYPE Debug) else($ENV{DEBUG}) message("-- Enabling release flags") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -march=native -mtune=native") set(CMAKE_BUILD_TYPE Release) endif($ENV{DEBUG}) message("-- CXX flags: ${CMAKE_CXX_FLAGS}") set(SRC_FILES string.cpp main.cpp ) set(CMAKE_BINARY_DIR bin) include_directories(${APP_SOURCE_DIR}) add_executable(${PROJECT_NAME} ${SRC_FILES})