diff --git a/CMakeLists.txt b/CMakeLists.txt index 63c452607..f5da236e1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -166,10 +166,6 @@ if(WIN32) # https://github.com/nlohmann/json/issues/3868#issuecomment-1563726354 add_definitions(-DJSON_HAS_THREE_WAY_COMPARISON=OFF) - # build quickpromise - add_subdirectory("extern/quickpromise") - add_subdirectory("extern/quickfuture") - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) # When moving to Qt6 or greater, we might be able to use qt_generate_deploy_app_script @@ -229,6 +225,15 @@ endif() add_subdirectory(src) if(INSTALL_XSTUDIO) + + + # add extern libs that are build-time dependencies of xstudio +if (UNIX) + add_subdirectory("extern/reproc") +endif() + add_subdirectory("extern/quickfuture") + add_subdirectory("extern/quickpromise") + add_subdirectory(share/preference) add_subdirectory(share/snippets) add_subdirectory(share/fonts) @@ -272,11 +277,6 @@ if(INSTALL_XSTUDIO) endif () -# add extern libs that are build-time dependencies of xstudio -add_subdirectory("extern/reproc") -add_subdirectory("extern/quickfuture") -add_subdirectory("extern/quickpromise") - if(USE_VCPKG) # To provide reliable ordering, we need to make this install script happen in a subdirectory. # Otherwise, Qt deploy will happen before we have the rest of the application deployed. diff --git a/CMakePresets.json b/CMakePresets.json index 3856a0150..d3020c537 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -14,7 +14,7 @@ "cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/build/vcpkg/scripts/buildsystems/vcpkg.cmake", "Qt5_DIR": "C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5/", - "CMAKE_INSTALL_PREFIX": "D:/xstudio_install", + "CMAKE_INSTALL_PREFIX": "C:/xstudio_install3", "X_VCPKG_APPLOCAL_DEPS_INSTALL": "ON", "BUILD_DOCS": "OFF" } diff --git a/cmake/macros.cmake b/cmake/macros.cmake index e03e3440f..53a27b288 100644 --- a/cmake/macros.cmake +++ b/cmake/macros.cmake @@ -4,6 +4,7 @@ macro(default_compile_options name) # PRIVATE -fvisibility=hidden PRIVATE $<$,$>:-fno-omit-frame-pointer> PRIVATE $<$,$>:/Oy> + PRIVATE $<$,$>:/showIncludes> # PRIVATE $<$:-Wno-unused-variable> # PRIVATE $<$:-Wno-unused-but-set-variable> # PRIVATE $<$:-Wno-unused-parameter> @@ -32,6 +33,7 @@ macro(default_compile_options name) PUBLIC BINARY_DIR=\"${CMAKE_BINARY_DIR}/bin\" PRIVATE TEST_RESOURCE=\"${TEST_RESOURCE}\" PRIVATE ROOT_DIR=\"${ROOT_DIR}\" + $<$:WIN32_LEAN_AND_MEAN> PRIVATE $<$:XSTUDIO_DEBUG=1> ) endmacro() diff --git a/extern/include/cpp-httplib/httplib.h b/extern/include/cpp-httplib/httplib.h index 1dcb41bfd..0f86fbf61 100644 --- a/extern/include/cpp-httplib/httplib.h +++ b/extern/include/cpp-httplib/httplib.h @@ -153,7 +153,7 @@ using ssize_t = long; #endif // NOMINMAX #include -#include +//#include #include #ifndef WSA_FLAG_NO_HANDLE_INHERIT diff --git a/extern/include/stduuid/uuid.h b/extern/include/stduuid/uuid.h index 34f59e5f8..8e06b97e9 100644 --- a/extern/include/stduuid/uuid.h +++ b/extern/include/stduuid/uuid.h @@ -20,8 +20,9 @@ #ifdef _WIN32 #include -#define WIN32_LEAN_AND_MEAN +#ifndef NOMINMAX #define NOMINMAX +#endif #include #include #include diff --git a/extern/quickfuture/CMakeLists.txt b/extern/quickfuture/CMakeLists.txt index 4b50f097e..6bc949b57 100644 --- a/extern/quickfuture/CMakeLists.txt +++ b/extern/quickfuture/CMakeLists.txt @@ -19,15 +19,16 @@ set(QML_FILES src/quickfuture.qmltypes ) -set_target_properties(quickfuture - PROPERTIES - LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/plugin/qml/QuickFuture" -) - if(WIN32) install(FILES ${QML_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/plugin/qml/QuickFuture) - install(TARGETS quickfuture LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/plugin/qml/QuickFuture) + install(TARGETS quickfuture RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/plugin/qml) else() + + set_target_properties(quickfuture + PROPERTIES + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/plugin/qml/QuickFuture" + ) + install(FILES ${QML_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/xstudio/plugin/qml/QuickFuture) install(TARGETS quickfuture LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/share/xstudio/plugin/qml/QuickFuture) diff --git a/extern/stduuid/include/uuid.h b/extern/stduuid/include/uuid.h index 34f59e5f8..fb5875762 100644 --- a/extern/stduuid/include/uuid.h +++ b/extern/stduuid/include/uuid.h @@ -20,8 +20,9 @@ #ifdef _WIN32 #include -#define WIN32_LEAN_AND_MEAN +#ifndef NOMINMAX #define NOMINMAX +#endif #include #include #include diff --git a/include/xstudio/utility/helpers.hpp b/include/xstudio/utility/helpers.hpp index 3c90c3896..cfdcb426f 100644 --- a/include/xstudio/utility/helpers.hpp +++ b/include/xstudio/utility/helpers.hpp @@ -22,7 +22,6 @@ #include "xstudio/utility/string_helpers.hpp" #include "xstudio/caf_error.hpp" #include "xstudio/caf_utility/caf_setup.hpp" - #ifdef _WIN32 #include #include diff --git a/include/xstudio/utility/string_helpers.hpp b/include/xstudio/utility/string_helpers.hpp index 45b93cf39..d3d5f5248 100644 --- a/include/xstudio/utility/string_helpers.hpp +++ b/include/xstudio/utility/string_helpers.hpp @@ -4,6 +4,7 @@ #ifdef _WIN32 #include #endif + #include #include #include diff --git a/src/audio/src/windows_audio_output_device.cpp b/src/audio/src/windows_audio_output_device.cpp index 0205eec39..f0e2890b2 100644 --- a/src/audio/src/windows_audio_output_device.cpp +++ b/src/audio/src/windows_audio_output_device.cpp @@ -1,4 +1,3 @@ -#define WIN32_LEAN_AND_MEAN #include #include #include diff --git a/src/python_module/src/py_messages.cpp b/src/python_module/src/py_messages.cpp index 9145d5b6c..0bce6319f 100644 --- a/src/python_module/src/py_messages.cpp +++ b/src/python_module/src/py_messages.cpp @@ -6,6 +6,7 @@ // #include // #include // #include +#include "xstudio/utility/helpers.hpp" #include "py_opaque.hpp" @@ -15,7 +16,6 @@ #include "xstudio/ui/mouse.hpp" #include "xstudio/utility/caf_helpers.hpp" #include "xstudio/utility/container.hpp" -#include "xstudio/utility/helpers.hpp" #include "xstudio/utility/media_reference.hpp" #include "xstudio/utility/remote_session_file.hpp" #include "xstudio/utility/serialise_headers.hpp" diff --git a/src/timeline/src/item.cpp b/src/timeline/src/item.cpp index 9de919bd5..3b8d98747 100644 --- a/src/timeline/src/item.cpp +++ b/src/timeline/src/item.cpp @@ -2,8 +2,8 @@ #include #include -#include "xstudio/timeline/item.hpp" #include "xstudio/utility/helpers.hpp" +#include "xstudio/timeline/item.hpp" using namespace xstudio; using namespace xstudio::timeline; diff --git a/src/utility/src/frame_list.cpp b/src/utility/src/frame_list.cpp index f032366b0..cb9643027 100644 --- a/src/utility/src/frame_list.cpp +++ b/src/utility/src/frame_list.cpp @@ -1,4 +1,6 @@ // SPDX-License-Identifier: Apache-2.0 +#include "xstudio/utility/helpers.hpp" + #include #include @@ -7,7 +9,6 @@ #include #include "xstudio/utility/frame_list.hpp" -#include "xstudio/utility/helpers.hpp" #include "xstudio/utility/logging.hpp" #include "xstudio/utility/string_helpers.hpp" diff --git a/src/utility/src/helpers.cpp b/src/utility/src/helpers.cpp index 3c370a0d2..c28466394 100644 --- a/src/utility/src/helpers.cpp +++ b/src/utility/src/helpers.cpp @@ -1,4 +1,6 @@ // SPDX-License-Identifier: Apache-2.0 +#include "xstudio/utility/helpers.hpp" + #ifdef __linux__ #define __USE_POSIX #include @@ -18,7 +20,6 @@ //#include #include "xstudio/utility/frame_list.hpp" -#include "xstudio/utility/helpers.hpp" #include "xstudio/utility/sequence.hpp" #include "xstudio/utility/string_helpers.hpp"