提交 8847d11e 编写于 作者: J jp9000

adjust file locations to be more portable

上级 a6a6118c
EXTRA_DIST = data
if !OS_WIN
obs_plugin_datadir = $(datadir)/obs-plugins
obs_plugin_data_testdir = $(obs_plugin_datadir)/test-input
data_libobsdir = $(datadir)/libobs
# just be cheap and do a full recursive copy.
install-data-local:
$(INSTALL) -d $(DESTDIR)$(datadir)/obsproject
$(INSTALL) -d $(DESTDIR)$(datadir)/obsproject/data
$(INSTALL) -d $(DESTDIR)$(datadir)/obsproject/data/effects
cp -R $(srcdir)/data/* $(DESTDIR)$(datadir)/obsproject/data
obs_plugin_data_test_DATA = data/test-input/draw.effect \
data/test-input/test.effect
data_libobs_DATA = libobs/default.effect
uninstall-local:
rm -rf $(DESTDIR)$(datadir)/obsproject
#uninstall-local:
# rm -r $(DESTDIR)$(obs_plugin_datadir)
# rm -r $(DESTDIR)$(data_libobsdir)
endif
......@@ -2,9 +2,10 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.67])
AC_INIT([obs], [0.0.1], [obs.jim@gmail.com])
AC_INIT([obs-studio], [0.0.1], [obs.jim@gmail.com])
AC_CONFIG_SRCDIR([libobs/obs.c])
AC_CONFIG_MACRO_DIR([m4])
# AC_CONFIG_HEADERS([config.h])
AC_CANONICAL_HOST
LT_INIT
......@@ -21,6 +22,21 @@ AX_CXX_COMPILE_STDCXX_11
# AX_EXT
AX_APPEND_FLAG(["-msse2"], [CPPFLAGS])
# currently only x86 and x86_64 are supported architectures
case $host in
i?86*)
AM_CONDITIONAL([ARCH_X86], true)
AM_CONDITIONAL([ARCH_X86_64], false)
;;
amd64* | x86_64*)
AM_CONDITIONAL([ARCH_X86], false)
AM_CONDITIONAL([ARCH_X86_64], true)
;;
*)
AC_MSG_ERROR([host architecture not currently supported])
;;
esac
case $host_os in
mingw*)
AM_CONDITIONAL([OS_WIN], true)
......@@ -40,13 +56,17 @@ case $host_os in
;;
esac
PKG_CHECK_MODULES([ffmpeg],
[libavcodec
libavformat
libavutil
libswscale
libswresample
libavfilter])
AC_CHECK_HEADER([libavcodec/avcodec.h])
AC_CHECK_HEADER([libavformat/avformat.h])
AC_CHECK_HEADER([libavutil/avutil.h])
AC_CHECK_HEADER([libavutil/channel_layout.h])
AC_CHECK_HEADER([libswscale/swscale.h])
AC_CHECK_HEADER([libswresample/swresample.h])
AC_CHECK_LIB([avcodec], [avcodec_find_encoder_by_name])
AC_CHECK_LIB([avformat], [av_guess_format])
AC_CHECK_LIB([avutil], [av_samples_alloc])
AC_CHECK_LIB([swscale], [sws_scale])
AC_CHECK_LIB([swresample], [swr_convert])
# Checks for header files.
AC_PATH_X
......
INCLUDES = -iquote$(top_srcdir)/libobs -isystem./glew/include
AM_CFLAGS = -DGLEW_NO_GLU -DGLEW_STATIC
lib_LTLIBRARIES = libobs-opengl.la
if OS_WIN
if ARCH_X86
libobs_opengldir = ../build/bin/32bit
else
libobs_opengldir = ../build/bin/64bit
endif
else
libobs_opengldir = $(libdir)
endif
libobs_opengl_LTLIBRARIES = libobs-opengl.la
libobs_opengl_la_LDFLAGS = -no-undefined
libobs_opengl_la_LIBADD = ../libobs/libobs.la
if OS_WIN
......@@ -19,7 +30,6 @@ libobs_opengl_la_SOURCES = gl-helpers.c \
gl-vertexbuffer.c \
gl-zstencil.c \
glew/src/glew.c
if OS_WIN
libobs_opengl_la_SOURCES += gl-windows.c
endif
lib_LTLIBRARIES = libobs.la
if OS_WIN
if ARCH_X86
libobsdir = ../build/bin/32bit
else
libobsdir = ../build/bin/64bit
endif
else
libobsdir = $(libdir)
endif
libobs_LTLIBRARIES = libobs.la
libobs_la_LDFLAGS = -no-undefined --version-info 0:0:0
if OS_WIN
......@@ -45,5 +55,9 @@ libobs_la_SOURCES = obs.c \
graphics/vec4.c
if OS_WIN
libobs_la_SOURCES += util/platform-windows.c
libobs_la_SOURCES += util/platform-windows.c obs-windows.c
endif
if OS_NIX
libobs_la_SOURCES += util/platform-nix.c obs-nix.c
endif
......@@ -76,12 +76,16 @@ complete:
dstr_free(&enum_name);
}
extern char *find_plugin(const char *plugin);
int obs_load_module(const char *path)
{
struct obs_module mod;
bool (*module_load)(void) = NULL;
char *plugin_path = find_plugin(path);
mod.module = os_dlopen(path);
bfree(plugin_path);
if (!mod.module)
return MODULE_FILENOTFOUND;
......
/******************************************************************************
Copyright (C) 2013 by Hugh Bailey <obs.jim@gmail.com>
This program 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.
This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
#include <stdlib.h>
#include "util/dstr.h"
#include "obs.h"
/*
* /usr/local/lib/obs-plugins
* /usr/lib/obs-plugins
*/
char *find_plugin(const char *plugin)
{
/* TODO */
return NULL;
}
/*
* /usr/local/share/libobs
* /usr/share/libobs
*/
char *find_libobs_data_file(const char *file)
{
/* TODO */
return NULL;
}
/*
* /usr/local/share/obs-plugins
* /usr/share/obs-plugins
*/
char *obs_find_plugin_file(const char *file)
{
/* TODO */
return NULL;
}
/******************************************************************************
Copyright (C) 2013 by Hugh Bailey <obs.jim@gmail.com>
This program 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.
This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
#include "util/platform.h"
#include "util/dstr.h"
#include "obs.h"
#include "obs-data.h"
/* on windows, plugin files are located in [base directory]/plugins/[bit] */
char *find_plugin(const char *plugin)
{
struct dstr path;
#ifdef _WIN64
dstr_init_copy(&path, "../../plugins/64bit/");
#else
dstr_init_copy(&path, "../../plugins/32bit/");
#endif
dstr_cat(&path, plugin);
return path.array;
}
/* on windows, points to [base directory]/libobs */
char *find_libobs_data_file(const char *file)
{
struct dstr path;
dstr_init_copy(&path, "../../libobs/");
dstr_cat(&path, file);
return path.array;
}
/* on windows, data files should always be in [base directory]/data */
char *obs_find_plugin_file(const char *file)
{
struct dstr path;
dstr_init_copy(&path, "../../data/");
dstr_cat(&path, file);
return path.array;
}
......@@ -21,6 +21,8 @@
struct obs_data *obs = NULL;
extern char *find_libobs_data_file(const char *file);
static bool obs_init_graphics(const char *graphics_module,
struct gs_init_data *graphics_data, struct video_info *vi)
{
......@@ -46,8 +48,10 @@ static bool obs_init_graphics(const char *graphics_module,
}
if (success) {
obs->default_effect = gs_create_effect_from_file(
"data/effects/default.effect", NULL);
char *filename = find_libobs_data_file("default.effect");
obs->default_effect = gs_create_effect_from_file( filename,
NULL);
bfree(filename);
if (!obs->default_effect)
success = false;
}
......
......@@ -184,6 +184,14 @@ EXPORT media_t obs_media(void);
EXPORT void obs_set_primary_source(obs_source_t source);
EXPORT obs_source_t obs_get_primary_source(void);
/**
* Returns the location of a plugin data file.
*
* file: Name of file to locate. For example, "myplugin/mydata.data"
* returns: Output string, or NULL if not found. Use bfree to free string.
*/
EXPORT char *obs_find_plugin_file(const char *file);
/* ------------------------------------------------------------------------- */
/* Display context */
......
/******************************************************************************
Copyright (c) 2013 by Hugh Bailey <obs.jim@gmail.com>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
******************************************************************************/
#include <stdlib.h>
#include "dstr.h"
#include "platform.h"
void *os_dlopen(const char *path)
{
/* TODO */
return NULL;
}
void *os_dlsym(void *module, const char *func)
{
/* TODO */
return NULL;
}
void os_dlclose(void *module)
{
/* TODO */
}
void os_sleepto_ns(uint64_t time_target)
{
/* TODO */
}
void os_sleep_ms(uint32_t duration)
{
/* TODO */
}
uint64_t os_gettime_ns(void)
{
/* TODO */
return 0;
}
uint64_t os_gettime_ms(void)
{
/* TODO */
return 0;
}
/* should return $HOME/ */
char *os_get_home_path(void)
{
/* TODO */
return NULL;
}
......@@ -22,9 +22,12 @@
******************************************************************************/
#include <windows.h>
#include <shellapi.h>
#include <shlobj.h>
#include "base.h"
#include "platform.h"
#include "bmem.h"
#include "dstr.h"
#include "../../deps/w32-pthreads/pthread.h"
......@@ -68,7 +71,16 @@ void *os_dlopen(const char *path)
void *os_dlsym(void *module, const char *func)
{
return (void*)GetProcAddress(module, func);
struct dstr dll_name;
void *handle;
dstr_init_copy(&dll_name, module);
dstr_cat(&dll_name, ".dll");
handle = (void*)GetProcAddress(module, func);
dstr_free(&dll_name);
return handle;
}
void os_dlclose(void *module)
......@@ -136,6 +148,18 @@ uint64_t os_gettime_ms(void)
return time_val;
}
/* returns %appdata% on windows */
char *os_get_home_path(void)
{
char *out;
wchar_t path_utf16[MAX_PATH];
SHGetFolderPathW(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT,
path_utf16);
os_wcs_to_utf8(path_utf16, 0, &out);
return out;
}
#ifdef PTW32_STATIC_LIB
BOOL WINAPI DllMain(HINSTANCE hinst_dll, DWORD reason, LPVOID reserved)
......
......@@ -70,6 +70,8 @@ EXPORT void os_sleep_ms(uint32_t duration);
EXPORT uint64_t os_gettime_ns(void);
EXPORT uint64_t os_gettime_ms(void);
EXPORT char *os_get_home_path(void);
#ifdef _MSC_VER
EXPORT int fseeko(FILE *stream, off_t offset, int whence);
EXPORT off_t ftello(FILE *stream);
......
INCLUDES = -iquote$(top_srcdir)/libobs
lib_LTLIBRARIES = libtest-input.la
libtest_input_la_LDFLAGS = -no-undefined
if OS_WIN
if ARCH_X86
libtestdir = ../../build/plugins/32bit
else
libtestdir = ../../build/plugins/64bit
endif
else
libtestdir = $(libdir)/obs-plugins
endif
pkglib_LTLIBRARIES = libtest-input.la
libtest_input_la_LDFLAGS = -no-undefined
if OS_WIN
libtest_input_la_LDFLAGS += -avoid-version
endif
libtest_input_la_LIBADD = $(top_srcdir)/libobs/libobs.la
libtest_input_la_SOURCES = test-filter.c \
test-input.c \
......
......@@ -3,12 +3,16 @@
struct test_filter *test_create(const char *settings, obs_source_t source)
{
struct test_filter *tf = bmalloc(sizeof(struct test_filter));
char *effect_file;
memset(tf, 0, sizeof(struct test_filter));
gs_entercontext(obs_graphics());
effect_file = obs_find_plugin_file("test-input/test.effect");
tf->source = source;
tf->whatever = gs_create_effect_from_file("test.effect", NULL);
tf->whatever = gs_create_effect_from_file(effect_file, NULL);
bfree(effect_file);
if (!tf->whatever) {
test_destroy(tf);
return NULL;
......
......@@ -5,6 +5,7 @@ struct random_tex *random_create(const char *settings, obs_source_t source)
{
struct random_tex *rt = bmalloc(sizeof(struct random_tex));
uint32_t *pixels = bmalloc(20*20*4);
char *effect_file;
size_t x, y;
memset(rt, 0, sizeof(struct random_tex));
......@@ -31,7 +32,10 @@ struct random_tex *random_create(const char *settings, obs_source_t source)
return NULL;
}
rt->whatever = gs_create_effect_from_file("draw.effect", NULL);
effect_file = obs_find_plugin_file("test-input/draw.effect");
rt->whatever = gs_create_effect_from_file(effect_file, NULL);
bfree(effect_file);
if (!rt->whatever) {
random_destroy(rt);
return NULL;
......
INCLUDES = -iquote$(top_srcdir)/libobs
AM_CPPFLAGS = -DUNICODE -D_UNICODE
bin_PROGRAMS = test
builddir = ../../build
build_PROGRAMS = test
test_LDADD = $(top_srcdir)/libobs/libobs.la
test_LDFLAGS = -mwindows
test_SOURCES = test.cpp
......@@ -84,7 +84,7 @@ static void CreateOBS(HWND hwnd)
gsid.num_backbuffers = 2;
gsid.format = GS_RGBA;
if (!obs_startup("libobs-opengl.dll", &gsid, &vi, NULL))
if (!obs_startup("libobs-opengl", &gsid, &vi, NULL))
throw "Couldn't create OBS";
}
......@@ -146,7 +146,7 @@ int WINAPI WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR cmdLine,
/* ------------------------------------------------------ */
/* load module */
if (obs_load_module("test-input.dll") != 0)
if (obs_load_module("test-input") != 0)
throw "Couldn't load module";
/* ------------------------------------------------------ */
......
......@@ -115,7 +115,7 @@
<AdditionalDependencies>d3d11.lib;dxgi.lib;d3dcompiler.lib;libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
......@@ -135,7 +135,7 @@
<AdditionalDependencies>d3d11.lib;dxgi.lib;d3dcompiler.lib;libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
......@@ -159,7 +159,7 @@
<AdditionalDependencies>d3d11.lib;dxgi.lib;d3dcompiler.lib;libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
......@@ -183,7 +183,7 @@
<AdditionalDependencies>d3d11.lib;dxgi.lib;d3dcompiler.lib;libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
......
......@@ -92,7 +92,7 @@
<AdditionalDependencies>glew32sd.lib;opengl32.lib;libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
......@@ -113,7 +113,7 @@
<AdditionalDependencies>glew32sd.lib;opengl32.lib;libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
......@@ -138,7 +138,7 @@
<AdditionalDependencies>glew32s.lib;opengl32.lib;libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
......@@ -163,7 +163,7 @@
<AdditionalDependencies>glew32s.lib;opengl32.lib;libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
......
......@@ -92,6 +92,7 @@
<ClCompile Include="..\..\..\libobs\obs-scene.c" />
<ClCompile Include="..\..\..\libobs\obs-source.c" />
<ClCompile Include="..\..\..\libobs\obs-video.c" />
<ClCompile Include="..\..\..\libobs\obs-windows.c" />
<ClCompile Include="..\..\..\libobs\obs.c" />
<ClCompile Include="..\..\..\libobs\util\base.c" />
<ClCompile Include="..\..\..\libobs\util\bmem.c" />
......@@ -187,7 +188,7 @@
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
......@@ -208,7 +209,7 @@
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
......@@ -233,7 +234,7 @@
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
......@@ -258,7 +259,7 @@
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
......
......@@ -302,5 +302,8 @@
<ClCompile Include="..\..\..\libobs\media-io\audio-resampler-ffmpeg.c">
<Filter>media-io\Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\libobs\obs-windows.c">
<Filter>libobs\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
\ No newline at end of file
......@@ -101,7 +101,7 @@
<AdditionalDependencies>libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/plugins/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
......@@ -121,7 +121,7 @@
<AdditionalDependencies>libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/plugins/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
......@@ -145,7 +145,7 @@
<AdditionalDependencies>libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/plugins/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
......@@ -169,7 +169,7 @@
<AdditionalDependencies>libobs.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/plugins/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
......
......@@ -94,7 +94,7 @@
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
......@@ -114,7 +114,7 @@
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
......@@ -138,7 +138,7 @@
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
......@@ -162,7 +162,7 @@
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/$(TargetName)$(TargetExt)"</Command>
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册