forked from mia/Aegisub
fix PCHs on VS2019
* separate PCH for C and C++ * acconf.h now included in PCHs on windows, too * meson now auto-generates companion source files for PCH headers
This commit is contained in:
parent
a91c4f70c3
commit
b8e2cf83fd
7 changed files with 53 additions and 16 deletions
|
@ -1,7 +1,5 @@
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#ifndef _WIN32
|
|
||||||
#include "../acconf.h"
|
#include "../acconf.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
|
||||||
|
|
3
libaegisub/include/lagi_pre_c.h
Normal file
3
libaegisub/include/lagi_pre_c.h
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#include "../acconf.h"
|
||||||
|
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
|
@ -79,13 +79,12 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libaegisub_cpp_pch = ['include/lagi_pre.h']
|
libaegisub_cpp_pch = ['include/lagi_pre.h']
|
||||||
if cxx.get_id() == 'msvc'
|
libaegisub_c_pch = ['include/lagi_pre_c.h']
|
||||||
libaegisub_cpp_pch += 'include/lagi_pre.cpp'
|
|
||||||
endif
|
|
||||||
|
|
||||||
libaegisub_inc = include_directories('include')
|
libaegisub_inc = include_directories('include')
|
||||||
|
|
||||||
libaegisub = static_library('aegisub', libaegisub_src, acconf,
|
libaegisub = static_library('aegisub', libaegisub_src, acconf,
|
||||||
include_directories: [libaegisub_inc, deps_inc],
|
include_directories: [libaegisub_inc, deps_inc],
|
||||||
cpp_pch: libaegisub_cpp_pch,
|
cpp_pch: libaegisub_cpp_pch,
|
||||||
|
c_pch: libaegisub_c_pch,
|
||||||
dependencies: deps)
|
dependencies: deps)
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
// A dummy file for compiling the precompiled header with VC++
|
|
||||||
#if !defined(_MSC_VER)
|
|
||||||
#error "This file is only for use with MSVC."
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "agi_pre.h"
|
|
|
@ -48,9 +48,7 @@
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _WIN32
|
|
||||||
#include "../../acconf.h"
|
#include "../../acconf.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
|
||||||
|
|
46
src/include/agi_pre_c.h
Normal file
46
src/include/agi_pre_c.h
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
// Copyright (c) 2006, Rodrigo Braz Monteiro
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright notice,
|
||||||
|
// this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
// this list of conditions and the following disclaimer in the documentation
|
||||||
|
// and/or other materials provided with the distribution.
|
||||||
|
// * Neither the name of the Aegisub Group nor the names of its contributors
|
||||||
|
// may be used to endorse or promote products derived from this software
|
||||||
|
// without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
// POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
// Aegisub Project http://www.aegisub.org/
|
||||||
|
|
||||||
|
#include "../../acconf.h"
|
||||||
|
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include <objbase.h>
|
||||||
|
#include <mmsystem.h>
|
||||||
|
#else
|
||||||
|
#include <sys/param.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_OPENGL_GL_H
|
||||||
|
#include <OpenGL/gl.h>
|
||||||
|
#else
|
||||||
|
#include <GL/gl.h>
|
||||||
|
#endif
|
||||||
|
|
|
@ -198,13 +198,12 @@ foreach opt: opt_src
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
aegisub_cpp_pch = ['include/agi_pre.h']
|
aegisub_cpp_pch = ['include/agi_pre.h']
|
||||||
if cxx.get_id() == 'msvc'
|
aegisub_c_pch = ['include/agi_pre_c.h']
|
||||||
aegisub_cpp_pch += 'include/agi_pre.cpp'
|
|
||||||
endif
|
|
||||||
|
|
||||||
aegisub = executable('aegisub', aegisub_src, version_h, acconf,
|
aegisub = executable('aegisub', aegisub_src, version_h, acconf,
|
||||||
link_with: [libresrc, libluabins, libaegisub],
|
link_with: [libresrc, libluabins, libaegisub],
|
||||||
include_directories: [libaegisub_inc, libresrc_inc, version_inc, deps_inc],
|
include_directories: [libaegisub_inc, libresrc_inc, version_inc, deps_inc],
|
||||||
cpp_pch: aegisub_cpp_pch,
|
cpp_pch: aegisub_cpp_pch,
|
||||||
|
c_pch: aegisub_c_pch,
|
||||||
install: true,
|
install: true,
|
||||||
dependencies: deps)
|
dependencies: deps)
|
||||||
|
|
Loading…
Reference in a new issue