cmake_Minimum_required(VERSION 3.8) project(Re3) set (CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -masm=intel -Wdouble-promotion") file(GLOB_RECURSE Sources "*.cpp" "*.h") MACRO(HEADER_DIRECTORIES return_list) FILE(GLOB_RECURSE new_list *.h) SET(dir_list "") FOREACH(file_path ${new_list}) GET_FILENAME_COMPONENT(dir_path ${file_path} PATH) SET(dir_list ${dir_list} ${dir_path}) ENDFOREACH() LIST(REMOVE_DUPLICATES dir_list) SET(${return_list} ${dir_list}) ENDMACRO() HEADER_DIRECTORIES(header_list) include_directories(${header_list}) add_library(re3 ${Sources})