From 174b50d1ba2da34ed700e6d3aaed41bf07ebc702 Mon Sep 17 00:00:00 2001 From: redstrate <54911369+redstrate@users.noreply.github.com> Date: Tue, 22 Sep 2020 12:54:08 -0400 Subject: [PATCH] Reorganize cmake folders --- CMakeLists.txt | 79 +++------------------------------------ engine/CMakeLists.txt | 2 + engine/gfx/CMakeLists.txt | 2 +- extern/CMakeLists.txt | 51 +++++++++++++++++++++++++ tools/CMakeLists.txt | 13 +++++++ 5 files changed, 72 insertions(+), 75 deletions(-) create mode 100755 tools/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 36199d0..d0444d7 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,9 +7,6 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) # enable folders in IDEs that support this feature set_property(GLOBAL PROPERTY USE_FOLDERS ON) -# enable lto -set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) - include(${CMAKE_CURRENT_LIST_DIR}/cmake/Common.cmake) include(${CMAKE_CURRENT_LIST_DIR}/cmake/AddPlatformExecutable.cmake) include(FetchContent) @@ -21,61 +18,6 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") set(ENABLE_LINUX TRUE) endif() -FetchContent_Declare( - bullet - GIT_REPOSITORY https://github.com/bulletphysics/bullet3.git - GIT_TAG 2.89 -) - -FetchContent_Declare( - spirv-cross - GIT_REPOSITORY https://github.com/KhronosGroup/SPIRV-Cross.git - GIT_TAG 2020-05-19 -) - -FetchContent_Declare( - glslang - GIT_REPOSITORY https://github.com/KhronosGroup/glslang.git - GIT_TAG master -) - -# bullet -set(BUILD_BULLET3 OFF CACHE BOOL "" FORCE) -set(BUILD_BULLET3_DEMOS OFF CACHE BOOL "" FORCE) -set(BUILD_BULLET2_DEMOS OFF CACHE BOOL "" FORCE) -set(BUILD_CPU_DEMOS OFF CACHE BOOL "" FORCE) -set(USE_GRAPHICAL_BENCHMARK OFF CACHE BOOL "" FORCE) -set(BUILD_EXTRAS OFF CACHE BOOL "" FORCE) -set(INSTALL_LIBS OFF CACHE BOOL "" FORCE) - -# spirv-cross -set(BUILD_UNIT_TESTS OFF CACHE BOOL "" FORCE) -set(SPIRV_CROSS_SKIP_INSTALL ON CACHE BOOL "" FORCE) -set(BUILD_EXTERNAL OFF CACHE BOOL "" FORCE) -set(SPIRV_CROSS_CLI OFF CACHE BOOL "" FORCE) -set(SPIRV_CROSS_ENABLE_TESTS OFF CACHE BOOL "" FORCE) -set(SPIRV_CROSS_ENABLE_HLSL OFF CACHE BOOL "" FORCE) -set(SPIRV_CROSS_ENABLE_CPP OFF CACHE BOOL "" FORCE) -set(SPIRV_CROSS_ENABLE_REFLECT OFF CACHE BOOL "" FORCE) -set(SPIRV_CROSS_ENABLE_C_API OFF CACHE BOOL "" FORCE) -set(SPIRV_CROSS_ENABLE_UTIL OFF CACHE BOOL "" FORCE) - -# glslang -set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) -set(BUILD_EXTERNAL OFF CACHE BOOL "" FORCE) -set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "" FORCE) -set(USE_MSVC_RUNTIME_LIBRARY_DLL ON CACHE BOOL "" FORCE) -set(ENABLE_GLSLANG_INSTALL OFF CACHE BOOL "" FORCE) -set(ENABLE_CTEST OFF CACHE BOOL "" FORCE) - -set(CMAKE_FOLDER "External") - -FetchContent_MakeAvailable(bullet) -FetchContent_MakeAvailable(spirv-cross) -FetchContent_MakeAvailable(glslang) - -set(CMAKE_FOLDER "") - if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND NOT IOS) message("macOS build detected!") @@ -124,24 +66,13 @@ set(CROSS_LIBS ) add_subdirectory(extern) + +# enable lto +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) + add_subdirectory(platforms) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) add_subdirectory(engine) - -set(CMAKE_FOLDER "Tools" PARENT_SCOPE) - -if(NOT IOS AND NOT ENABLE_TVOS) - add_subdirectory(tools/shadercompiler) -endif() - -if(BUILD_TOOLS) - add_subdirectory(tools/common) - add_subdirectory(tools/fontcompiler) - add_subdirectory(tools/editor) - add_subdirectory(tools/modelcompiler) - add_subdirectory(tools/cutsceneeditor) -endif() - -set(CMAKE_FOLDER "" PARENT_SCOPE) +add_subdirectory(tools) \ No newline at end of file diff --git a/engine/CMakeLists.txt b/engine/CMakeLists.txt index 31171a5..9d717d2 100755 --- a/engine/CMakeLists.txt +++ b/engine/CMakeLists.txt @@ -1,3 +1,5 @@ +set(CMAKE_FOLDER "Engine") + add_subdirectory(core) add_subdirectory(renderer) add_subdirectory(utility) diff --git a/engine/gfx/CMakeLists.txt b/engine/gfx/CMakeLists.txt index 07fcaa8..2057604 100755 --- a/engine/gfx/CMakeLists.txt +++ b/engine/gfx/CMakeLists.txt @@ -1,4 +1,4 @@ -set(CMAKE_FOLDER "GFX Backends") +set(CMAKE_FOLDER "${CMAKE_FOLDER}/GFX Backends") add_library(GFX INTERFACE) target_include_directories(GFX INTERFACE public) diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index eb4412e..f8093c1 100755 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -1,5 +1,56 @@ set(CMAKE_FOLDER "External") +FetchContent_Declare( + bullet + GIT_REPOSITORY https://github.com/bulletphysics/bullet3.git + GIT_TAG 2.89 +) + +FetchContent_Declare( + spirv-cross + GIT_REPOSITORY https://github.com/KhronosGroup/SPIRV-Cross.git + GIT_TAG 2020-05-19 +) + +FetchContent_Declare( + glslang + GIT_REPOSITORY https://github.com/KhronosGroup/glslang.git + GIT_TAG master +) + +# bullet +set(BUILD_BULLET3 OFF CACHE BOOL "" FORCE) +set(BUILD_BULLET3_DEMOS OFF CACHE BOOL "" FORCE) +set(BUILD_BULLET2_DEMOS OFF CACHE BOOL "" FORCE) +set(BUILD_CPU_DEMOS OFF CACHE BOOL "" FORCE) +set(USE_GRAPHICAL_BENCHMARK OFF CACHE BOOL "" FORCE) +set(BUILD_EXTRAS OFF CACHE BOOL "" FORCE) +set(INSTALL_LIBS OFF CACHE BOOL "" FORCE) + +# spirv-cross +set(BUILD_UNIT_TESTS OFF CACHE BOOL "" FORCE) +set(SPIRV_CROSS_SKIP_INSTALL ON CACHE BOOL "" FORCE) +set(BUILD_EXTERNAL OFF CACHE BOOL "" FORCE) +set(SPIRV_CROSS_CLI OFF CACHE BOOL "" FORCE) +set(SPIRV_CROSS_ENABLE_TESTS OFF CACHE BOOL "" FORCE) +set(SPIRV_CROSS_ENABLE_HLSL OFF CACHE BOOL "" FORCE) +set(SPIRV_CROSS_ENABLE_CPP OFF CACHE BOOL "" FORCE) +set(SPIRV_CROSS_ENABLE_REFLECT OFF CACHE BOOL "" FORCE) +set(SPIRV_CROSS_ENABLE_C_API OFF CACHE BOOL "" FORCE) +set(SPIRV_CROSS_ENABLE_UTIL OFF CACHE BOOL "" FORCE) + +# glslang +set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) +set(BUILD_EXTERNAL OFF CACHE BOOL "" FORCE) +set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "" FORCE) +set(USE_MSVC_RUNTIME_LIBRARY_DLL ON CACHE BOOL "" FORCE) +set(ENABLE_GLSLANG_INSTALL OFF CACHE BOOL "" FORCE) +set(ENABLE_CTEST OFF CACHE BOOL "" FORCE) + +FetchContent_MakeAvailable(bullet) +FetchContent_MakeAvailable(spirv-cross) +FetchContent_MakeAvailable(glslang) + if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") else() diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt new file mode 100755 index 0000000..9d652fa --- /dev/null +++ b/tools/CMakeLists.txt @@ -0,0 +1,13 @@ +set(CMAKE_FOLDER "Tools") + +if(NOT IOS AND NOT ENABLE_TVOS) + add_subdirectory(shadercompiler) +endif() + +if(BUILD_TOOLS) + add_subdirectory(common) + add_subdirectory(fontcompiler) + add_subdirectory(editor) + add_subdirectory(modelcompiler) + add_subdirectory(cutsceneeditor) +endif()