builds now with VCPKG and MSAA works
This commit is contained in:
+23
-41
@@ -1,5 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.7...3.23)
|
||||
|
||||
if(${CMAKE_VERSION} VERSION_LESS 3.12)
|
||||
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
||||
endif()
|
||||
@@ -15,24 +14,12 @@ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||
|
||||
set(ENGINE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/src/Engine)
|
||||
set(EXTERNAL_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/external)
|
||||
set(ASSIMP_ROOT ${EXTERNAL_ROOT}/assimp)
|
||||
set(BOOST_ROOT ${EXTERNAL_ROOT}/boost)
|
||||
set(SLANG_ROOT ${EXTERNAL_ROOT}/slang)
|
||||
set(GLM_ROOT ${EXTERNAL_ROOT}/glm)
|
||||
set(GLFW_ROOT ${EXTERNAL_ROOT}/glfw)
|
||||
set(CRCPP_ROOT ${EXTERNAL_ROOT}/CRCpp)
|
||||
set(JSON_ROOT ${EXTERNAL_ROOT}/json)
|
||||
set(KTX_ROOT ${EXTERNAL_ROOT}/ktx)
|
||||
set(STB_ROOT ${EXTERNAL_ROOT}/stb)
|
||||
set(TTFPARSER_ROOT ${EXTERNAL_ROOT}/ttf-parser)
|
||||
set(FREETYPE_ROOT ${EXTERNAL_ROOT}/freetype)
|
||||
set(SPIRV_ROOT ${EXTERNAL_ROOT}/SPIRV-Cross)
|
||||
set(ENTT_ROOT ${EXTERNAL_ROOT}/entt)
|
||||
set(ODEINT_ROOT ${EXTERNAL_ROOT}/odeint)
|
||||
set(THREADPOOL_ROOT ${EXTERNAL_ROOT}/thread-pool)
|
||||
set(ZLIB_ROOT ${EXTERNAL_ROOT}/zlib)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/)
|
||||
set(CMAKE_TOOLCHAIN_FILE ${EXTERNAL_ROOT}/vcpkg/scripts/buildsystems/vcpkg.cmake)
|
||||
|
||||
set(CRCPP_ROOT ${EXTERNAL_ROOT}/CRCpp)
|
||||
set(TTFPARSER_ROOT ${EXTERNAL_ROOT}/ttf-parser)
|
||||
|
||||
set(Boost_NO_WARN_NEW_VERSIONS 1)
|
||||
|
||||
project (Seele)
|
||||
@@ -50,6 +37,15 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
||||
|
||||
find_package(Vulkan REQUIRED)
|
||||
find_package(assimp CONFIG REQUIRED)
|
||||
find_package(Stb REQUIRED)
|
||||
find_package(thread-pool CONFIG REQUIRED)
|
||||
find_package(EnTT CONFIG REQUIRED)
|
||||
find_package(FreeType CONFIG REQUIRED)
|
||||
find_package(glfw3 CONFIG REQUIRED)
|
||||
find_package(glm CONFIG REQUIRED)
|
||||
find_package(Ktx CONFIG REQUIRED)
|
||||
find_package(nlohmann_json CONFIG REQUIRED)
|
||||
|
||||
if(UNIX)
|
||||
find_package(Threads REQUIRED)
|
||||
@@ -66,17 +62,14 @@ target_include_directories(Engine PRIVATE src/Engine)
|
||||
target_link_libraries(Engine PUBLIC Vulkan::Vulkan)
|
||||
target_link_libraries(Engine PUBLIC EnTT::EnTT)
|
||||
target_link_libraries(Engine PUBLIC glfw)
|
||||
target_link_libraries(Engine PUBLIC glm)
|
||||
target_link_libraries(Engine PUBLIC glm::glm)
|
||||
target_link_libraries(Engine PUBLIC freetype)
|
||||
target_link_libraries(Engine PUBLIC slang)
|
||||
target_link_libraries(Engine PUBLIC assimp)
|
||||
target_link_libraries(Engine PUBLIC ktx)
|
||||
target_link_libraries(Engine PUBLIC stb)
|
||||
target_link_libraries(Engine PUBLIC assimp::assimp)
|
||||
target_link_libraries(Engine PUBLIC KTX::ktx)
|
||||
target_link_libraries(Engine PUBLIC nlohmann_json::nlohmann_json)
|
||||
target_link_libraries(Engine PUBLIC dp::thread-pool)
|
||||
target_link_libraries(Engine PUBLIC crcpp)
|
||||
target_link_libraries(Engine PUBLIC odeint)
|
||||
target_link_libraries(Engine PUBLIC zlib)
|
||||
target_link_libraries(Engine PUBLIC shader-slang)
|
||||
if(UNIX)
|
||||
target_link_libraries(Engine PUBLIC Threads::Threads)
|
||||
target_link_libraries(Engine PUBLIC dl)
|
||||
@@ -85,6 +78,7 @@ endif()
|
||||
add_executable(Editor "")
|
||||
target_link_libraries(Editor PRIVATE Engine)
|
||||
target_include_directories(Editor PRIVATE src/Editor)
|
||||
target_include_directories(Editor PRIVATE ${Stb_INCLUDE_DIR})
|
||||
target_compile_definitions(Editor PRIVATE EDITOR=1)
|
||||
|
||||
add_executable(AssetViewer "")
|
||||
@@ -109,8 +103,8 @@ target_precompile_headers(Engine
|
||||
|
||||
if(MSVC)
|
||||
set(_CRT_SECURE_NO_WARNINGS)
|
||||
target_compile_options(Engine PUBLIC /std:c++20 /Zi /MP14 /W4 /DEBUG "/WX-")
|
||||
target_compile_options(Editor PUBLIC /std:c++20 /Zi /MP14 /W4 /DEBUG "/WX-")
|
||||
target_compile_options(Engine PUBLIC /std:c++20 /Zi /MP14 /W4 /DEBUG /wd4505)
|
||||
target_compile_options(Editor PUBLIC /std:c++20 /Zi /MP14 /W4 /DEBUG)
|
||||
target_sources(Engine INTERFACE
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Seele.natvis>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/Seele.natvis>
|
||||
@@ -131,7 +125,7 @@ if(WIN32)
|
||||
add_custom_target(dll_copy ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_RUNTIME_DLLS:Engine> $<TARGET_FILE_DIR:Editor>
|
||||
COMMAND_EXPAND_LISTS
|
||||
DEPENDS Editor slang-build)
|
||||
DEPENDS Editor)
|
||||
else()
|
||||
add_custom_target(dll_copy ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E true)
|
||||
@@ -140,26 +134,14 @@ endif()
|
||||
add_custom_target(SeeleEngine ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/res $<TARGET_FILE_DIR:Engine>
|
||||
COMMAND_EXPAND_LISTS
|
||||
DEPENDS Editor slang-build dll_copy)
|
||||
DEPENDS Editor dll_copy)
|
||||
|
||||
install(
|
||||
TARGETS
|
||||
AssetViewer
|
||||
Editor
|
||||
Engine
|
||||
EnTT
|
||||
glfw
|
||||
glm
|
||||
freetype
|
||||
assimp
|
||||
ktx
|
||||
stb
|
||||
crcpp
|
||||
nlohmann_json
|
||||
ThreadPool
|
||||
zlib
|
||||
IrrXML
|
||||
odeint
|
||||
EXPORT
|
||||
EngineTargets
|
||||
FILE_SET HEADERS
|
||||
|
||||
Reference in New Issue
Block a user