mirror of
https://github.com/Dark98/threeSD.git
synced 2026-07-03 00:38:58 +00:00
33 lines
1.1 KiB
CMake
33 lines
1.1 KiB
CMake
# CMake 3.8 required for 17 to be a valid value for CXX_STANDARD
|
|
cmake_minimum_required(VERSION 3.8)
|
|
|
|
project(threeSD)
|
|
|
|
# Sanity check : Check that all submodules are present
|
|
# =======================================================================
|
|
function(check_submodules_present)
|
|
file(READ "${PROJECT_SOURCE_DIR}/.gitmodules" gitmodules)
|
|
string(REGEX MATCHALL "path *= *[^ \t\r\n]*" gitmodules ${gitmodules})
|
|
foreach(module ${gitmodules})
|
|
string(REGEX REPLACE "path *= *" "" module ${module})
|
|
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/${module}/.git")
|
|
message(SEND_ERROR "Git submodule ${module} not found."
|
|
"Please run: git submodule update --init --recursive")
|
|
endif()
|
|
endforeach()
|
|
endfunction()
|
|
check_submodules_present()
|
|
|
|
# Configure C++ standard
|
|
# ===========================
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# set up output paths for executable binaries
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
|
|
|
# Include source code
|
|
# ===================
|
|
add_subdirectory(externals)
|
|
add_subdirectory(src)
|