Files
cs3460-cpp/Assignment2/CMakeLists.txt
2019-09-22 16:36:00 -06:00

31 lines
955 B
CMake

cmake_minimum_required(VERSION 3.14)
project(Assignment2)
set(CMAKE_CXX_STANDARD 17)
set(SOURCE_FILES
Assignment2.cpp)
add_executable(hw Assignment2.cpp)
add_executable(RandDistributions ${SOURCE_FILES})
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
target_compile_options(RandDistributions PRIVATE /W4 /permissive-)
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
target_compile_options(RandDistributions PRIVATE -Wall -Wextra -pedantic)
endif()
find_program(CLANG_FORMAT "clang-format")
if(CLANG_FORMAT)
unset(SOURCE_FILES_PATHS)
foreach(SOURCE_FILE ${SOURCE_FILES})
get_source_file_property(WHERE ${SOURCE_FILE} LOCATION)
set(SOURCE_FILES_PATHS ${SOURCE_FILES_PATHS} ${WHERE})
endforeach()
add_custom_target(
ClangFormatCOMMAND
${CLANG_FORMAT}
-i
-style=file
${SOURCE_FILES_PATHS})
add_dependencies(Assignment2 ClangFormat)
endif()