More CMake changes
This commit is contained in:
parent
768d6c595b
commit
5ae4ac16b9
@ -7,12 +7,29 @@ set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
function(toAbsolutePath SETVAR PATHS)
|
||||
set(RET_VAL "")
|
||||
foreach(FILE ${PATHS})
|
||||
get_filename_component(TMP
|
||||
${FILE}
|
||||
REALPATH
|
||||
)
|
||||
list(
|
||||
APPEND
|
||||
RET_VAL
|
||||
${TMP}
|
||||
)
|
||||
endforeach()
|
||||
set(${SETVAR} ${RET_VAL} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
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)
|
||||
add_compile_definitions(_NB_BUILD_DEBUG)
|
||||
endif()
|
||||
|
||||
@ -60,3 +77,10 @@ get_filename_component(GLFW_PATH ${GLFW_PATH} ABSOLUTE)
|
||||
get_filename_component(GLAD_PATH ${GLAD_PATH} ABSOLUTE)
|
||||
|
||||
add_subdirectory(./engine)
|
||||
|
||||
# Toggle
|
||||
set(NB_REBUILD_DOCS)
|
||||
|
||||
if (NB_BUILD_DOCS)
|
||||
add_subdirectory(./docs)
|
||||
endif()
|
||||
|
||||
@ -16,10 +16,10 @@ set(DOXYGEN_GENERATE_HTML YES)
|
||||
set(DOXYGEN_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/docs)
|
||||
set(DOXYGEN_HTML_EXTRA_STYLESHEET ${AWESOME_CSS_DIR}/doxygen-awesome.css)
|
||||
|
||||
if(ENVNB_SOURCE_FOUND)
|
||||
if(NB_SOURCE_FILES)
|
||||
message("Using file timestamps...")
|
||||
doxygen_add_docs(NBEngineDocumentation
|
||||
${NB_CORE_SOURCE} ALL
|
||||
${NB_SOURCE_FILES} ${NB_INCLUDE_FILES}
|
||||
USE_STAMP_FILE
|
||||
COMMENT "Building documentation"
|
||||
)
|
||||
|
||||
@ -2,10 +2,16 @@ add_subdirectory(./NBCore)
|
||||
add_subdirectory(./NBEvents)
|
||||
add_subdirectory(./NBGraphics)
|
||||
|
||||
if (ENVNB_CORE_SOURCE OR ENVNB_EVENTS_SOURCE OR ENVNB_GRAPHICS_SOURCE)
|
||||
set(ENVNB_SOURCE_FOUND ON)
|
||||
if (NB_CORE_SOURCE OR NB_EVENTS_SOURCE OR NB_GRAPHICS_SOURCE)
|
||||
set(NB_SOURCE_FILES "")
|
||||
list(APPEND NB_SOURCE_FILES ${NB_CORE_SOURCE} ${NB_GRAPHICS_SOURCE} ${NB_EVENTS_SOURCE})
|
||||
set(NB_SOURCE_FILES ${NB_SOURCE_FILES} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
if (ENVNB_CORE_INCLUDE OR ENVNB_EVENTS_INCLUDE OR ENVNB_GRAPHICS_INCLUDE)
|
||||
set(ENVNB_INCLUDE_FOUND ON)
|
||||
|
||||
if (NB_CORE_INCLUDE OR NB_EVENTS_INCLUDE OR NB_GRAPHICS_INCLUDE)
|
||||
set(NB_INCLUDE_FILES "")
|
||||
list(APPEND NB_INCLUDE_FILES ${NB_CORE_INCLUDE} ${NB_GRAPHICS_INCLUDE} ${NB_EVENTS_INCLUDE})
|
||||
set(NB_INCLUDE_FILES ${NB_INCLUDE_FILES} PARENT_SCOPE)
|
||||
endif()
|
||||
message("${NB_INCLUDE_FILES}")
|
||||
|
||||
@ -1,24 +1,24 @@
|
||||
include_directories(./.)
|
||||
|
||||
set(NB_CORE_SOURCE
|
||||
./src/Errors.cpp
|
||||
./src/Processes.cpp
|
||||
./src/Logger.cpp
|
||||
)
|
||||
toAbsolutePath(NB_CORE_SOURCE "
|
||||
./src/Errors.cpp;
|
||||
./src/Processes.cpp;
|
||||
./src/Logger.cpp;
|
||||
")
|
||||
|
||||
set(NB_CORE_INCLUDE
|
||||
ANSITerm.hpp
|
||||
DataSink.hpp
|
||||
Errors.hpp
|
||||
Logger.hpp
|
||||
Processes.hpp
|
||||
ThreadsafeQueue.hpp
|
||||
Types.hpp
|
||||
TypeTraits.hpp
|
||||
)
|
||||
toAbsolutePath(NB_CORE_INCLUDE "
|
||||
ANSITerm.hpp;
|
||||
DataSink.hpp;
|
||||
Errors.hpp;
|
||||
Logger.hpp;
|
||||
Processes.hpp;
|
||||
ThreadsafeQueue.hpp;
|
||||
Types.hpp;
|
||||
TypeTraits.hpp;
|
||||
")
|
||||
|
||||
toAbsolutePath(ENVNB_CORE_SOURCE ${NB_CORE_SOURCE})
|
||||
toAbsolutePath(ENVNB_CORE_INCLUDE ${NB_CORE_INCLUDE})
|
||||
set(NB_CORE_SOURCE ${NB_CORE_SOURCE} PARENT_SCOPE)
|
||||
set(NB_CORE_INCLUDE ${NB_CORE_INCLUDE} PARENT_SCOPE)
|
||||
|
||||
add_library(NBCore ${NB_CORE_SOURCE})
|
||||
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
include_directories(./.)
|
||||
|
||||
set(NB_EVENTS_SOURCE
|
||||
toAbsolutePath(NB_EVENTS_SOURCE
|
||||
./src/Events.cpp
|
||||
)
|
||||
|
||||
set(NB_EVENTS_INCLUDE
|
||||
toAbsolutePath(NB_EVENTS_INCLUDE
|
||||
./Events.hpp
|
||||
)
|
||||
|
||||
toAbsolutePath(ENVNB_EVENTS_SOURCE ${NB_EVENTS_SOURCE})
|
||||
toAbsolutePath(ENVNB_EVENTS_INCLUDE ${NB_EVENTS_INCLUDE})
|
||||
set(NB_EVENTS_SOURCE ${NB_EVENTS_SOURCE} PARENT_SCOPE)
|
||||
set(NB_EVENTS_INCLUDE ${NB_EVENTS_INCLUDE} PARENT_SCOPE)
|
||||
|
||||
add_library(NBEvents
|
||||
${NB_EVENTS_SOURCE}
|
||||
|
||||
@ -10,12 +10,12 @@ set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
|
||||
set(NB_GRAPHICS_SOURCE
|
||||
toAbsolutePath(NB_GRAPHICS_SOURCE
|
||||
./src/Window.cpp
|
||||
./src/Buffers.cpp
|
||||
)
|
||||
|
||||
set(NB_GRAPHICS_INCLUDE
|
||||
toAbsolutePath(NB_GRAPHICS_INCLUDE
|
||||
./Buffers.hpp
|
||||
./Camera.hpp
|
||||
./Draw.hpp
|
||||
@ -25,8 +25,8 @@ set(NB_GRAPHICS_INCLUDE
|
||||
./Window.hpp
|
||||
)
|
||||
|
||||
toAbsolutePath(ENVNB_GRAPHICS_SOURCE ${NB_GRAPHICS_SOURCE})
|
||||
toAbsolutePath(ENVNB_GRAPHICS_INCLUDE ${NB_GRAPHICS_INCLUDE})
|
||||
set(NB_GRAPHICS_SOURCE ${NB_GRAPHICS_SOURCE} PARENT_SCOPE)
|
||||
set(NB_GRAPHICS_INCLUDE ${NB_GRAPHICS_INCLUDE} PARENT_SCOPE)
|
||||
|
||||
add_library(NBGraphics
|
||||
${NB_GRAPHICS_SOURCE}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user