Good bye qmake and welcome CMake.

This commit is contained in:
Gonzalo Exequiel Pedone 2021-02-19 19:52:28 -03:00
parent ca37fafebb
commit 1c014e1485
No known key found for this signature in database
GPG key ID: B8B09E63E9B85BAF
60 changed files with 798 additions and 1007 deletions

1
.gitignore vendored
View file

@ -67,6 +67,7 @@ callgrind.out.*
*_qmlcache.qrc *_qmlcache.qrc
test.o-* test.o-*
object_script.* object_script.*
*.user
# Ignore files generated by Python # # Ignore files generated by Python #
#################################### ####################################

View file

@ -1,5 +1,5 @@
# akvirtualcamera, virtual camera for Mac and Windows. # akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone # Copyright (C) 2021 Gonzalo Exequiel Pedone
# #
# akvirtualcamera is free software: you can redistribute it and/or modify # akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -16,11 +16,18 @@
# #
# Web-Site: http://webcamoid.github.io/ # Web-Site: http://webcamoid.github.io/
TEMPLATE = subdirs cmake_minimum_required(VERSION 3.5)
CONFIG += ordered
SUBDIRS = \ project(AkVirtualCamera)
PlatformUtils \
VCamIPC \ include(commons.cmake)
Assistant \
VirtualCamera add_subdirectory(VCamUtils)
if (APPLE)
add_subdirectory(cmio)
elseif (WIN32)
add_subdirectory(dshow)
endif ()
add_subdirectory(Manager)

77
Manager/CMakeLists.txt Normal file
View file

@ -0,0 +1,77 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.5)
project(Manager LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if (APPLE)
include(../cmio/cmio.cmake)
set(INSTALLPATH ${CMIO_PLUGIN_NAME}.plugin/Contents/Resources)
elseif (WIN32)
include(../dshow/dshow.cmake)
set(INSTALLPATH ${DSHOW_PLUGIN_NAME}.plugin/${TARGET_ARCH})
endif ()
add_executable(Manager
src/cmdparser.h
src/main.cpp
src/cmdparser.cpp)
set_target_properties(Manager PROPERTIES
OUTPUT_NAME AkVCamManager
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${INSTALLPATH}")
add_dependencies(Manager VCamIPC PlatformUtils VCamUtils)
target_include_directories(Manager
PRIVATE ..)
target_link_libraries(Manager
VCamIPC
PlatformUtils
VCamUtils)
if (APPLE)
find_library(COREFOUNDATION_FRAMEWORK NAMES CoreFoundation)
find_library(COREMEDIA_FRAMEWORK NAMES CoreMedia)
find_library(COREMEDIAIO_FRAMEWORK NAMES CoreMediaIO)
find_library(COREVIDEO_FRAMEWORK NAMES CoreVideo)
find_library(FOUNDATION_FRAMEWORK NAMES Foundation)
find_library(IOKIT_FRAMEWORK NAMES IOKit)
find_library(IOSURFACE_FRAMEWORK NAMES IOSurface)
set(EXTRA_LIBS ${COREFOUNDATION_FRAMEWORK}
${COREMEDIA_FRAMEWORK}
${COREMEDIAIO_FRAMEWORK}
${COREVIDEO_FRAMEWORK}
${FOUNDATION_FRAMEWORK}
${IOKIT_FRAMEWORK}
${IOSURFACE_FRAMEWORK})
target_link_libraries(Manager
${EXTRA_LIBS})
elseif (WIN32)
target_link_libraries(Manager
advapi32
gdi32
strmiids
uuid
ole32
oleaut32
shell32)
endif ()
install(TARGETS Manager DESTINATION ${INSTALLPATH})

View file

@ -1,86 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
exists(commons.pri) {
include(commons.pri)
} else {
exists(../commons.pri) {
include(../commons.pri)
} else {
error("commons.pri file not found.")
}
}
win32: include(../dshow/dshow.pri)
macx: include(../cmio/cmio.pri)
TEMPLATE = app
CONFIG += console link_prl
CONFIG -= app_bundle
CONFIG -= qt
TARGET = AkVCamManager
HEADERS = \
src/cmdparser.h
SOURCES = \
src/main.cpp \
src/cmdparser.cpp
INCLUDEPATH += \
.. \
../..
win32: LIBS += \
-L$${OUT_PWD}/../dshow/VCamIPC/$${BIN_DIR} -lVCamIPC \
-L$${OUT_PWD}/../dshow/PlatformUtils/$${BIN_DIR} -lPlatformUtils \
-ladvapi32 \
-lgdi32 \
-lstrmiids \
-luuid \
-lole32 \
-loleaut32 \
-lshell32
macx: LIBS += \
-L$${OUT_PWD}/../cmio/VCamIPC/$${BIN_DIR} -lVCamIPC \
-L$${OUT_PWD}/../cmio/PlatformUtils/$${BIN_DIR} -lPlatformUtils \
-framework CoreFoundation \
-framework CoreMedia \
-framework CoreMediaIO \
-framework CoreVideo \
-framework Foundation \
-framework IOKit \
-framework IOSurface
LIBS += \
-L$${OUT_PWD}/../VCamUtils/$${BIN_DIR} -lVCamUtils
isEmpty(STATIC_BUILD) | isEqual(STATIC_BUILD, 0) {
win32-g++: QMAKE_LFLAGS = -static -static-libgcc -static-libstdc++
}
win32 {
INSTALLPATH = $${DSHOW_PLUGIN_NAME}.plugin/$$normalizedArch(TARGET_ARCH)
} else {
INSTALLPATH = $${CMIO_PLUGIN_NAME}.plugin/Contents/Resources
}
DESTDIR = $${OUT_PWD}/../$${INSTALLPATH}
INSTALLS += target
target.path = $${PREFIX}/$${INSTALLPATH}

View file

@ -36,8 +36,8 @@
#include "cmdparser.h" #include "cmdparser.h"
#include "VCamUtils/src/ipcbridge.h" #include "VCamUtils/src/ipcbridge.h"
#include "VCamUtils/src/settings.h" #include "VCamUtils/src/settings.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"
#define AKVCAM_BIND_FUNC(member) \ #define AKVCAM_BIND_FUNC(member) \

47
VCamUtils/CMakeLists.txt Normal file
View file

@ -0,0 +1,47 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.14)
project(VCamUtils LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_library(VCamUtils STATIC
src/color.h
src/fraction.cpp
src/fraction.h
src/ipcbridge.h
src/logger.cpp
src/logger.h
src/settings.cpp
src/settings.h
src/timer.cpp
src/timer.h
src/utils.cpp
src/utils.h
src/videoformat.cpp
src/videoformat.h
src/videoformattypes.h
src/videoframe.cpp
src/videoframe.h
src/videoframetypes.h)
target_compile_definitions(VCamUtils PRIVATE VCAMUTILS_LIBRARY)

View file

@ -1,65 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
exists(commons.pri) {
include(commons.pri)
} else {
exists(../commons.pri) {
include(../commons.pri)
} else {
error("commons.pri file not found.")
}
}
CONFIG += \
staticlib \
create_prl \
no_install_prl
CONFIG -= qt
DESTDIR = $${OUT_PWD}/$${BIN_DIR}
TARGET = VCamUtils
TEMPLATE = lib
SOURCES += \
src/fraction.cpp \
src/image/videoformat.cpp \
src/image/videoframe.cpp \
src/logger.cpp \
src/settings.cpp \
src/timer.cpp \
src/utils.cpp
HEADERS += \
src/fraction.h \
src/image/color.h \
src/image/videoformat.h \
src/image/videoframe.h \
src/image/videoframetypes.h \
src/image/videoformattypes.h \
src/ipcbridge.h \
src/logger.h \
src/settings.h \
src/timer.h \
src/utils.h
isEmpty(STATIC_BUILD) | isEqual(STATIC_BUILD, 0) {
win32-g++: QMAKE_LFLAGS = -static -static-libgcc -static-libstdc++
}

View file

@ -23,8 +23,8 @@
#include <string> #include <string>
#include <map> #include <map>
#include "image/videoformattypes.h" #include "videoformattypes.h"
#include "image/videoframetypes.h" #include "videoframetypes.h"
#include "utils.h" #include "utils.h"
namespace AkVCam namespace AkVCam

View file

@ -22,7 +22,7 @@
#include <ostream> #include <ostream>
#include "videoformat.h" #include "videoformat.h"
#include "../utils.h" #include "utils.h"
namespace AkVCam namespace AkVCam
{ {

View file

@ -24,7 +24,7 @@
#include <vector> #include <vector>
#include "videoformattypes.h" #include "videoformattypes.h"
#include "../fraction.h" #include "fraction.h"
namespace AkVCam namespace AkVCam
{ {

View file

@ -24,7 +24,7 @@
#include "videoframe.h" #include "videoframe.h"
#include "videoformat.h" #include "videoformat.h"
#include "../utils.h" #include "utils.h"
namespace AkVCam namespace AkVCam
{ {

View file

@ -1,61 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
exists(commons.pri) {
include(commons.pri)
} else {
exists(../../commons.pri) {
include(../../commons.pri)
} else {
error("commons.pri file not found.")
}
}
include(../cmio.pri)
CONFIG += console link_prl
CONFIG -= app_bundle
CONFIG -= qt
TARGET = $${CMIO_PLUGIN_ASSISTANT_NAME}
TEMPLATE = app
SOURCES += \
src/main.cpp \
src/assistant.cpp
LIBS += \
-L$${OUT_PWD}/../PlatformUtils/$${BIN_DIR} -lPlatformUtils \
-L$${OUT_PWD}/../../VCamUtils/$${BIN_DIR} -lVCamUtils \
-framework CoreFoundation
HEADERS += \
src/assistantglobals.h \
src/assistant.h
INCLUDEPATH += \
.. \
../..
INSTALLPATH = $${CMIO_PLUGIN_NAME}.plugin/Contents/Resources
DESTDIR = $${OUT_PWD}/../../$${INSTALLPATH}
INSTALLS += target
target.path = $${PREFIX}/$${INSTALLPATH}

View file

@ -0,0 +1,47 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.5)
project(Assistant LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(../cmio.cmake)
set(INSTALLPATH ${CMIO_PLUGIN_NAME}.plugin/Contents/Resources)
add_executable(Assistant
src/assistant.cpp
src/assistant.h
src/assistantglobals.h
src/main.cpp)
set_target_properties(Assistant PROPERTIES
OUTPUT_NAME ${CMIO_PLUGIN_ASSISTANT_NAME}
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${INSTALLPATH}")
add_dependencies(Assistant PlatformUtils VCamUtils)
target_include_directories(Assistant
PRIVATE ..
PRIVATE ../..)
find_library(COREFOUNDATION_FRAMEWORK NAMES CoreFoundation)
set(EXTRA_LIBS ${COREFOUNDATION_FRAMEWORK})
target_link_libraries(Assistant
PlatformUtils
VCamUtils
${EXTRA_LIBS})
install(TARGETS Assistant DESTINATION ${INSTALLPATH})

View file

@ -27,8 +27,8 @@
#include "assistant.h" #include "assistant.h"
#include "assistantglobals.h" #include "assistantglobals.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
#include "VCamUtils/src/ipcbridge.h" #include "VCamUtils/src/ipcbridge.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"

View file

@ -1,5 +1,5 @@
# akvirtualcamera, virtual camera for Mac and Windows. # akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone # Copyright (C) 2021 Gonzalo Exequiel Pedone
# #
# akvirtualcamera is free software: you can redistribute it and/or modify # akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -16,11 +16,11 @@
# #
# Web-Site: http://webcamoid.github.io/ # Web-Site: http://webcamoid.github.io/
TEMPLATE = subdirs cmake_minimum_required(VERSION 3.5)
CONFIG += ordered
SUBDIRS = \ project(dshow)
PlatformUtils \
VCamIPC \ add_subdirectory(PlatformUtils)
Assistant \ add_subdirectory(VCamIPC)
VirtualCamera add_subdirectory(Assistant)
add_subdirectory(VirtualCamera)

View file

@ -0,0 +1,44 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.14)
project(PlatformUtils LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(../cmio.cmake)
add_library(PlatformUtils STATIC
src/preferences.cpp
src/preferences.h
src/utils.cpp
src/utils.h)
add_dependencies(PlatformUtils VCamUtils)
target_compile_definitions(PlatformUtils PRIVATE PLATFORMUTILS_LIBRARY)
target_include_directories(PlatformUtils PRIVATE ../..)
find_library(COREFOUNDATION_FRAMEWORK NAMES CoreFoundation)
find_library(COREGRAPHICS_FRAMEWORK NAMES CoreGraphics)
set(EXTRA_LIBS ${COREFOUNDATION_FRAMEWORK}
${COREGRAPHICS_FRAMEWORK})
target_link_libraries(PlatformUtils
VCamUtils
${EXTRA_LIBS})

View file

@ -21,7 +21,7 @@
#include "preferences.h" #include "preferences.h"
#include "utils.h" #include "utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"
#define PREFERENCES_ID CFSTR(CMIO_ASSISTANT_NAME) #define PREFERENCES_ID CFSTR(CMIO_ASSISTANT_NAME)

View file

@ -26,8 +26,8 @@
#include "utils.h" #include "utils.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
namespace AkVCam { namespace AkVCam {
namespace Utils { namespace Utils {

View file

@ -25,7 +25,7 @@
#include <CoreMediaIO/CMIOHardwarePlugIn.h> #include <CoreMediaIO/CMIOHardwarePlugIn.h>
#include <CoreMedia/CMFormatDescription.h> #include <CoreMedia/CMFormatDescription.h>
#include "VCamUtils/src/image/videoformattypes.h" #include "VCamUtils/src/videoformattypes.h"
namespace AkVCam namespace AkVCam
{ {

View file

@ -1,5 +1,5 @@
# akvirtualcamera, virtual camera for Mac and Windows. # akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone # Copyright (C) 2021 Gonzalo Exequiel Pedone
# #
# akvirtualcamera is free software: you can redistribute it and/or modify # akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -16,40 +16,26 @@
# #
# Web-Site: http://webcamoid.github.io/ # Web-Site: http://webcamoid.github.io/
exists(commons.pri) { cmake_minimum_required(VERSION 3.14)
include(commons.pri)
} else {
exists(../../commons.pri) {
include(../../commons.pri)
} else {
error("commons.pri file not found.")
}
}
include(../cmio.pri) project(VCamIPC LANGUAGES CXX OBJCXX)
CONFIG += \ set(CMAKE_INCLUDE_CURRENT_DIR ON)
staticlib \ set(CMAKE_CXX_STANDARD 11)
create_prl \ set(CMAKE_CXX_STANDARD_REQUIRED ON)
no_install_prl
CONFIG -= qt
DESTDIR = $${OUT_PWD}/$${BIN_DIR} include(../cmio.cmake)
TARGET = VCamIPC add_library(VCamIPC STATIC
src/ipcbridge.mm)
TEMPLATE = lib add_dependencies(VCamIPC VCamUtils)
target_compile_definitions(VCamIPC PRIVATE VCAMIPC_LIBRARY)
LIBS = \ target_include_directories(VCamIPC
-L$${OUT_PWD}/../../VCamUtils/$${BIN_DIR} -lVCamUtils \ PRIVATE ..
-framework Foundation PRIVATE ../..)
find_library(FOUNDATION_FRAMEWORK NAMES Foundation)
OBJECTIVE_SOURCES = \ set(EXTRA_LIBS ${FOUNDATION_FRAMEWORK})
src/ipcbridge.mm target_link_libraries(VCamIPC
VCamUtils
HEADERS = \ ${EXTRA_LIBS})
../../ipcbridge.h
INCLUDEPATH += \
.. \
../..

View file

@ -36,8 +36,8 @@
#include "Assistant/src/assistantglobals.h" #include "Assistant/src/assistantglobals.h"
#include "PlatformUtils/src/preferences.h" #include "PlatformUtils/src/preferences.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
#include "VCamUtils/src/ipcbridge.h" #include "VCamUtils/src/ipcbridge.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"
#include "VCamUtils/src/utils.h" #include "VCamUtils/src/utils.h"

View file

@ -0,0 +1,83 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.14)
project(VirtualCamera LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(../cmio.cmake)
set(CONTENTSPATH ${CMIO_PLUGIN_NAME}.plugin/Contents)
set(MACBINPATH ${CONTENTSPATH}/MacOS)
add_library(VirtualCamera SHARED
src/clock.cpp
src/clock.h
src/device.cpp
src/device.h
src/object.cpp
src/object.h
src/objectinterface.cpp
src/objectinterface.h
src/objectproperties.cpp
src/objectproperties.h
src/plugin.cpp
src/plugin.h
src/plugininterface.cpp
src/plugininterface.h
src/queue.h
src/stream.cpp
src/stream.h)
configure_file(Info.plist.in "${CMAKE_BINARY_DIR}/${CONTENTSPATH}/Info.plist")
set_target_properties(VirtualCamera PROPERTIES
OUTPUT_NAME ${CMIO_PLUGIN_NAME}
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${MACBINPATH}"
PREFIX ""
SUFFIX "")
add_dependencies(VirtualCamera VCamIPC PlatformUtils VCamUtils)
target_compile_definitions(VirtualCamera PRIVATE VIRTUALCAMERA_LIBRARY)
target_include_directories(VirtualCamera
PRIVATE ..
PRIVATE ../..)
find_library(COREFOUNDATION_FRAMEWORK NAMES CoreFoundation)
find_library(COREGRAPHICS_FRAMEWORK NAMES CoreGraphics)
find_library(COREMEDIA_FRAMEWORK NAMES CoreMedia)
find_library(COREMEDIAIO_FRAMEWORK NAMES CoreMediaIO)
find_library(COREVIDEO_FRAMEWORK NAMES CoreVideo)
find_library(FOUNDATION_FRAMEWORK NAMES Foundation)
find_library(IOKIT_FRAMEWORK NAMES IOKit)
find_library(IOSURFACE_FRAMEWORK NAMES IOSurface)
set(EXTRA_LIBS ${COREFOUNDATION_FRAMEWORK}
${COREGRAPHICS_FRAMEWORK}
${COREMEDIA_FRAMEWORK}
${COREMEDIAIO_FRAMEWORK}
${COREVIDEO_FRAMEWORK}
${FOUNDATION_FRAMEWORK}
${IOKIT_FRAMEWORK}
${IOSURFACE_FRAMEWORK})
target_link_libraries(VirtualCamera
PlatformUtils
VCamUtils
VCamIPC
${EXTRA_LIBS})
install(TARGETS VirtualCamera DESTINATION ${MACBINPATH})
install(FILES "${CMAKE_BINARY_DIR}/${CONTENTSPATH}/Info.plist" DESTINATION ${CONTENTSPATH})

View file

@ -17,11 +17,11 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>BNDL</string> <string>BNDL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>$$VERSION</string> <string>@VERSION@</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>$$VERSION</string> <string>@VERSION@</string>
<key>CFBundleSupportedPlatforms</key> <key>CFBundleSupportedPlatforms</key>
<array> <array>
<string>MacOSX</string> <string>MacOSX</string>

View file

@ -1,103 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
exists(commons.pri) {
include(commons.pri)
} else {
exists(../../commons.pri) {
include(../../commons.pri)
} else {
error("commons.pri file not found.")
}
}
include(../cmio.pri)
CONFIG -= qt link_prl
CONFIG += \
unversioned_libname \
unversioned_soname
DESTDIR = $${OUT_PWD}/$${BIN_DIR}
INCLUDEPATH += \
.. \
../..
LIBS = \
-L$${OUT_PWD}/../PlatformUtils/$${BIN_DIR} -lPlatformUtils \
-L$${OUT_PWD}/../../VCamUtils/$${BIN_DIR} -lVCamUtils \
-L$${OUT_PWD}/../VCamIPC/$${BIN_DIR} -lVCamIPC \
-framework CoreFoundation \
-framework CoreGraphics \
-framework CoreMedia \
-framework CoreMediaIO \
-framework CoreVideo \
-framework Foundation \
-framework IOKit \
-framework IOSurface
TARGET = $${CMIO_PLUGIN_NAME}
TEMPLATE = lib
HEADERS += \
src/plugin.h \
src/plugininterface.h \
src/device.h \
src/object.h \
src/stream.h \
src/objectinterface.h \
src/objectproperties.h \
src/clock.h \
src/queue.h
SOURCES += \
src/plugin.cpp \
src/plugininterface.cpp \
src/device.cpp \
src/object.cpp \
src/stream.cpp \
src/objectinterface.cpp \
src/objectproperties.cpp \
src/clock.cpp
QMAKE_SUBSTITUTES += Info.plist.in
OTHER_FILES = \
Info.plist.in
CONTENTSPATH = $${CMIO_PLUGIN_NAME}.plugin/Contents
MACBINPATH = $${CONTENTSPATH}/MacOS
RESOURCESPATH = $${CONTENTSPATH}/Resources
INSTALLS += \
targetLib \
infoPlist
targetLib.files = $$shell_path($${OUT_PWD}/../../$${MACBINPATH}/$${CMIO_PLUGIN_NAME})
targetLib.path = $${PREFIX}/$${MACBINPATH}
targetLib.CONFIG += no_check_exist
infoPlist.files = $$shell_path($${OUT_PWD}/Info.plist)
infoPlist.path = $${PREFIX}/$${CONTENTSPATH}
infoPlist.CONFIG += no_check_exist
QMAKE_POST_LINK = \
$$sprintf($$QMAKE_MKDIR_CMD, $$shell_path($${OUT_PWD}/../../$${MACBINPATH})) $${CMD_SEP} \
$(COPY) $$shell_path($${OUT_PWD}/Info.plist) $$shell_path($${OUT_PWD}/../../$${CONTENTSPATH}) $${CMD_SEP} \
$(COPY) $$shell_path($${OUT_PWD}/$${BIN_DIR}/lib$${CMIO_PLUGIN_NAME}.$${QMAKE_EXTENSION_SHLIB}) $$shell_path($${OUT_PWD}/../../$${MACBINPATH}/$${CMIO_PLUGIN_NAME}) $${CMD_SEP}

View file

@ -21,7 +21,7 @@
#include "object.h" #include "object.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
namespace AkVCam namespace AkVCam
{ {

View file

@ -26,7 +26,7 @@
#include "Assistant/src/assistantglobals.h" #include "Assistant/src/assistantglobals.h"
#include "PlatformUtils/src/preferences.h" #include "PlatformUtils/src/preferences.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/ipcbridge.h" #include "VCamUtils/src/ipcbridge.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"

View file

@ -29,8 +29,8 @@
#include "clock.h" #include "clock.h"
#include "PlatformUtils/src/preferences.h" #include "PlatformUtils/src/preferences.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"
namespace AkVCam namespace AkVCam

View file

@ -21,7 +21,7 @@
#define STREAM_H #define STREAM_H
#include "VCamUtils/src/fraction.h" #include "VCamUtils/src/fraction.h"
#include "VCamUtils/src/image/videoframetypes.h" #include "VCamUtils/src/videoframetypes.h"
#include "VCamUtils/src/ipcbridge.h" #include "VCamUtils/src/ipcbridge.h"
#include "object.h" #include "object.h"
#include "queue.h" #include "queue.h"

34
cmio/cmio.cmake Normal file
View file

@ -0,0 +1,34 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
include("${CMAKE_CURRENT_LIST_DIR}/../commons.cmake")
set(CMIO_PLUGIN_NAME AkVirtualCamera)
set(CMIO_PLUGIN_ASSISTANT_NAME AkVCamAssistant)
set(CMIO_PLUGIN_DEVICE_PREFIX AkVCamVideoDevice)
set(CMIO_PLUGIN_VENDOR "Webcamoid Project")
set(CMIO_PLUGIN_PRODUCT ${CMIO_PLUGIN_NAME})
set(CMIO_ASSISTANT_NAME "org.webcamoid.cmio.AkVCam.Assistant")
add_definitions(-DCMIO_PLUGIN_NAME="\\"${CMIO_PLUGIN_NAME}\\""
-DCMIO_PLUGIN_NAME_L="\\"${CMIO_PLUGIN_NAME}\\""
-DCMIO_PLUGIN_ASSISTANT_NAME="\\"${CMIO_PLUGIN_ASSISTANT_NAME}\\""
-DCMIO_PLUGIN_DEVICE_PREFIX="\\"${CMIO_PLUGIN_DEVICE_PREFIX}\\""
-DCMIO_PLUGIN_VENDOR="\\"${CMIO_PLUGIN_VENDOR}\\""
-DCMIO_PLUGIN_PRODUCT="\\"${CMIO_PLUGIN_PRODUCT}\\""
-DCMIO_ASSISTANT_NAME="\\"${CMIO_ASSISTANT_NAME}\\"")

View file

@ -1,39 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
isEmpty(CMIO_PLUGIN_NAME):
CMIO_PLUGIN_NAME = AkVirtualCamera
isEmpty(CMIO_PLUGIN_ASSISTANT_NAME):
CMIO_PLUGIN_ASSISTANT_NAME = AkVCamAssistant
isEmpty(CMIO_PLUGIN_DEVICE_PREFIX):
CMIO_PLUGIN_DEVICE_PREFIX = AkVCamVideoDevice
isEmpty(CMIO_PLUGIN_VENDOR):
CMIO_PLUGIN_VENDOR = "Webcamoid Project"
isEmpty(CMIO_PLUGIN_PRODUCT):
CMIO_PLUGIN_PRODUCT = $$CMIO_PLUGIN_NAME
isEmpty(CMIO_ASSISTANT_NAME):
CMIO_ASSISTANT_NAME = "org.webcamoid.cmio.AkVCam.Assistant"
DEFINES += \
CMIO_PLUGIN_NAME=\"\\\"$$CMIO_PLUGIN_NAME\\\"\" \
CMIO_PLUGIN_NAME_L=\"L\\\"$$CMIO_PLUGIN_NAME\\\"\" \
CMIO_PLUGIN_ASSISTANT_NAME=\"\\\"$$CMIO_PLUGIN_ASSISTANT_NAME\\\"\" \
CMIO_PLUGIN_DEVICE_PREFIX=\"\\\"$$CMIO_PLUGIN_DEVICE_PREFIX\\\"\" \
CMIO_PLUGIN_VENDOR=\"\\\"$$CMIO_PLUGIN_VENDOR\\\"\" \
CMIO_PLUGIN_PRODUCT=\"\\\"$$CMIO_PLUGIN_PRODUCT\\\"\" \
CMIO_ASSISTANT_NAME=\"\\\"$$CMIO_ASSISTANT_NAME\\\"\"

64
commons.cmake Normal file
View file

@ -0,0 +1,64 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.5)
set(COMMONS_APPNAME AkVirtualCamera)
string(TOLOWER ${COMMONS_APPNAME} COMMONS_TARGET)
set(VER_MAJ 9)
set(VER_MIN 0)
set(VER_PAT 0)
set(VERSION ${VER_MAJ}.${VER_MIN}.${VER_PAT})
add_definitions(-DCOMMONS_APPNAME="\\"${COMMONS_APPNAME}\\""
-DCOMMONS_TARGET="\\"${COMMONS_TARGET}\\""
-DCOMMONS_VER_MAJ="\\"${VER_MAJ}\\""
-DCOMMONS_VERSION="\\"${VERSION}\\""
-DPREFIX="\\"${PREFIX}\\"")
if (WIN32)
include(CheckCXXSourceCompiles)
check_cxx_source_compiles("
#if !defined(__amd64__) \\
&& !defined(__amd64) \\
&& !defined(__x86_64_) \\
&& !defined(__x86_64) \\
&& !defined(_M_X64) \\
&& !defined(_M_AMD64)
#error Not x64
#endif
int main()
{
return 0;
}" HAVE_X64)
if (HAVE_X64)
set(TARGET_ARCH x64)
else ()
set(TARGET_ARCH x86)
endif()
add_definitions(-DUNICODE -D_UNICODE)
endif ()
if (NOT APPLE AND NOT WIN32)
message(FATAL_ERROR "This driver only works in Mac an Windows. For Linux check 'akvcam' instead.")
endif ()

View file

@ -1,92 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
COMMONS_APPNAME = "AkVirtualCamera"
COMMONS_TARGET = $$lower($${COMMONS_APPNAME})
COMMONS_TARGET = $$replace(COMMONS_TARGET, lib, "")
VER_MAJ = 9
VER_MIN = 0
VER_PAT = 0
VERSION = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
win32 {
host_name = $$lower($$QMAKE_HOST.os)
!isEmpty(ProgramW6432) {
DEFAULT_PREFIX = $(ProgramW6432)
} else: !isEmpty(ProgramFiles) {
DEFAULT_PREFIX = $(ProgramFiles)
} else: contains(host_name, linux) {
DEFAULT_PREFIX = /
} else {
DEFAULT_PREFIX = C:/
}
}
macx: DEFAULT_PREFIX = /Applications
isEmpty(PREFIX): PREFIX = $${DEFAULT_PREFIX}
DEFINES += \
COMMONS_APPNAME=\"\\\"$$COMMONS_APPNAME\\\"\" \
COMMONS_TARGET=\"\\\"$$COMMONS_TARGET\\\"\" \
COMMONS_VER_MAJ=\"\\\"$$VER_MAJ\\\"\" \
COMMONS_VERSION=\"\\\"$$VERSION\\\"\" \
PREFIX=\"\\\"$$PREFIX\\\"\"
msvc {
TARGET_ARCH = $${QMAKE_TARGET.arch}
TARGET_ARCH = $$basename(TARGET_ARCH)
TARGET_ARCH = $$replace(TARGET_ARCH, x64, x86_64)
} else {
TARGET_ARCH = $$system($${QMAKE_CXX} -dumpmachine)
TARGET_ARCH = $$split(TARGET_ARCH, -)
TARGET_ARCH = $$first(TARGET_ARCH)
}
COMPILER = $$basename(QMAKE_CXX)
COMPILER = $$replace(COMPILER, \+\+, pp)
COMPILER = $$join(COMPILER, _)
CONFIG(debug, debug|release) {
COMMONS_BUILD_PATH = debug/$${COMPILER}/$${TARGET_ARCH}
} else {
COMMONS_BUILD_PATH = release/$$COMPILER/$${TARGET_ARCH}
}
BIN_DIR = $${COMMONS_BUILD_PATH}/bin
MOC_DIR = $${COMMONS_BUILD_PATH}/moc
OBJECTS_DIR = $${COMMONS_BUILD_PATH}/obj
RCC_DIR = $${COMMONS_BUILD_PATH}/rcc
UI_DIR = $${COMMONS_BUILD_PATH}/ui
win32 {
CONFIG += skip_target_version_ext
!isEmpty(STATIC_BUILD):!isEqual(STATIC_BUILD, 0) {
win32-g++: QMAKE_LFLAGS = -static-libgcc -static-libstdc++
}
}
# Enable c++11 support in all platforms
!CONFIG(c++11): CONFIG += c++11
!win32: !macx {
error("This driver only works in Mac an Windows. For Linux check 'akvcam' instead.")
}
CMD_SEP = $$escape_expand(\n\t)

View file

@ -1,70 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
exists(commons.pri) {
include(commons.pri)
} else {
exists(../../commons.pri) {
include(../../commons.pri)
} else {
error("commons.pri file not found.")
}
}
include(../dshow.pri)
TEMPLATE = app
CONFIG += console link_prl
CONFIG -= app_bundle
CONFIG -= qt
TARGET = $${DSHOW_PLUGIN_ASSISTANT_NAME}
SOURCES += \
src/main.cpp \
src/service.cpp
HEADERS += \
src/service.h
INCLUDEPATH += \
.. \
../..
LIBS += \
-L$${OUT_PWD}/../PlatformUtils/$${BIN_DIR} -lPlatformUtils \
-L$${OUT_PWD}/../../VCamUtils/$${BIN_DIR} -lVCamUtils \
-ladvapi32 \
-lgdi32 \
-lole32 \
-lshell32 \
-lstrmiids \
-luuid
win32-g++: LIBS += -lssp
isEmpty(STATIC_BUILD) | isEqual(STATIC_BUILD, 0) {
win32-g++: QMAKE_LFLAGS = -static -static-libgcc -static-libstdc++
}
INSTALLPATH = $${DSHOW_PLUGIN_NAME}.plugin/$$normalizedArch(TARGET_ARCH)
DESTDIR = $${OUT_PWD}/../../$${INSTALLPATH}
INSTALLS += target
target.path = $${PREFIX}/$${INSTALLPATH}

View file

@ -0,0 +1,48 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.5)
project(Assistant LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(../dshow.cmake)
set(INSTALLPATH ${DSHOW_PLUGIN_NAME}.plugin/${TARGET_ARCH})
add_executable(Assistant
src/main.cpp
src/service.cpp
src/service.h)
set_target_properties(Assistant PROPERTIES
OUTPUT_NAME ${DSHOW_PLUGIN_ASSISTANT_NAME}
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${INSTALLPATH}")
add_dependencies(Assistant PlatformUtils VCamUtils)
target_include_directories(Assistant
PRIVATE ..
PRIVATE ../..)
target_link_libraries(Assistant
PlatformUtils
advapi32
gdi32
ole32
shell32
strmiids
uuid)
install(TARGETS Assistant DESTINATION ${INSTALLPATH})

View file

@ -32,8 +32,8 @@
#include "service.h" #include "service.h"
#include "PlatformUtils/src/messageserver.h" #include "PlatformUtils/src/messageserver.h"
#include "PlatformUtils/src/preferences.h" #include "PlatformUtils/src/preferences.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
#include "VCamUtils/src/timer.h" #include "VCamUtils/src/timer.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"

View file

@ -1,5 +1,5 @@
# akvirtualcamera, virtual camera for Mac and Windows. # akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone # Copyright (C) 2021 Gonzalo Exequiel Pedone
# #
# akvirtualcamera is free software: you can redistribute it and/or modify # akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -16,10 +16,11 @@
# #
# Web-Site: http://webcamoid.github.io/ # Web-Site: http://webcamoid.github.io/
TEMPLATE = subdirs cmake_minimum_required(VERSION 3.5)
CONFIG += ordered
SUBDIRS = VCamUtils project(dshow)
macx: SUBDIRS += cmio
win32: SUBDIRS += dshow add_subdirectory(PlatformUtils)
SUBDIRS += Manager add_subdirectory(VCamIPC)
add_subdirectory(Assistant)
add_subdirectory(VirtualCamera)

View file

@ -0,0 +1,51 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.14)
project(PlatformUtils LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(../dshow.cmake)
add_library(PlatformUtils STATIC
src/messagecommons.h
src/messageserver.cpp
src/messageserver.h
src/mutex.cpp
src/mutex.h
src/preferences.cpp
src/preferences.h
src/sharedmemory.cpp
src/sharedmemory.h
src/utils.cpp
src/utils.h)
add_dependencies(PlatformUtils VCamUtils)
target_compile_definitions(PlatformUtils PRIVATE PLATFORMUTILS_LIBRARY)
target_include_directories(PlatformUtils PRIVATE ../..)
target_link_libraries(PlatformUtils
VCamUtils
advapi32
kernel32
gdi32
shell32
windowscodecs)

View file

@ -1,66 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
exists(commons.pri) {
include(commons.pri)
} else {
exists(../../commons.pri) {
include(../../commons.pri)
} else {
error("commons.pri file not found.")
}
}
include(../dshow.pri)
CONFIG += \
staticlib \
create_prl \
no_install_prl
CONFIG -= qt
DESTDIR = $${OUT_PWD}/$${BIN_DIR}
TARGET = PlatformUtils
TEMPLATE = lib
LIBS = \
-L$${OUT_PWD}/../../VCamUtils/$${BIN_DIR} -lVCamUtils \
-ladvapi32 \
-lkernel32 \
-lgdi32 \
-lshell32 \
-lwindowscodecs
SOURCES = \
src/messageserver.cpp \
src/mutex.cpp \
src/preferences.cpp \
src/utils.cpp \
src/sharedmemory.cpp
HEADERS = \
src/messagecommons.h \
src/messageserver.h \
src/mutex.h \
src/preferences.h \
src/utils.h \
src/sharedmemory.h
INCLUDEPATH += ../..

View file

@ -24,7 +24,7 @@
#include <cstring> #include <cstring>
#include <functional> #include <functional>
#include "VCamUtils/src/image/videoframetypes.h" #include "VCamUtils/src/videoframetypes.h"
#define AKVCAM_ASSISTANT_CLIENT_NAME "AkVCam_Client" #define AKVCAM_ASSISTANT_CLIENT_NAME "AkVCam_Client"
#define AKVCAM_ASSISTANT_SERVER_NAME "AkVCam_Server" #define AKVCAM_ASSISTANT_SERVER_NAME "AkVCam_Server"

View file

@ -27,7 +27,7 @@
#include "preferences.h" #include "preferences.h"
#include "utils.h" #include "utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"
#define REG_PREFIX "SOFTWARE\\Webcamoid\\VirtualCamera" #define REG_PREFIX "SOFTWARE\\Webcamoid\\VirtualCamera"

View file

@ -29,8 +29,8 @@
#include "utils.h" #include "utils.h"
#include "messagecommons.h" #include "messagecommons.h"
#include "VCamUtils/src/utils.h" #include "VCamUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
#define TIME_BASE 1.0e7 #define TIME_BASE 1.0e7

View file

@ -23,7 +23,7 @@
#include <string> #include <string>
#include <strmif.h> #include <strmif.h>
#include "VCamUtils/src/image/videoformattypes.h" #include "VCamUtils/src/videoformattypes.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"
#define AkLogInterface(interface, instance) \ #define AkLogInterface(interface, instance) \

View file

@ -1,5 +1,5 @@
# akvirtualcamera, virtual camera for Mac and Windows. # akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone # Copyright (C) 2021 Gonzalo Exequiel Pedone
# #
# akvirtualcamera is free software: you can redistribute it and/or modify # akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -16,41 +16,26 @@
# #
# Web-Site: http://webcamoid.github.io/ # Web-Site: http://webcamoid.github.io/
exists(commons.pri) { cmake_minimum_required(VERSION 3.14)
include(commons.pri)
} else {
exists(../../commons.pri) {
include(../../commons.pri)
} else {
error("commons.pri file not found.")
}
}
include(../cmio.pri) project(VCamIPC LANGUAGES CXX)
CONFIG += \ set(CMAKE_INCLUDE_CURRENT_DIR ON)
staticlib \ set(CMAKE_CXX_STANDARD 11)
create_prl \ set(CMAKE_CXX_STANDARD_REQUIRED ON)
no_install_prl
CONFIG -= qt
DESTDIR = $${OUT_PWD}/$${BIN_DIR} include(../dshow.cmake)
TARGET = PlatformUtils add_library(VCamIPC STATIC
src/ipcbridge.cpp)
TEMPLATE = lib add_dependencies(VCamIPC PlatformUtils VCamUtils)
target_compile_definitions(VCamIPC PRIVATE VCAMIPC_LIBRARY)
LIBS = \ target_include_directories(VCamIPC
-L$${OUT_PWD}/../../VCamUtils/$${BIN_DIR} -lVCamUtils \ PRIVATE ..
-framework CoreFoundation \ PRIVATE ../..)
-framework CoreGraphics target_link_libraries(VCamIPC
PlatformUtils
SOURCES = \ advapi32
src/preferences.cpp \ kernel32
src/utils.cpp psapi)
HEADERS = \
src/preferences.h \
src/utils.h
INCLUDEPATH += ../..

View file

@ -1,64 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
exists(commons.pri) {
include(commons.pri)
} else {
exists(../../commons.pri) {
include(../../commons.pri)
} else {
error("commons.pri file not found.")
}
}
include(../dshow.pri)
CONFIG += \
staticlib \
create_prl \
no_install_prl
CONFIG -= qt
DESTDIR = $${OUT_PWD}/$${BIN_DIR}
TARGET = VCamIPC
TEMPLATE = lib
LIBS = \
-L$${OUT_PWD}/../PlatformUtils/$${BIN_DIR} -lPlatformUtils \
-L$${OUT_PWD}/../../VCamUtils/$${BIN_DIR} -lVCamUtils \
-ladvapi32 \
-lkernel32 \
-lpsapi
win32-g++: LIBS += -lssp
SOURCES = \
src/ipcbridge.cpp
HEADERS = \
../../ipcbridge.h
INCLUDEPATH += \
.. \
../..
DEFINES += \
DSHOW_PLUGIN_ARCH=\"\\\"$$normalizedArch(TARGET_ARCH)\\\"\" \
DSHOW_PLUGIN_ARCH_L=\"L\\\"$$normalizedArch(TARGET_ARCH)\\\"\"

View file

@ -34,8 +34,8 @@
#include "PlatformUtils/src/preferences.h" #include "PlatformUtils/src/preferences.h"
#include "PlatformUtils/src/sharedmemory.h" #include "PlatformUtils/src/sharedmemory.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
#include "VCamUtils/src/ipcbridge.h" #include "VCamUtils/src/ipcbridge.h"
#include "VCamUtils/src/logger.h" #include "VCamUtils/src/logger.h"

View file

@ -0,0 +1,104 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
cmake_minimum_required(VERSION 3.14)
project(VirtualCamera LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(../dshow.cmake)
set(INSTALLPATH ${DSHOW_PLUGIN_NAME}.plugin/${TARGET_ARCH})
add_library(VirtualCamera SHARED
src/basefilter.cpp
src/basefilter.h
src/classfactory.cpp
src/classfactory.h
src/cunknown.cpp
src/cunknown.h
src/enummediatypes.cpp
src/enummediatypes.h
src/enumpins.cpp
src/enumpins.h
src/filtermiscflags.cpp
src/filtermiscflags.h
src/latency.cpp
src/latency.h
src/mediafilter.cpp
src/mediafilter.h
src/mediasample.cpp
src/mediasample.h
src/mediasample2.cpp
src/mediasample2.h
src/memallocator.cpp
src/memallocator.h
src/persist.cpp
src/persist.h
src/persistpropertybag.cpp
src/persistpropertybag.h
src/pin.cpp
src/pin.h
src/plugin.cpp
src/plugin.h
src/plugininterface.cpp
src/plugininterface.h
src/propertyset.cpp
src/propertyset.h
src/pushsource.cpp
src/pushsource.h
src/qualitycontrol.cpp
src/qualitycontrol.h
src/referenceclock.cpp
src/referenceclock.h
src/specifypropertypages.cpp
src/specifypropertypages.h
src/streamconfig.cpp
src/streamconfig.h
src/videocontrol.cpp
src/videocontrol.h
src/videoprocamp.cpp
src/videoprocamp.h
VirtualCamera.def)
set_target_properties(VirtualCamera PROPERTIES
OUTPUT_NAME ${DSHOW_PLUGIN_NAME}
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${INSTALLPATH}"
PREFIX "")
add_dependencies(VirtualCamera VCamIPC PlatformUtils VCamUtils)
target_compile_definitions(VirtualCamera PRIVATE VIRTUALCAMERA_LIBRARY)
target_include_directories(VirtualCamera
PRIVATE ..
PRIVATE ../..)
target_link_libraries(VirtualCamera
VCamIPC
PlatformUtils
VCamUtils
advapi32
gdi32
kernel32
ole32
oleaut32
psapi
shell32
strmiids
user32
uuid
winmm)
install(TARGETS VirtualCamera DESTINATION ${INSTALLPATH})

View file

@ -16,7 +16,7 @@
; ;
; Web-Site: http://webcamoid.github.io/ ; Web-Site: http://webcamoid.github.io/
LIBRARY VirtualCameraSource.dll LIBRARY AkVirtualCamera.dll
EXPORTS EXPORTS
DllMain PRIVATE DllMain PRIVATE

View file

@ -1,126 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
exists(commons.pri) {
include(commons.pri)
} else {
exists(../../commons.pri) {
include(../../commons.pri)
} else {
error("commons.pri file not found.")
}
}
include(../dshow.pri)
CONFIG -= qt
CONFIG += link_prl
INCLUDEPATH += \
.. \
../..
LIBS += \
-L$${OUT_PWD}/../VCamIPC/$${BIN_DIR} -lVCamIPC \
-L$${OUT_PWD}/../PlatformUtils/$${BIN_DIR} -lPlatformUtils \
-L$${OUT_PWD}/../../VCamUtils/$${BIN_DIR} -lVCamUtils \
-ladvapi32 \
-lgdi32 \
-lkernel32 \
-lole32 \
-loleaut32 \
-lpsapi \
-lshell32 \
-lstrmiids \
-luser32 \
-luuid \
-lwinmm
TARGET = $${DSHOW_PLUGIN_NAME}
TEMPLATE = lib
HEADERS += \
src/basefilter.h \
src/classfactory.h \
src/cunknown.h \
src/enummediatypes.h \
src/enumpins.h \
src/filtermiscflags.h \
src/latency.h \
src/mediafilter.h \
src/mediasample.h \
src/mediasample2.h \
src/memallocator.h \
src/persist.h \
src/persistpropertybag.h \
src/pin.h \
src/plugin.h \
src/plugininterface.h \
src/propertyset.h \
src/pushsource.h \
src/qualitycontrol.h \
src/referenceclock.h \
src/specifypropertypages.h \
src/streamconfig.h \
src/videocontrol.h \
src/videoprocamp.h
SOURCES += \
src/basefilter.cpp \
src/classfactory.cpp \
src/cunknown.cpp \
src/enummediatypes.cpp \
src/enumpins.cpp \
src/filtermiscflags.cpp \
src/latency.cpp \
src/mediafilter.cpp \
src/mediasample.cpp \
src/mediasample2.cpp \
src/memallocator.cpp \
src/persist.cpp \
src/persistpropertybag.cpp \
src/pin.cpp \
src/plugin.cpp \
src/plugininterface.cpp \
src/propertyset.cpp \
src/pushsource.cpp \
src/qualitycontrol.cpp \
src/referenceclock.cpp \
src/specifypropertypages.cpp \
src/streamconfig.cpp \
src/videocontrol.cpp \
src/videoprocamp.cpp
OTHER_FILES = \
VirtualCamera.def
DEF_FILE = VirtualCamera.def
isEmpty(STATIC_BUILD) | isEqual(STATIC_BUILD, 0) {
win32-g++: QMAKE_LFLAGS = -static -static-libgcc -static-libstdc++
}
INSTALLPATH = $${DSHOW_PLUGIN_NAME}.plugin/$$normalizedArch(TARGET_ARCH)
RESOURCESPATH = $${DSHOW_PLUGIN_NAME}.plugin/share
DESTDIR = $${OUT_PWD}/../../$${INSTALLPATH}
INSTALLS += \
target
target.path = $${PREFIX}/$${INSTALLPATH}

View file

@ -31,7 +31,7 @@
#include "videoprocamp.h" #include "videoprocamp.h"
#include "PlatformUtils/src/preferences.h" #include "PlatformUtils/src/preferences.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/ipcbridge.h" #include "VCamUtils/src/ipcbridge.h"
#include "VCamUtils/src/utils.h" #include "VCamUtils/src/utils.h"

View file

@ -21,7 +21,7 @@
#include "enummediatypes.h" #include "enummediatypes.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/utils.h" #include "VCamUtils/src/utils.h"
namespace AkVCam namespace AkVCam

View file

@ -25,7 +25,7 @@
#include "memallocator.h" #include "memallocator.h"
#include "mediasample.h" #include "mediasample.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/utils.h" #include "VCamUtils/src/utils.h"
namespace AkVCam namespace AkVCam

View file

@ -38,8 +38,8 @@
#include "videoprocamp.h" #include "videoprocamp.h"
#include "PlatformUtils/src/preferences.h" #include "PlatformUtils/src/preferences.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
#include "VCamUtils/src/image/videoframe.h" #include "VCamUtils/src/videoframe.h"
#include "VCamUtils/src/utils.h" #include "VCamUtils/src/utils.h"
namespace AkVCam namespace AkVCam
@ -208,7 +208,7 @@ HRESULT AkVCam::Pin::stateChanged(void *userData, FILTER_STATE state)
self->d->m_ptsDrift = 0; self->d->m_ptsDrift = 0;
self->d->m_sendFrameEvent = self->d->m_sendFrameEvent =
CreateSemaphore(nullptr, 1, 1, L"SendFrame"); CreateSemaphore(nullptr, 1, 1, TEXT("SendFrame"));
self->d->m_running = true; self->d->m_running = true;
self->d->m_sendFrameThread = self->d->m_sendFrameThread =

View file

@ -23,7 +23,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "VCamUtils/src/image/videoframetypes.h" #include "VCamUtils/src/videoframetypes.h"
#include "VCamUtils/src/ipcbridge.h" #include "VCamUtils/src/ipcbridge.h"
#include "streamconfig.h" #include "streamconfig.h"

View file

@ -29,7 +29,7 @@
#include "referenceclock.h" #include "referenceclock.h"
#include "PlatformUtils/src/utils.h" #include "PlatformUtils/src/utils.h"
#include "VCamUtils/src/utils.h" #include "VCamUtils/src/utils.h"
#include "VCamUtils/src/image/videoformat.h" #include "VCamUtils/src/videoformat.h"
namespace AkVCam namespace AkVCam
{ {

35
dshow/dshow.cmake Normal file
View file

@ -0,0 +1,35 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2021 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
include("${CMAKE_CURRENT_LIST_DIR}/../commons.cmake")
set(DSHOW_PLUGIN_NAME AkVirtualCamera)
set(DSHOW_PLUGIN_ASSISTANT_NAME AkVCamAssistant)
set(DSHOW_PLUGIN_ASSISTANT_DESCRIPTION "Webcamoid virtual camera service")
set(DSHOW_PLUGIN_DESCRIPTION "Webcamoid Virtual Camera")
set(DSHOW_PLUGIN_DESCRIPTION_EXT "Central service for communicating between virtual cameras and clients")
set(DSHOW_PLUGIN_DEVICE_PREFIX AkVCamVideoDevice)
set(DSHOW_PLUGIN_VENDOR "Webcamoid Project")
add_definitions(-DDSHOW_PLUGIN_NAME="\\"${DSHOW_PLUGIN_NAME}\\""
-DDSHOW_PLUGIN_ASSISTANT_NAME="\\"${DSHOW_PLUGIN_ASSISTANT_NAME}\\""
-DDSHOW_PLUGIN_ASSISTANT_DESCRIPTION="\\"${DSHOW_PLUGIN_ASSISTANT_DESCRIPTION}\\""
-DDSHOW_PLUGIN_DESCRIPTION="\\"${DSHOW_PLUGIN_DESCRIPTION}\\""
-DDSHOW_PLUGIN_DESCRIPTION_EXT="\\"${DSHOW_PLUGIN_DESCRIPTION_EXT}\\""
-DDSHOW_PLUGIN_DEVICE_PREFIX="\\"${DSHOW_PLUGIN_DEVICE_PREFIX}\\""
-DDSHOW_PLUGIN_VENDOR="\\"${DSHOW_PLUGIN_VENDOR}\\"")

View file

@ -1,51 +0,0 @@
# akvirtualcamera, virtual camera for Mac and Windows.
# Copyright (C) 2020 Gonzalo Exequiel Pedone
#
# akvirtualcamera is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# akvirtualcamera is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with akvirtualcamera. If not, see <http://www.gnu.org/licenses/>.
#
# Web-Site: http://webcamoid.github.io/
isEmpty(DSHOW_PLUGIN_NAME):
DSHOW_PLUGIN_NAME = AkVirtualCamera
isEmpty(DSHOW_PLUGIN_ASSISTANT_NAME):
DSHOW_PLUGIN_ASSISTANT_NAME = AkVCamAssistant
isEmpty(DSHOW_PLUGIN_ASSISTANT_DESCRIPTION):
DSHOW_PLUGIN_ASSISTANT_DESCRIPTION = "Webcamoid virtual camera service"
isEmpty(DSHOW_PLUGIN_DESCRIPTION):
DSHOW_PLUGIN_DESCRIPTION = "Webcamoid Virtual Camera"
isEmpty(DSHOW_PLUGIN_DESCRIPTION_EXT):
DSHOW_PLUGIN_DESCRIPTION_EXT = "Central service for communicating between virtual cameras and clients"
isEmpty(DSHOW_PLUGIN_DEVICE_PREFIX):
DSHOW_PLUGIN_DEVICE_PREFIX = AkVCamVideoDevice
isEmpty(DSHOW_PLUGIN_VENDOR):
DSHOW_PLUGIN_VENDOR = "Webcamoid Project"
DEFINES += \
DSHOW_PLUGIN_NAME=\"\\\"$$DSHOW_PLUGIN_NAME\\\"\" \
DSHOW_PLUGIN_ASSISTANT_NAME=\"\\\"$$DSHOW_PLUGIN_ASSISTANT_NAME\\\"\" \
DSHOW_PLUGIN_ASSISTANT_DESCRIPTION=\"\\\"$$DSHOW_PLUGIN_ASSISTANT_DESCRIPTION\\\"\" \
DSHOW_PLUGIN_DESCRIPTION=\"\\\"$$DSHOW_PLUGIN_DESCRIPTION\\\"\" \
DSHOW_PLUGIN_DESCRIPTION_EXT=\"\\\"$$DSHOW_PLUGIN_DESCRIPTION_EXT\\\"\" \
DSHOW_PLUGIN_DEVICE_PREFIX=\"\\\"$$DSHOW_PLUGIN_DEVICE_PREFIX\\\"\" \
DSHOW_PLUGIN_VENDOR=\"\\\"$$DSHOW_PLUGIN_VENDOR\\\"\"
defineReplace(normalizedArch) {
arch = $$replace($$1, i386, x86)
arch = $$replace(arch, i486, x86)
arch = $$replace(arch, i586, x86)
arch = $$replace(arch, i686, x86)
arch = $$replace(arch, x86_64, x64)
return($$arch)
}