make cmake project embedable

This commit is contained in:
Green Sky 2023-12-14 18:13:58 +01:00
parent 910029bf4f
commit a747053a48
No known key found for this signature in database

View File

@ -1,8 +1,18 @@
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
# cmake setup begin
project(tomato)
project(totato)
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set(TOTATO_STANDALONE ON)
else()
set(TOTATO_STANDALONE OFF)
endif()
message("II TOTATO_STANDALONE " ${TOTATO_STANDALONE})
#option(TOTATO_BUILD_PLUGINS "Build the toxic_games plugins" ${TOTATO_STANDALONE})
if (TOTATO_STANDALONE)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# defaulting to debug mode, if not specified
@ -17,10 +27,12 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
endif()
# external libs
add_subdirectory(./external) # before increasing warn levels, sad :(
if (TOTATO_STANDALONE)
set(CMAKE_CXX_EXTENSIONS OFF)
# bump up warning levels appropriately for clang, gcc & msvc
@ -45,6 +57,7 @@ elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
endif()
endif()
endif()
# cmake setup end