-
Alexander Gauggel authoredAlexander Gauggel authored
CMakeLists.txt 1.06 KiB
cmake_minimum_required(VERSION 3.16)
project(vkcv)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
message("-- Language: [ C++ " ${CMAKE_CXX_STANDARD} " ]")
set(vkcv_config ${PROJECT_SOURCE_DIR}/config)
set(vkcv_config_ext ${vkcv_config}/ext)
set(vkcv_lib lib)
set(vkcv_source ${PROJECT_SOURCE_DIR}/src)
set(vkcv_flags ${CMAKE_CXX_FLAGS})
include(${vkcv_config}/Sources.cmake)
include(${vkcv_config}/Libraries.cmake)
set(CMAKE_CXX_FLAGS ${vkcv_flags})
message("-- Flags: [ ${CMAKE_CXX_FLAGS} ]")
add_compile_definitions(${vkcv_definitions})
if (vkcv_directories)
include_directories(${vkcv_directories})
endif()
add_library(vkcv STATIC ${vkcv_sources})
if(MSVC)
#enable multicore compilation on visual studio
target_compile_options(vkcv PRIVATE "/MP" "/openmp")
#set source groups to create proper filters in visual studio
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${vkcv_sources})
endif()
target_include_directories(vkcv SYSTEM BEFORE PRIVATE ${vkcv_includes})
target_link_libraries(vkcv ${vkcv_libraries})
add_subdirectory(projects)