Windows update

This commit is contained in:
Ilya Shurupov 2024-10-22 05:40:45 -07:00 committed by IlyaShurupov
parent fcd5eb2d2a
commit aecc75828b
9 changed files with 64 additions and 51 deletions

View file

@ -2,7 +2,7 @@ project(3DEditor)
### ---------------------- Externals --------------------- ### ### ---------------------- Externals --------------------- ###
set(BINDINGS_INCLUDE ../Externals/glfw/include ../Externals) set(BINDINGS_INCLUDE ../Externals/glfw/include ../Externals)
set(BINDINGS_LIBS glfw Imgui) set(BINDINGS_LIBS glfw Imgui OpenImageDenoise)
### ---------------------- Static Library --------------------- ### ### ---------------------- Static Library --------------------- ###
file(GLOB SOURCES "./private/*.cpp" "./private/*/*.cpp") file(GLOB SOURCES "./private/*.cpp" "./private/*/*.cpp")
@ -13,7 +13,6 @@ add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
target_include_directories(${PROJECT_NAME} PUBLIC ./public/ ${BINDINGS_INCLUDE} ./ext/) target_include_directories(${PROJECT_NAME} PUBLIC ./public/ ${BINDINGS_INCLUDE} ./ext/)
target_link_libraries(${PROJECT_NAME} PUBLIC Widgets RasterRender RayTracer) target_link_libraries(${PROJECT_NAME} PUBLIC Widgets RasterRender RayTracer)
target_link_libraries(${PROJECT_NAME} PRIVATE ${BINDINGS_LIBS}) target_link_libraries(${PROJECT_NAME} PRIVATE ${BINDINGS_LIBS})
target_link_libraries(${PROJECT_NAME} PRIVATE OpenImageDenoise)
### -------------------------- Applications -------------------------- ### ### -------------------------- Applications -------------------------- ###
file(GLOB APP_SOURCES "./applications/*.cpp") file(GLOB APP_SOURCES "./applications/*.cpp")

View file

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD 20)
@ -8,13 +8,20 @@ set(CMAKE_CXX_STANDARD 20)
project(ModulesRoot) project(ModulesRoot)
include(CMakeOptions.txt) include(cmake/ModulesOptions.txt)
set(WINDOWS_LIBRARIES "../moduleswindowsl" CACHE STRING "Svn repository with windows libraries https://svn.riouxsvn.com/moduleswindowsl")
include(cmake/FindGLEW.cmake)
include(cmake/FindOIDN.cmake)
include(cmake/FindPortAudio.cmake)
add_subdirectory(Externals)
add_subdirectory(Modules) add_subdirectory(Modules)
add_subdirectory(Containers) add_subdirectory(Containers)
add_subdirectory(Math) add_subdirectory(Math)
# add_subdirectory(Language) # add_subdirectory(Language)
add_subdirectory(Externals)
add_subdirectory(Connection) add_subdirectory(Connection)
add_subdirectory(Graphics) add_subdirectory(Graphics)
add_subdirectory(DataAnalysis) add_subdirectory(DataAnalysis)

View file

@ -1,42 +1,5 @@
# find_package(ALSA REQUIRED) # find_package(ALSA REQUIRED)
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
message("Configuring for windows...")
message("Libraries path is - ${WINDOWS_LIBRARIES}")
set(CMAKE_PREFIX_PATH "${WINDOWS_LIBRARIES}/glew-2.1.0")
find_package(GLEW REQUIRED)
set(GLEW_LIB ${GLEW_STATIC_LIBRARY_RELEASE} opengl32.lib PARENT_SCOPE)
# Your relative paths
set(RELATIVE_INCLUDE_DIR "${WINDOWS_LIBRARIES}/portaudio/include")
set(RELATIVE_LIB "${WINDOWS_LIBRARIES}/portaudio_build/Debug/portaudio.lib")
# Convert to absolute paths
get_filename_component(ABSOLUTE_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${RELATIVE_INCLUDE_DIR}" ABSOLUTE)
get_filename_component(ABSOLUTE_LIB "${CMAKE_CURRENT_SOURCE_DIR}/${RELATIVE_LIB}" ABSOLUTE)
# Set absolute paths with respect to the parent scope
set(PORTAUDIO_INCLUDE_DIR "${ABSOLUTE_INCLUDE_DIR}" PARENT_SCOPE)
set(PORTAUDIO_LIB "${ABSOLUTE_LIB}" PARENT_SCOPE)
else()
find_package(GLEW REQUIRED)
set(GLEW_LIB ${GLEW_LIBRARIES} GL PARENT_SCOPE)
set(PORTAUDIO_LIB portaudio PARENT_SCOPE)
endif()
#add_subdirectory(glew/build/cmake/)
#target_compile_definitions(glew_s PUBLIC GLEW_NO_GLU)
#add_subdirectory(unittest-cpp)
add_subdirectory(lalr)
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
else()
target_compile_options(UnitTest++ PUBLIC -Wno-error)
endif()
add_subdirectory(glfw) add_subdirectory(glfw)
project(Imgui) project(Imgui)
@ -87,8 +50,4 @@ project(ImageIO)
add_library(${PROJECT_NAME} INTERFACE) add_library(${PROJECT_NAME} INTERFACE)
target_include_directories(${PROJECT_NAME} INTERFACE ./imageIO/) target_include_directories(${PROJECT_NAME} INTERFACE ./imageIO/)
add_subdirectory(lalr)
#set(OIDN_DEVICE_CPU ON)
#set(OIDN_STATIC_LIB ON)
#add_subdirectory(oidn)
find_package(OpenImageDenoise REQUIRED)

View file

@ -41,6 +41,7 @@ Window::Window(Vec2F size, const char* title) {
// Initialize GLEW // Initialize GLEW
if (glewInit() != GLEW_OK) { if (glewInit() != GLEW_OK) {
printf("Failed to initialize GLEW\n"); printf("Failed to initialize GLEW\n");
exit(1);
return; return;
} }
@ -64,7 +65,9 @@ Window* Window::createWindow(Vec2F size, const char* title) {
} }
count--; count--;
glfwInitHint(GLFW_PLATFORM, GLFW_PLATFORM_X11); #ifdef ENV_OS_LINUX
glfwInitHint(GLFW_PLATFORM, GLFW_PLATFORM_X11);
#endif
// glfwInitHint(GLFW_WAYLAND_LIBDECOR, GLFW_WAYLAND_DISABLE_LIBDECOR); // glfwInitHint(GLFW_WAYLAND_LIBDECOR, GLFW_WAYLAND_DISABLE_LIBDECOR);
// Initialize GLFW // Initialize GLFW

View file

@ -109,7 +109,7 @@ void UpdateManager::handleFocusChanges(Widget* root, EventHandler& events) {
int mostCommonIdx = 0; int mostCommonIdx = 0;
if (!(path1.empty() || path2.empty())) { if (!(path1.empty() || path2.empty())) {
while (path1[mostCommonIdx] == path2[mostCommonIdx] && mostCommonIdx < min(path1.size(), path2.size())) { while (mostCommonIdx < min(path1.size(), path2.size()) && path1[mostCommonIdx] == path2[mostCommonIdx]) {
mostCommonIdx++; mostCommonIdx++;
} }
} }

10
cmake/FindGLEW.cmake Normal file
View file

@ -0,0 +1,10 @@
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
set(CMAKE_PREFIX_PATH "${WINDOWS_LIBRARIES}/glew-2.1.0")
find_package(GLEW REQUIRED)
set(GLEW_LIB ${GLEW_STATIC_LIBRARY_RELEASE} opengl32.lib CACHE STRING "Path to PortAudio includes")
else()
find_package(GLEW REQUIRED)
set(GLEW_LIB ${GLEW_LIBRARIES} GL CACHE STRING "Path to PortAudio includes")
endif()

21
cmake/FindOIDN.cmake Normal file
View file

@ -0,0 +1,21 @@
#set(OIDN_DEVICE_CPU ON)
#set(OIDN_STATIC_LIB ON)
#add_subdirectory(oidn)
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
set(CMAKE_PREFIX_PATH "${WINDOWS_LIBRARIES}/oidn-2.3.0.x64.windows")
endif()
find_package(OpenImageDenoise REQUIRED)
set(TARGETS_LIST OpenImageDenoise)
foreach(TARGET ${TARGETS_LIST})
if(TARGET ${TARGET})
message("Found ${TARGET}.")
else()
message(ERROR "Not Found ${TARGET}.")
endif()
endforeach()

16
cmake/FindPortAudio.cmake Normal file
View file

@ -0,0 +1,16 @@
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
# relative paths
set(RELATIVE_INCLUDE_DIR "${WINDOWS_LIBRARIES}/portaudio/include")
set(RELATIVE_LIB "${WINDOWS_LIBRARIES}/portaudio_build/Debug/portaudio.lib")
# Convert to absolute paths
get_filename_component(ABSOLUTE_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${RELATIVE_INCLUDE_DIR}" ABSOLUTE)
get_filename_component(ABSOLUTE_LIB "${CMAKE_CURRENT_SOURCE_DIR}/${RELATIVE_LIB}" ABSOLUTE)
# Set absolute paths with respect to the parent scope
set(PORTAUDIO_INCLUDE_DIR "${ABSOLUTE_INCLUDE_DIR}" CACHE STRING "Path to PortAudio includes")
set(PORTAUDIO_LIB "${ABSOLUTE_LIB}" CACHE STRING "Path to PortAudio library")
else()
set(PORTAUDIO_LIB portaudio CACHE STRING "Path to PortAudio library")
endif()

View file

@ -1,8 +1,6 @@
option(MODULES_MEMORY_DEBUG "Debug memory" OFF) option(MODULES_MEMORY_DEBUG "Debug memory" OFF)
option(MODULES_MEMORY_DEBUG_STACK_TRACE "Record stack info on memory debug" OFF) option(MODULES_MEMORY_DEBUG_STACK_TRACE "Record stack info on memory debug" OFF)
set(WINDOWS_LIBRARIES "../../ModulesWindowsLibraries" CACHE STRING "Svn repository with windows libraries https://svn.riouxsvn.com/moduleswindowsl")
if (MODULES_MEMORY_DEBUG) if (MODULES_MEMORY_DEBUG)
add_compile_definitions(MEM_DEBUG) add_compile_definitions(MEM_DEBUG)
endif () endif ()