Better sinks, better loggers, etx
This commit is contained in:
+53
-21
@@ -9,6 +9,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
include(CMakeDependentOption)
|
||||
|
||||
function(toAbsolutePath SETVAR PATHS)
|
||||
set(PATHS ${PATHS} ${ARGN})
|
||||
@@ -31,13 +32,42 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
message(STATUS "Targeting Release build")
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
message(STATUS "Targeting Debug build")
|
||||
set(NB_LOGGING ON)
|
||||
set(NB_BUILD_TESTS ON)
|
||||
set(NB_BUILD_DOCS ON)
|
||||
set(NBENGINE_INSTALL ON)
|
||||
set(NB_DEBUG_BUILD ON)
|
||||
add_compile_definitions(_NB_BUILD_DEBUG)
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(NB_LOGGING
|
||||
"Creates a default logger and automatically logs with code locations."
|
||||
ON
|
||||
NB_DEBUG_BUILD
|
||||
OFF
|
||||
)
|
||||
cmake_dependent_option(NB_BUILD_TESTS
|
||||
"Build unit tests"
|
||||
ON
|
||||
NB_DEBUG_BUILD
|
||||
OFF
|
||||
)
|
||||
cmake_dependent_option(NB_BUILD_DOCS
|
||||
"Build documentation"
|
||||
ON
|
||||
NB_DEBUG_BUILD
|
||||
OFF
|
||||
)
|
||||
cmake_dependent_option(NBENGINE_INSTALL
|
||||
"Install NBEngine"
|
||||
ON
|
||||
NB_DEBUG_BUILD
|
||||
OFF
|
||||
)
|
||||
cmake_dependent_option(NB_MONITOR_OPENGL_CALLS
|
||||
"Monitors every OpenGL call for errors"
|
||||
ON
|
||||
NB_DEBUG_BUILD
|
||||
OFF
|
||||
)
|
||||
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
message(STATUS "Building for Windows")
|
||||
set(NB_TARGET_WINDOWS ON)
|
||||
@@ -67,15 +97,16 @@ if (NB_LOGGING)
|
||||
add_compile_definitions(_NB_CODE_ERROR_LOCATIONS)
|
||||
endif()
|
||||
|
||||
if (NB_TARGET_WINDOWS)
|
||||
if(NB_TARGET_WINDOWS)
|
||||
add_compile_definitions(_NB_TARGET_WINDOWS)
|
||||
elseif (NB_TARGET_LINUX)
|
||||
endif()
|
||||
if(NB_TARGET_LINUX)
|
||||
add_compile_definitions(_NB_TARGET_LINUX)
|
||||
endif()
|
||||
|
||||
get_filename_component(NBENGINE_ROOT ./ ABSOLUTE)
|
||||
get_filename_component(NBENGINE_ROOT ${CMAKE_CURRENT_LIST_DIR} ABSOLUTE)
|
||||
|
||||
add_subdirectory(./engine)
|
||||
add_subdirectory(./engine ${PROJECT_BINARY_DIR}/${CMAKE_BUILD_TYPE})
|
||||
|
||||
# Toggle
|
||||
set(NB_REBUILD_DOCS)
|
||||
@@ -84,22 +115,23 @@ if (NB_BUILD_DOCS)
|
||||
add_subdirectory(./docs)
|
||||
endif()
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
configure_package_config_file(
|
||||
"NBEngineConfig.cmake.in"
|
||||
"${PROJECT_BINARY_DIR}/cmake/NBEngineConfig.cmake"
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
|
||||
PATH_VARS CMAKE_INSTALL_LIBDIR
|
||||
)
|
||||
write_basic_package_version_file(
|
||||
"${PROJECT_BINARY_DIR}/cmake/NBEngineConfigVersion.cmake"
|
||||
COMPATIBILITY AnyNewerVersion
|
||||
)
|
||||
|
||||
if (NBENGINE_INSTALL)
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
configure_package_config_file(
|
||||
"NBEngineConfig.cmake.in"
|
||||
"NBEngineConfig.cmake"
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
|
||||
PATH_VARS CMAKE_INSTALL_LIBDIR
|
||||
)
|
||||
write_basic_package_version_file(
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/NBEngineConfigVersion.cmake"
|
||||
COMPATIBILITY AnyNewerVersion
|
||||
)
|
||||
install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/NBEngineConfig.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/NBEngineConfigVersion.cmake"
|
||||
"${PROJECT_BINARY_DIR}/cmake/NBEngineConfig.cmake"
|
||||
"${PROJECT_BINARY_DIR}/cmake/NBEngineConfigVersion.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake"
|
||||
)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user