Click here to Skip to main content
15,887,822 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
See more:
Hi.

I wanna make visual studio projects of Mozilla open source. So I've searched many articles on google and follow that.

http://gregoryszorc.com/blog/2012/08/15/build-firefox-faster-with-build-splendid/[^]
http://gregoryszorc.com/blog/2012/08/28/visual-studio-project-generation-for-mozilla-central/[^]

But solutions made from is not properly worked and I can't use that.
Is anybody know how to make visual studio project of Mozilla opensource?

Please help me.

※I also think this question is not proper at C++ tag, but there is no tags exists about this. Forgive me.
Posted
Comments
Richard MacCutchan 30-Oct-13 13:29pm    
You should ask this question on the Mozilla forums.
WuRunZhe 30-Oct-13 21:25pm    
Yes, you are right. But I have logged on the Mozilla forums but I can not ask questions.
And there is now questions about this problem.

Could you tell me how to log on Mozilla forum and how can I ask questions?

1 solution

The code blow is from the inside of TCPG.vcxproj It is in XML. Go through it carefully. Remove references to my files and resources and insert yours, line by line, replace the variables and types and whatever, and replace with the proper information from you Mozilla headers and sources and resources, and libraries, etc.

XML
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{D84382EC-447A-44E4-B6C3-A6B2D4A9B299}</ProjectGuid>
    <RootNamespace>TCPG</RootNamespace>
    <Keyword>MFCProj</Keyword>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <PlatformToolset>v120</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
    <UseOfMfc>Static</UseOfMfc>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <PlatformToolset>v120</PlatformToolset>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
    <UseOfMfc>Static</UseOfMfc>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <LinkIncremental>true</LinkIncremental>
    <CodeAnalysisRuleSet>NativeMinimumRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <LinkIncremental>false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <PrecompiledHeader>Use</PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <BrowseInformation>true</BrowseInformation>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
    </Link>
    <Midl>
      <MkTypLibCompatible>false</MkTypLibCompatible>
      <ValidateAllParameters>true</ValidateAllParameters>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </Midl>
    <ResourceCompile>
      <Culture>0x0409</Culture>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ResourceCompile>
    <Bscmake>
      <PreserveSbr>true</PreserveSbr>
    </Bscmake>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <PrecompiledHeader>Use</PrecompiledHeader>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
    </Link>
    <Midl>
      <MkTypLibCompatible>false</MkTypLibCompatible>
      <ValidateAllParameters>true</ValidateAllParameters>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </Midl>
    <ResourceCompile>
      <Culture>0x0409</Culture>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ResourceCompile>
  </ItemDefinitionGroup>
  <ItemGroup>
    <Text Include="ReadMe.txt" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="CardBackDlg.h" />
    <ClInclude Include="CardLayout.h" />
    <ClInclude Include="ChildFrm.h" />
    <ClInclude Include="CuteBundle.h" />
    <ClInclude Include="CutNShuffleDlg.h" />
    <ClInclude Include="Layout.h" />
    <ClInclude Include="LayoutView.h" />
    <ClInclude Include="MainFrm.h" />
    <ClInclude Include="NumberOfPlayers.h" />
    <ClInclude Include="Player.h" />
    <ClInclude Include="PlayerView.h" />
    <ClInclude Include="Question.h" />
    <ClInclude Include="QuestionView.h" />
    <ClInclude Include="Resource.h" />
    <ClInclude Include="stdafx.h" />
    <ClInclude Include="targetver.h" />
    <ClInclude Include="Tarot.h" />
    <ClInclude Include="TarotCard.h" />
    <ClInclude Include="TCPG.h" />
    <ClInclude Include="TCPGDoc.h" />
    <ClInclude Include="TCPGView.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="CardBackDlg.cpp" />
    <ClCompile Include="CardLayout.cpp" />
    <ClCompile Include="ChildFrm.cpp" />
    <ClCompile Include="CutNShuffleDlg.cpp" />
    <ClCompile Include="Layout.cpp" />
    <ClCompile Include="LayoutView.cpp" />
    <ClCompile Include="MainFrm.cpp" />
    <ClCompile Include="NumberOfPlayers.cpp" />
    <ClCompile Include="Player.cpp" />
    <ClCompile Include="PlayerView.cpp" />
    <ClCompile Include="Question.cpp" />
    <ClCompile Include="QuestionView.cpp" />
    <ClCompile Include="stdafx.cpp">
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="TarotCard.cpp" />
    <ClCompile Include="TCPG.cpp" />
    <ClCompile Include="TCPGDoc.cpp" />
    <ClCompile Include="TCPGView.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="TCPG.rc" />
  </ItemGroup>
  <ItemGroup>
    <None Include="ClassDiagram.cd" />
    <None Include="res\TCPG.rc2" />
  </ItemGroup>
  <ItemGroup>
    <Image Include="res\0the_fool.bmp" />
    <Image Include="res\10ten_of_cups.bmp" />
    <Image Include="res\10ten_of_pentacles.bmp" />
    <Image Include="res\10ten_of_swords.bmp" />
    <Image Include="res\10ten_of_wands.bmp" />
    <Image Include="res\10wheel_of_fortune.bmp" />
    <Image Include="res\11page_of_cups.bmp" />
    <Image Include="res\11page_of_pentacles.bmp" />
    <Image Include="res\11page_of_swords.bmp" />
    <Image Include="res\11page_of_wands.bmp" />
    <Image Include="res\11strength.bmp" />
    <Image Include="res\12knight_of_cups.bmp" />
    <Image Include="res\12knight_of_pentacles.bmp" />
    <Image Include="res\12knight_of_swords.bmp" />
    <Image Include="res\12knight_of_wands.bmp" />
    <Image Include="res\12the_hanged_man.bmp" />
    <Image Include="res\13death.bmp" />
    <Image Include="res\13queen_of_cups.bmp" />
    <Image Include="res\13queen_of_pentacles.bmp" />
    <Image Include="res\13queen_of_swords.bmp" />
    <Image Include="res\13queen_of_wands.bmp" />
    <Image Include="res\14king_of_cups.bmp" />
    <Image Include="res\14king_of_pentacles.bmp" />
    <Image Include="res\14king_of_swords.bmp" />
    <Image Include="res\14king_of_wands.bmp" />
    <Image Include="res\14temperance.bmp" />
    <Image Include="res\15the_devil.bmp" />
    <Image Include="res\16the_tower.bmp" />
    <Image Include="res\17the_star.bmp" />
    <Image Include="res\18the_moon.bmp" />
    <Image Include="res\19the_sun.bmp" />
    <Image Include="res\1ace_of_cups.bmp" />
    <Image Include="res\1ace_of_pentacles.bmp" />
    <Image Include="res\1ace_of_swords.bmp" />
    <Image Include="res\1ace_of_wands.bmp" />
    <Image Include="res\1the_Magician.bmp" />
    <Image Include="res\20judgement.bmp" />
    <Image Include="res\21the_world.bmp" />
    <Image Include="res\2the_high_priestess.bmp" />
    <Image Include="res\2two_of_cups.bmp" />
    <Image Include="res\2two_of_pentacles.bmp" />
    <Image Include="res\2two_of_swords.bmp" />
    <Image Include="res\2two_of_wands.bmp" />
    <Image Include="res\3the_empress.bmp" />
    <Image Include="res\3three_of_cups.bmp" />
    <Image Include="res\3three_of_pentacles.bmp" />
    <Image Include="res\3three_of_swords.bmp" />
    <Image Include="res\3three_of_wands.bmp" />
    <Image Include="res\4four_of_cups.bmp" />
    <Image Include="res\4four_of_pentacles.bmp" />
    <Image Include="res\4four_of_swords.bmp" />
    <Image Include="res\4four_of_wands.bmp" />
    <Image Include="res\4the_Emperor.bmp" />
    <Image Include="res\5five_of_cups.bmp" />
    <Image Include="res\5five_of_pentacles.bmp" />
    <Image Include="res\5five_of_swords.bmp" />
    <Image Include="res\5five_of_wands.bmp" />
    <Image Include="res\5the_heirophant.bmp" />
    <Image Include="res\6six_of_cups.bmp" />
    <Image Include="res\6six_of_pentacles.bmp" />
    <Image Include="res\6six_of_swords.bmp" />
    <Image Include="res\6six_of_wands.bmp" />
    <Image Include="res\6the_lovers.bmp" />
    <Image Include="res\7seven_of_cups.bmp" />
    <Image Include="res\7seven_of_pentacles.bmp" />
    <Image Include="res\7seven_of_swords.bmp" />
    <Image Include="res\7seven_of_wands.bmp" />
    <Image Include="res\7the_chariot.bmp" />
    <Image Include="res\8eight_of_cups.bmp" />
    <Image Include="res\8eight_of_pentacles.bmp" />
    <Image Include="res\8eight_of_swords.bmp" />
    <Image Include="res\8eight_of_wands.bmp" />
    <Image Include="res\8justice.bmp" />
    <Image Include="res\9nine_of_cups.bmp" />
    <Image Include="res\9nine_of_pentacles.bmp" />
    <Image Include="res\9nine_of_swords.bmp" />
    <Image Include="res\9nine_of_wands.bmp" />
    <Image Include="res\9the_hermit.bmp" />
    <Image Include="res\back00.bmp" />
    <Image Include="res\back01.bmp" />
    <Image Include="res\back02.bmp" />
    <Image Include="res\back03.bmp" />
    <Image Include="res\back04.bmp" />
    <Image Include="res\back05.bmp" />
    <Image Include="res\back06.bmp" />
    <Image Include="res\back07.bmp" />
    <Image Include="res\back08.bmp" />
    <Image Include="res\back09.bmp" />
    <Image Include="res\BigFrameToolbar.bmp" />
    <Image Include="res\LayoutToolbar.bmp" />
    <Image Include="res\LayoutView.ico" />
    <Image Include="res\MainFrameToolbar.bmp" />
    <Image Include="res\p1.bmp" />
    <Image Include="res\p2.bmp" />
    <Image Include="res\p3.bmp" />
    <Image Include="res\p4.bmp" />
    <Image Include="res\p5.bmp" />
    <Image Include="res\p6.bmp" />
    <Image Include="res\p7.bmp" />
    <Image Include="res\PlayerToolbar.bmp" />
    <Image Include="res\PlayerView.ico" />
    <Image Include="res\Questiontoolbar.bmp" />
    <Image Include="res\questionview.ico" />
    <Image Include="res\Risa Chess Demon Beauty.bmp" />
    <Image Include="res\TarotCPG.ico" />
    <Image Include="res\TCPG.ico" />
    <Image Include="res\TCPGDoc.ico" />
    <Image Include="res\Toolbar.bmp" />
    <Image Include="res\TarotDoc.ico" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
  <ProjectExtensions>
    <VisualStudio>
      <UserProperties RESOURCE_FILE="TCPG.rc" />
    </VisualStudio>
  </ProjectExtensions>
</Project>
 
Share this answer
 
v3
Comments
WuRunZhe 12-Nov-13 4:57am    
Thank you for your help.
But there are a lot of headers and source files in Mozilla open source.
And at there, the biggest problem is that there are no header files. There are only IDL files instead of header files.

With this, how can I config *.vcxproj according to your solution?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900