diff --git a/CMakeLists.txt b/CMakeLists.txt index 244bbc8..0dad377 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ 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(CRCPP_ROOT ${EXTERNAL_ROOT}/CRCpp) set(JSON_ROOT ${EXTERNAL_ROOT}/json) set(KTX_ROOT ${EXTERNAL_ROOT}/ktx) set(STB_ROOT ${EXTERNAL_ROOT}/stb) @@ -38,7 +38,7 @@ set(Boost_NO_WARN_NEW_VERSIONS 1) project (Seele) -include(cmake/Superbuild.cmake) +include(cmake/SuperBuild.cmake) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin) @@ -52,6 +52,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_SOURCE_DIR}/bi find_package(Vulkan REQUIRED) +if(UNIX) + find_package(Threads REQUIRED) +endif() + if(WIN32) add_compile_definitions(USE_EXTENSIONS) endif() @@ -79,8 +83,8 @@ target_link_libraries(Engine PUBLIC crcpp) target_link_libraries(Engine PUBLIC odeint) target_link_libraries(Engine PUBLIC zlib) if(UNIX) -target_link_libraries(Engine PUBLIC Threads::Threads) -target_link_libraries(Engine PUBLIC dl) + target_link_libraries(Engine PUBLIC Threads::Threads) + target_link_libraries(Engine PUBLIC dl) endif() add_executable(Editor "") diff --git a/cmake/SuperBuild.cmake b/cmake/SuperBuild.cmake index 6349bcb..205e785 100644 --- a/cmake/SuperBuild.cmake +++ b/cmake/SuperBuild.cmake @@ -24,9 +24,13 @@ endif() set(KTX_FEATURE_TESTS off) set(KTX_FEATURE_TOOLS off) -add_subdirectory(${KTX_ROOT} ${KTX_ROOT}) +add_subdirectory(${KTX_ROOT}) -target_compile_options(ktx PUBLIC /WX-) +if(MSVC) + target_compile_options(ktx PRIVATE /WX-) +else() + target_compile_options(ktx PRIVATE -Wno-error) +endif() #--------------------JSON------------------ set(JSON_MultipleHeaders ON CACHE INTERNAL "") @@ -52,16 +56,18 @@ add_subdirectory(${ENTT_ROOT}) #--------------thread-pool------------------------------ add_subdirectory(${THREADPOOL_ROOT}) -target_compile_options(ThreadPool INTERFACE "/W0") +if(MSVC) + target_compile_options(ThreadPool INTERFACE /W0) +endif() #--------------SLang------------------------------ -string(TOLOWER release_${CMAKE_PLATFORM} SLANG_CONFIG) +string(TOLOWER release_x64 SLANG_CONFIG) if(WIN32) string(TOLOWER ${SLANG_ROOT}/bin/windows-${CMAKE_PLATFORM}/release SLANG_BINARY_DIR) ExternalProject_Add(slang-build SOURCE_DIR ${SLANG_ROOT} BINARY_DIR ${SLANG_ROOT} - CONFIGURE_COMMAND ${SLANG_ROOT}/premake.bat vs2019 --file=${SLANG_ROOT}/premake5.lua gmake --arch=${CMAKE_PLATFORM} --deps=true + CONFIGURE_COMMAND ${SLANG_ROOT}/premake.bat vs2019 --file=${SLANG_ROOT}/premake5.lua gmake --arch=x64 --deps=true BUILD_COMMAND msbuild slang.sln -p:PlatformToolset=v143 -p:Configuration=Release -p:Platform=${CMAKE_PLATFORM} INSTALL_COMMAND "" ) @@ -69,7 +75,7 @@ elseif(UNIX) ExternalProject_Add(slang-build SOURCE_DIR ${SLANG_ROOT} BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} - CONFIGURE_COMMAND ${CMAKE_SOURCE_DIR}/premake5 --file=${CMAKE_SOURCE_DIR}/external/slang/premake5.lua gmake --arch=${CMAKE_PLATFORM} --deps=true --build-location=build/linux + CONFIGURE_COMMAND ${CMAKE_SOURCE_DIR}/premake5 --file=${CMAKE_SOURCE_DIR}/external/slang/premake5.lua gmake2 --arch=x64 --deps=true --build-location=build/linux BUILD_COMMAND make -C ${CMAKE_SOURCE_DIR}/external/slang/build/linux config=${SLANG_CONFIG} INSTALL_COMMAND "" ) diff --git a/external/ktx b/external/ktx index 170e758..5ab6d75 160000 --- a/external/ktx +++ b/external/ktx @@ -1 +1 @@ -Subproject commit 170e75893e3d232a2c4f241afe199256f8abb6f9 +Subproject commit 5ab6d7595e6d1f1e9ab5d7bfcced612dc44dd07a diff --git a/src/Engine/Math/Vector.h b/src/Engine/Math/Vector.h index 21f0494..0d3ed16 100644 --- a/src/Engine/Math/Vector.h +++ b/src/Engine/Math/Vector.h @@ -1,12 +1,16 @@ #pragma once +#ifdef WIN32 #pragma warning(push) #pragma warning(disable: 4201) +#endif #include #include #include #include +#ifdef WIN32 #pragma warning(pop) +#endif #include #include "Serialization/Serialization.h"