2018-06-12 00:24:43 -07:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CMakeLists.txt
|
|
|
|
#------------------------------------------------------------------------------
|
2018-06-13 17:49:56 -07:00
|
|
|
cmake_minimum_required(VERSION 3.1)
|
2015-02-15 08:36:03 -08:00
|
|
|
|
2019-01-09 10:32:28 -08:00
|
|
|
project(openminer)
|
2015-02-15 08:36:03 -08:00
|
|
|
|
2018-06-12 00:24:43 -07:00
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
2015-02-15 08:36:03 -08:00
|
|
|
|
2020-05-11 08:30:54 -07:00
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
2020-01-21 21:18:31 -08:00
|
|
|
|
2020-04-29 15:18:35 -07:00
|
|
|
if (APPLE)
|
|
|
|
add_definitions(-DGL_SILENCE_DEPRECATION=1)
|
|
|
|
endif ()
|
|
|
|
|
2020-03-17 12:35:21 -07:00
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
|
|
2020-07-13 14:25:04 -07:00
|
|
|
set(OM_BUILD_TESTS ON CACHE BOOL "Enable building tests if CxxTest is available")
|
2020-07-11 08:52:13 -07:00
|
|
|
|
2020-04-13 06:01:10 -07:00
|
|
|
include_directories(external)
|
|
|
|
|
2020-02-14 01:36:45 -08:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Compiler flags
|
|
|
|
#------------------------------------------------------------------------------
|
2021-06-09 09:37:53 -07:00
|
|
|
set(DEBUG_GCC_FLAGS
|
|
|
|
-g -Og
|
|
|
|
-Wall -Wextra -Wconversion -Wno-unused-parameter
|
|
|
|
-Wfatal-errors
|
|
|
|
-DGK_DEBUG
|
2021-06-10 06:05:55 -07:00
|
|
|
-DOM_PROFILER_ENABLED
|
2021-06-09 09:37:53 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
set(RELEASE_GCC_FLAGS
|
|
|
|
-O3
|
|
|
|
-Wall -Wextra -Wconversion -Wno-unused-parameter
|
|
|
|
-Wfatal-errors
|
|
|
|
)
|
|
|
|
|
|
|
|
set(RELWITHDEB_GCC_FLAGS
|
|
|
|
-g -O3
|
|
|
|
-Wall -Wextra -Wconversion -Wno-unused-parameter
|
|
|
|
-Wfatal-errors
|
|
|
|
)
|
2020-02-14 01:36:45 -08:00
|
|
|
|
2021-06-09 17:04:14 -07:00
|
|
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
|
|
set(CLANG_FLAGS
|
|
|
|
-Wno-sign-conversion
|
|
|
|
-Wno-implicit-int-float-conversion
|
|
|
|
-Wno-nested-anon-types
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2020-04-12 05:38:26 -07:00
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
2020-02-14 01:36:45 -08:00
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Setting default build type
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
set(DEFAULT_BUILD_TYPE RelWithDebInfo)
|
|
|
|
|
|
|
|
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
|
|
message(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified.")
|
|
|
|
set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE STRING "Choose the type of build." FORCE)
|
|
|
|
|
|
|
|
# Set the possible values of build type for cmake-gui
|
|
|
|
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
|
|
|
|
endif()
|
|
|
|
|
2020-04-13 06:01:10 -07:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Subdirectories
|
|
|
|
#------------------------------------------------------------------------------
|
2021-07-26 04:24:40 -07:00
|
|
|
add_subdirectory(external)
|
|
|
|
|
2020-03-17 12:35:21 -07:00
|
|
|
add_subdirectory(source/common)
|
|
|
|
add_subdirectory(source/server)
|
|
|
|
add_subdirectory(source/client)
|
2020-07-11 08:44:20 -07:00
|
|
|
|
2021-07-26 04:24:40 -07:00
|
|
|
add_subdirectory(tests)
|