This repository has been archived by the owner on Sep 2, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 618
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit ac6aee1
Showing
10 changed files
with
2,339 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,27 @@ | |||
# Start by ignoring all | |||
* | |||
# Add appshell source | |||
!appshell/* | |||
|
|||
# Add gyp/gypi | |||
!appshell.gyp | |||
!appshell_paths.gypi | |||
|
|||
# Add .gitignore | |||
!.gitignore | |||
|
|||
# Add project build scripts | |||
!make_appshell_project.sh | |||
!make_appshell_project.bat | |||
|
|||
# Add project files | |||
!appshell.xcodeproj | |||
!appshell.xcodeproj/project.pbxproj | |||
!appshell.sln | |||
!Brackets.vcxproj | |||
!libcef_dll_wrapper.vcxproj | |||
|
|||
# Add README | |||
!README.md | |||
|
|||
# That's all! |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,50 @@ | |||
## Overview | |||
|
|||
This is the beginnings of a new CEF3-based application shell for Brackets. It is **not** ready for use yet, so please continue to use the existing [brackets-app](https://github.com/adobe/brackets-app) shell until further notice. | |||
|
|||
If you are interested in contributing to this shell, let us know on the [brackets-dev Google Group](http://groups.google.com/group/brackets-dev), or on the [#brackets channel on freenode](http://webchat.freenode.net/?channels=brackets). | |||
|
|||
## Building | |||
|
|||
This project requires a CEF3 binary distribution in order to build. | |||
|
|||
### Mac | |||
####Prerequisites | |||
|
|||
* XCode 3.2.6 or later required to build the project | |||
* CEF3 binary distribution version 3.1157.677 or newer | |||
* To modify the project files, you will also need: | |||
* python | |||
* chromium source code (at least the src/build and src/tools directories). Hopefully this is a short-term requirement. | |||
|
|||
####Setup and Building | |||
Copy all of the contents of the CEF3 binary distribution into the same directory as this file. Open appshell.pbxproj in XCode. NOTE: If you are using XCode 4, do **not** select "Project Modernization" or you will get compile errors. | |||
|
|||
####Generating Projects | |||
This is only required if you are changing the project files. **NOTE:** Don't change the xcode project files directly. Any changes should be done to the .gyp files, and new xcode projects should be generated. | |||
|
|||
* Add a <code>CHROMIUM\_SRC\_PATH</code> environment variable that points to your chromium 'src' folder (without a final '/'). | |||
* Open a terminal window on this directory and run <code>make\_appshell\_project.sh</code> (Note: while not required, it is a good idea to delete the old appshell.xcodeproj before generating a new one.) | |||
|
|||
### Windows | |||
|
|||
####Prerequisites | |||
|
|||
* Visual Studio 2010 or later required to build the project. The free Visual Studio Express works fine. | |||
* CEF3 binary distribution version 3.1142.654 or newer | |||
* To modify the project files, you will also need: | |||
* python | |||
* chromium source code (at least the src/build and src/tools directories). Hopefully this is a short-term requirement. | |||
|
|||
####Setup and Building | |||
Copy all of the contents of the CEF3 binary distribution into the same directory as this file. Open appshell.sln in Visual Studio. NOTE: If you are using Visual Studio Express, you may get warnings that say some of the projects couldn't be loaded. These can be ignored. | |||
|
|||
####Generating Projects | |||
This is only required if you are changing the project files. **NOTE:** Don't change the Visual Studio project files directly. Any changes should be done to the .gyp files, and new Visual Studio projects should be generated. | |||
|
|||
* Add a <code>CHROMIUM\_SRC\_PATH</code> environment variable that points to your chromium 'src' folder (without a final '/'). | |||
* Open a command prompt on this directory and run <code>make\_appshell\_project.bat</code> | |||
|
|||
### Linux | |||
|
|||
Not available yet. Please let us know if you'd like to help with the Linux version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,267 @@ | |||
# Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights | |||
# reserved. Use of this source code is governed by a BSD-style license that | |||
# can be found in the LICENSE file. | |||
|
|||
{ | |||
'variables': { | |||
'appname': 'Brackets', | |||
'mac_sdk': '10.6', | |||
'chromium_code': 1, | |||
'conditions': [ | |||
[ 'OS=="mac"', { | |||
# Don't use clang with CEF binary releases due to Chromium tree structure dependency. | |||
'clang': 0, | |||
}] | |||
] | |||
}, | |||
'includes': [ | |||
# Bring in the source file lists for appshell. | |||
'appshell_paths.gypi', | |||
], | |||
'targets': [ | |||
{ | |||
'target_name': '<(appname)', | |||
'type': 'executable', | |||
'mac_bundle': 1, | |||
'msvs_guid': '6617FED9-C5D4-4907-BF55-A90062A6683F', | |||
'dependencies': [ | |||
'libcef_dll_wrapper', | |||
], | |||
'defines': [ | |||
'USING_CEF_SHARED', | |||
], | |||
'include_dirs': [ | |||
'.', | |||
], | |||
'sources': [ | |||
'<@(includes_common)', | |||
'<@(includes_wrapper)', | |||
'<@(appshell_sources_common)', | |||
], | |||
'mac_bundle_resources': [ | |||
'<@(appshell_bundle_resources_mac)', | |||
], | |||
'mac_bundle_resources!': [ | |||
# TODO(mark): Come up with a fancier way to do this (mac_info_plist?) | |||
# that automatically sets the correct INFOPLIST_FILE setting and adds | |||
# the file to a source group. | |||
'appshell/mac/Info.plist', | |||
], | |||
'xcode_settings': { | |||
'INFOPLIST_FILE': 'appshell/mac/Info.plist', | |||
# Necessary to avoid an "install_name_tool: changing install names or | |||
# rpaths can't be redone" error. | |||
'OTHER_LDFLAGS': ['-Wl,-headerpad_max_install_names'], 'SYMROOT': 'xcodebuild', | |||
# Target build path. | |||
'SYMROOT': 'xcodebuild', | |||
}, | |||
'conditions': [ | |||
['OS=="win"', { | |||
'configurations': { | |||
'Common_Base': { | |||
'msvs_configuration_attributes': { | |||
'OutputDirectory': '$(ConfigurationName)', | |||
}, | |||
}, | |||
}, | |||
'msvs_settings': { | |||
'VCLinkerTool': { | |||
# Set /SUBSYSTEM:WINDOWS. | |||
'SubSystem': '2', | |||
'EntryPointSymbol' : 'wWinMainCRTStartup', | |||
}, | |||
}, | |||
'link_settings': { | |||
'libraries': [ | |||
'-lcomctl32.lib', | |||
'-lshlwapi.lib', | |||
'-lrpcrt4.lib', | |||
'-lopengl32.lib', | |||
'-lglu32.lib', | |||
'-llib/$(ConfigurationName)/libcef.lib' | |||
], | |||
}, | |||
'sources': [ | |||
'<@(includes_win)', | |||
'<@(appshell_sources_win)', | |||
], | |||
}], | |||
[ 'OS=="mac"', { | |||
'product_name': '<(appname)', | |||
'dependencies': [ | |||
'appshell_helper_app', | |||
], | |||
'copies': [ | |||
{ | |||
# Add library dependencies to the bundle. | |||
'destination': '<(PRODUCT_DIR)/<(appname).app/Contents/Frameworks/Chromium Embedded Framework.framework/Libraries/', | |||
'files': [ | |||
'$(CONFIGURATION)/libcef.dylib', | |||
'$(CONFIGURATION)/ffmpegsumo.so', | |||
], | |||
}, | |||
{ | |||
# Add other resources to the bundle. | |||
'destination': '<(PRODUCT_DIR)/<(appname).app/Contents/Frameworks/Chromium Embedded Framework.framework/', | |||
'files': [ | |||
'Resources/', | |||
], | |||
}, | |||
{ | |||
# Add the helper app. | |||
'destination': '<(PRODUCT_DIR)/<(appname).app/Contents/Frameworks', | |||
'files': [ | |||
'<(PRODUCT_DIR)/<(appname) Helper.app', | |||
], | |||
}, | |||
], | |||
'postbuilds': [ | |||
{ | |||
'postbuild_name': 'Fix Framework Link', | |||
'action': [ | |||
'install_name_tool', | |||
'-change', | |||
'@executable_path/libcef.dylib', | |||
'@executable_path/../Frameworks/Chromium Embedded Framework.framework/Libraries/libcef.dylib', | |||
'${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}' | |||
], | |||
}, | |||
{ | |||
# This postbuid step is responsible for creating the following | |||
# helpers: | |||
# | |||
# <(appname) Helper EH.app and <(appname) Helper NP.app are created | |||
# from <(appname) Helper.app. | |||
# | |||
# The EH helper is marked for an executable heap. The NP helper | |||
# is marked for no PIE (ASLR). | |||
'postbuild_name': 'Make More Helpers', | |||
'action': [ | |||
'tools/make_more_helpers.sh', | |||
'Frameworks', | |||
'<(appname)', | |||
], | |||
}, | |||
], | |||
'link_settings': { | |||
'libraries': [ | |||
'$(SDKROOT)/System/Library/Frameworks/AppKit.framework', | |||
'$(CONFIGURATION)/libcef.dylib', | |||
], | |||
}, | |||
'sources': [ | |||
'<@(includes_mac)', | |||
'<@(appshell_sources_mac)', | |||
], | |||
}], | |||
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { | |||
'copies': [ | |||
{ | |||
'destination': '<(PRODUCT_DIR)/files', | |||
'files': [ | |||
'<@(appshell_bundle_resources_linux)', | |||
], | |||
}, | |||
], | |||
'sources': [ | |||
'<@(includes_linux)', | |||
'<@(appshell_sources_linux)', | |||
], | |||
}], | |||
], | |||
}, | |||
{ | |||
'target_name': 'libcef_dll_wrapper', | |||
'type': 'static_library', | |||
'msvs_guid': 'A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9', | |||
'defines': [ | |||
'USING_CEF_SHARED', | |||
], | |||
'configurations': { | |||
'Common_Base': { | |||
'msvs_configuration_attributes': { | |||
'OutputDirectory': '$(ConfigurationName)', | |||
}, | |||
}, | |||
}, | |||
'include_dirs': [ | |||
'.', | |||
], | |||
'sources': [ | |||
'<@(includes_common)', | |||
'<@(includes_capi)', | |||
'<@(includes_wrapper)', | |||
'<@(libcef_dll_wrapper_sources_common)', | |||
], | |||
'xcode_settings': { | |||
# Target build path. | |||
'SYMROOT': 'xcodebuild', | |||
}, | |||
}, | |||
], | |||
'conditions': [ | |||
['OS=="mac"', { | |||
'targets': [ | |||
{ | |||
'target_name': 'appshell_helper_app', | |||
'type': 'executable', | |||
'variables': { 'enable_wexit_time_destructors': 1, }, | |||
'product_name': '<(appname) Helper', | |||
'mac_bundle': 1, | |||
'dependencies': [ | |||
'libcef_dll_wrapper', | |||
], | |||
'defines': [ | |||
'USING_CEF_SHARED', | |||
], | |||
'include_dirs': [ | |||
'.', | |||
], | |||
'link_settings': { | |||
'libraries': [ | |||
'$(SDKROOT)/System/Library/Frameworks/AppKit.framework', | |||
'$(CONFIGURATION)/libcef.dylib', | |||
], | |||
}, | |||
'sources': [ | |||
'<@(appshell_sources_mac_helper)', | |||
], | |||
# TODO(mark): Come up with a fancier way to do this. It should only | |||
# be necessary to list helper-Info.plist once, not the three times it | |||
# is listed here. | |||
'mac_bundle_resources!': [ | |||
'appshell/mac/helper-Info.plist', | |||
], | |||
# TODO(mark): For now, don't put any resources into this app. Its | |||
# resources directory will be a symbolic link to the browser app's | |||
# resources directory. | |||
'mac_bundle_resources/': [ | |||
['exclude', '.*'], | |||
], | |||
'xcode_settings': { | |||
'INFOPLIST_FILE': 'appshell/mac/helper-Info.plist', | |||
# Necessary to avoid an "install_name_tool: changing install names or | |||
# rpaths can't be redone" error. | |||
'OTHER_LDFLAGS': ['-Wl,-headerpad_max_install_names'], 'SYMROOT': 'xcodebuild', | |||
}, | |||
'postbuilds': [ | |||
{ | |||
# The framework defines its load-time path | |||
# (DYLIB_INSTALL_NAME_BASE) relative to the main executable | |||
# (chrome). A different relative path needs to be used in | |||
# appshell_helper_app. | |||
'postbuild_name': 'Fix Framework Link', | |||
'action': [ | |||
'install_name_tool', | |||
'-change', | |||
'@executable_path/libcef.dylib', | |||
'@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Libraries/libcef.dylib', | |||
'${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}' | |||
], | |||
}, | |||
], | |||
}, # target appshell_helper_app | |||
], | |||
}], # OS=="mac" | |||
], | |||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,40 @@ | |||
Microsoft Visual Studio Solution File, Format Version 11.00 | |||
# Visual Studio 2010 | |||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Brackets", "Brackets.vcxproj", "{6617FED9-C5D4-4907-BF55-A90062A6683F}" | |||
ProjectSection(ProjectDependencies) = postProject | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9} = {A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9} | |||
EndProjectSection | |||
EndProject | |||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef_dll_wrapper", "libcef_dll_wrapper.vcxproj", "{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}" | |||
EndProject | |||
Global | |||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
Release|x64 = Release|x64 | |||
Debug|Win32 = Debug|Win32 | |||
Debug|x64 = Debug|x64 | |||
Release|Win32 = Release|Win32 | |||
EndGlobalSection | |||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
{6617FED9-C5D4-4907-BF55-A90062A6683F}.Release|x64.ActiveCfg = Release|x64 | |||
{6617FED9-C5D4-4907-BF55-A90062A6683F}.Release|x64.Build.0 = Release|x64 | |||
{6617FED9-C5D4-4907-BF55-A90062A6683F}.Debug|Win32.ActiveCfg = Debug|Win32 | |||
{6617FED9-C5D4-4907-BF55-A90062A6683F}.Debug|Win32.Build.0 = Debug|Win32 | |||
{6617FED9-C5D4-4907-BF55-A90062A6683F}.Debug|x64.ActiveCfg = Debug|x64 | |||
{6617FED9-C5D4-4907-BF55-A90062A6683F}.Debug|x64.Build.0 = Debug|x64 | |||
{6617FED9-C5D4-4907-BF55-A90062A6683F}.Release|Win32.ActiveCfg = Release|Win32 | |||
{6617FED9-C5D4-4907-BF55-A90062A6683F}.Release|Win32.Build.0 = Release|Win32 | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}.Release|x64.ActiveCfg = Release|x64 | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}.Release|x64.Build.0 = Release|x64 | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}.Debug|Win32.ActiveCfg = Debug|Win32 | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}.Debug|Win32.Build.0 = Debug|Win32 | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}.Debug|x64.ActiveCfg = Debug|x64 | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}.Debug|x64.Build.0 = Debug|x64 | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}.Release|Win32.ActiveCfg = Release|Win32 | |||
{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}.Release|Win32.Build.0 = Release|Win32 | |||
EndGlobalSection | |||
GlobalSection(SolutionProperties) = preSolution | |||
HideSolutionNode = FALSE | |||
EndGlobalSection | |||
GlobalSection(NestedProjects) = preSolution | |||
EndGlobalSection | |||
EndGlobal |
Oops, something went wrong.