include headers in MSVC++ project files

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2003-07-27 09:50:55 +00:00
parent 22d2b5bf2f
commit 390c0cfb06
5 changed files with 40 additions and 2 deletions

View File

@ -146,10 +146,10 @@
<set var="BUILDDIR">$(OBJS)</set>
</if>
<set var="LIBDIRNAME">
<set var="LIBDIRNAME" make_var="1">
<if cond="FORMAT=='autoconf'">$(top_builddir)lib</if>
<if cond="FORMAT!='autoconf'">
$(TOP_SRCDIR)lib$(DIRSEP)$(COMPILER)_$(CFG_NAME_PART)
$(nativePaths(TOP_SRCDIR))lib$(DIRSEP)$(COMPILER)_$(CFG_NAME_PART)
</if>
</set>
@ -269,6 +269,14 @@
</if>
</template>
<define-tag name="msvc-headers" rules="dll,lib">
<if cond="FORMAT=='msvc6prj'">
<msvc-project-files>
$(addPrefixToList('include\', wxwin.headersOnly(value)))
</msvc-project-files>
</if>
</define-tag>
<!-- for GUI libs/samples: -->
<template id="wx_append_nomono" template="wx_append_base_nomono">
<ldlibs>$(EXTRALIBS_GUI)</ldlibs>
@ -326,6 +334,7 @@
</template>
<template id="wx_base_dll" template="wx_dll_b"
template_append="wx_append_base_nomono">
<depends>wxexpat</depends>
<depends>wxzlib</depends>
<depends>wxregex</depends>
</template>

View File

@ -14,6 +14,7 @@
<define>wxUSE_BASE=1</define>
<define>WXMAKINGDLL</define>
<sources>$(MONOLIB_SRC)</sources>
<msvc-headers>$(ALL_HEADERS)</msvc-headers>
<ldlibs>$(EXTRALIBS_XML)</ldlibs>
</dll>
@ -21,6 +22,7 @@
cond="SHARED=='0' and MONOLITHIC=='1'">
<define>wxUSE_BASE=1</define>
<sources>$(MONOLIB_SRC)</sources>
<msvc-headers>$(ALL_HEADERS)</msvc-headers>
</lib>
</makefile>

View File

@ -13,6 +13,7 @@
<define>wxUSE_BASE=1</define>
<define>wxUSE_GUI=0</define>
<sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
<msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
</dll>
<lib id="baselib" template="wx_base_lib"
@ -20,6 +21,7 @@
<define>wxUSE_BASE=1</define>
<define>wxUSE_GUI=0</define>
<sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
<msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
</lib>
<!-- ================================================================= -->
@ -32,6 +34,7 @@
<define>WXMAKINGDLL_CORE</define>
<define>wxUSE_BASE=0</define>
<sources>$(BASE_AND_GUI_SRC) $(CORE_SRC)</sources>
<msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
<library>basedll</library>
</dll>
@ -39,6 +42,7 @@
cond="SHARED=='0' and USE_GUI=='1' and MONOLITHIC=='0'">
<define>wxUSE_BASE=0</define>
<sources>$(BASE_AND_GUI_SRC) $(CORE_SRC)</sources>
<msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
</lib>
@ -53,11 +57,13 @@
<sources>$(HTML_SRC)</sources>
<library>coredll</library>
<library>basedll</library>
<msvc-headers>$(HTML_HDR)</msvc-headers>
</dll>
<lib id="htmllib" template="wx_lib"
cond="SHARED=='0' and USE_HTML=='1' and MONOLITHIC=='0'">
<sources>$(HTML_SRC)</sources>
<msvc-headers>$(HTML_HDR)</msvc-headers>
</lib>
<!-- ================================================================ -->
@ -76,6 +82,7 @@
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_XML</define>
<sources>$(XML_SRC)</sources>
<msvc-headers>$(XML_HDR)</msvc-headers>
<library>basedll</library>
<ldlibs>$(EXTRALIBS_XML)</ldlibs>
</dll>
@ -83,6 +90,7 @@
<lib id="xmllib" template="wx_base_lib"
cond="SHARED=='0' and MONOLITHIC=='0'">
<sources>$(XML_SRC)</sources>
<msvc-headers>$(XML_HDR)</msvc-headers>
</lib>
</makefile>

View File

@ -19,6 +19,7 @@
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_GL</define>
<sources>$(OPENGL_SRC)</sources>
<msvc-headers>$(OPENGL_HDR)</msvc-headers>
<!-- link against base and core libs in multilib build: -->
<sys-lib>$(WXLIBGLDEP_CORE)</sys-lib>
@ -41,6 +42,7 @@
<lib id="gllib" template="wx_lib"
cond="SHARED=='0' and USE_GUI=='1' and USE_OPENGL=='1'">
<sources>$(OPENGL_SRC)</sources>
<msvc-headers>$(OPENGL_HDR)</msvc-headers>
</lib>
</makefile>

View File

@ -106,3 +106,20 @@ def getVersionMinor():
return getVersion()[1]
def getVersionRelease():
return getVersion()[2]
def headersOnly(files):
"""Filters 'files' so that only headers are left. Used with
<msvc-project-files> to add headers to VC++ projects but not files such
as arrimpl.cpp."""
def callback(cond, sources):
prf = suf = ''
if sources[0].isspace(): prefix=' '
if sources[-1].isspace(): suffix=' '
retval = []
for s in sources.split():
if s.endswith('.h'):
retval.append(s)
return '%s%s%s' % (prf, ' '.join(retval), suf)
return utils.substitute2(files, callback)