summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* VS: Add more Nsight Tegra generator Android property settingsMikhail Filimonov2015-07-141-6/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the Nsight Tegra project generator to add bunch of properties with the backing variables to fine-tune the generated projects. Add target properties that map to all "Configuration" PropertyGroups for each configuration: * ANDROID_ARCH * ANDROID_STL_TYPE Add target properties that map to the AntBuild section of vcxproj files: * ANDROID_ANT_ADDITIONAL_OPTIONS * ANDROID_ASSETS_DIRECTORIES * ANDROID_JAR_DEPENDENCIES * ANDROID_JAR_DIRECTORIES * ANDROID_JAVA_SOURCE_DIR * ANDROID_NATIVE_LIB_DEPENDENCIES * ANDROID_NATIVE_LIB_DIRECTORIES * ANDROID_PROCESS_MAX * ANDROID_PROGUARD * ANDROID_PROGUARD_CONFIG_PATH * ANDROID_SECURE_PROPS_PATH * ANDROID_SKIP_ANT_STEP Reviewed-by: Dmitry Polyanitsa <dpolyanitsa@nvidia.com>
* Merge topic 'auto_export_dll_symbols'Brad King2015-07-081-2/+28
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8f86407c Windows: Optionally generate DLL module definition files automatically 069aa93b bindexplib: Add support for "/bigobj" format objects 61bbbdcf bindexplib: Fix treatment of some symbols de70c922 bindexplib: Teach DumpFile to return errors 8ea69dfe bindexplib: Build source as part of CMakeLib 2963cb2a bindexplib: Wrap long lines 4ff09893 bindexplib: Drop code that CMake does not need 7de8276c bindexplib: Add copyright/license notice block 65086ad7 bindexplib: Import original implementation from CERN
| * Windows: Optionally generate DLL module definition files automaticallyBill Hoffman2015-07-061-2/+28
| | | | | | | | | | | | | | Create target property WINDOWS_EXPORT_ALL_SYMBOLS to automatically generate a module definition file from MS-compatible .obj files and give it to the linker in order to export all symbols from the .dll part of a SHARED library.
* | cmComputeTargetDepends: Change API to use cmGeneratorTarget.Stephen Kelly2015-07-011-2/+2
|/
* Get the local generator from the GeneratorTarget.Stephen Kelly2015-06-221-1/+1
| | | | The Makefile should not know the LocalGenerator at all
* Merge topic 'remove-CMAKE_USE_RELATIVE_PATHS'Brad King2015-06-041-4/+1
|\ | | | | | | | | | | | | | | 6e570f85 cmLocalGenerator: Remove 'optional' parameter from Convert. 3d8c6cd9 cmLocalGenerator: Remove obsolete method. e44e6bcc Port away from obsolete method. 1335992c Remove CMAKE_USE_RELATIVE_PATHS variable.
| * cmLocalGenerator: Remove 'optional' parameter from Convert.Stephen Kelly2015-06-041-4/+1
| | | | | | | | Port callers away from it.
* | VS: Compute project GUIDs deterministicallyBrad King2015-06-041-4/+0
|/ | | | | | | | | Compute deterministic GUIDs that are unique to the build tree by hashing the path to the build tree with the GUID logical name. Avoid storing them in the cache, but honor any found there. This will allow project GUIDs to be reproduced in a fresh build tree so long as its path is the same as the original, which may be useful for incremental builds.
* VS: Do not accumulate configurations globally (#15577)Brad King2015-05-211-56/+39
| | | | | | | | | | | Drop the VS >= 7 generator's global Configurations member and instead lookup configurations using cmMakefile::GetConfigurations where needed. This avoids accumulating all CMAKE_CONFIGURATION_TYPES values ever encountered by a project() or enable_language() command and allows the final value to be used in each directory. We don't officially support per-directory CMAKE_CONFIGURATION_TYPES values but we certainly should not generate configurations not in the final value in the top level directory.
* VS: Move version information to global generator.Stephen Kelly2015-05-191-23/+24
|
* cmMakefile: Port users of GetStart* methods to new names.Stephen Kelly2015-04-201-5/+5
|
* cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-201-2/+2
| | | | Match names used in CMake code.
* cmMakefile: Rename GetCurrent{,Source}Directory.Stephen Kelly2015-04-201-1/+1
| | | | Match the names used in cmake code.
* VS: Add support for XAML source filesGilles Khouzam2015-04-031-3/+77
| | | | | | | | XAML files are by default of type Page in the vcxproj and can be overriden by setting the VS_XAML_TYPE property. The .cpp and .h file of the same name are automatically added as depending on the XAML file. New VSXaml test builds a basic XAML WindowsStore 8.1 app with VS2013.
* Genex: Allow COMPILE_LANGUAGE when processing compile definitions.Stephen Kelly2015-03-091-1/+2
| | | | Issue an error if this is encountered by an IDE generator.
* cmVisualStudio10TargetGenerator: Wrap long lineBrad King2015-02-241-1/+2
|
* VS: Specify absolute output directory for the Midl toolTim Blechmann2015-02-231-1/+1
| | | | | | | Generate the OutputDirectory element value as an absolute path to the same location as the existing relative path. Somehow this addresses an occasional failure in a large/complex build, and should not hurt basic use cases.
* VS: Set default language in generated Windows Phone and Store projectsRobert Goulet2015-01-291-0/+2
| | | | | | | Otherwise building such projects gives: warning APPX1901: The DefaultLanguage property is either missing from the project file or does not have a value
* VS: Add missing newlines to .vcxproj generationRobert Goulet2015-01-291-2/+2
|
* VS: Add source file property to set extra hlsl shader flagsRobert Goulet2015-01-281-0/+13
| | | | | Create a VS_SHADER_FLAGS source file property so that we can set all other Visual Studio .hlsl shader file compilation flags.
* Add 'ANDROID_API_MIN' target property to set Android Target MIN APIDmitry Polyanitsa2014-12-171-0/+6
| | | | | | Also add a 'CMAKE_ANDROID_API_MIN' variable to set the property default. Teach the VS generator to write the MIN API value into Nsight Tegra project files.
* VS: Inherit target-level "-wd" flags in source files (#15284)Brad King2014-12-041-0/+5
| | | | | | | If a source file COMPILE_FLAGS option adds "-wd", the .vcxproj file will have a DisableSpecificWarnings setting for the source file. Add to the setting a reference to %(DisableSpecificWarnings) to inherit any such flags set for the whole target.
* Merge topic 'vs-hlsl-typo'Brad King2014-12-041-1/+1
|\ | | | | | | | | 955fbf29 VS: Fix typo in VS_SHADER_MODEL lookup comment
| * VS: Fix typo in VS_SHADER_MODEL lookup commentBrad King2014-12-031-1/+1
| |
* | Merge topic 'vs-phone-store-deployment-location'Brad King2014-12-041-0/+15
|\ \ | | | | | | | | | | | | 352f246f VS: Add source file property to specify Windows App deployment location
| * | VS: Add source file property to specify Windows App deployment locationGilles Khouzam2014-12-031-0/+15
| |/ | | | | | | | | | | | | | | | | | | Add a VS_DEPLOYMENT_LOCATION source file property to specify where to put files that are part of the package. For example: set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "assets") Without this, sources marked with VS_DEPLOYMENT_CONTENT cannot be located properly.
* | Merge topic 'fix-wince-unicode-entry-point'Brad King2014-12-031-2/+16
|\ \ | | | | | | | | | | | | 681cda02 VS, WINCE: Fix entry point for Unicode builds
| * | VS, WINCE: Fix entry point for Unicode buildsPascal Bach2014-12-031-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | When _UNICODE is defined VS uses wmain instead of main as the entry function. To make this correctly work on WindowsCE EntryPointSymbol needs to be set to mainWCRTStartup instead of mainACRTStartup for console applications and to wWinMainCRTStartup instead of WinMainCRTStartup for GUI applications. Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
* | | Merge topic 'vs-hlsl-settings'Brad King2014-12-031-1/+26
|\ \ \ | | |/ | |/| | | | | | | 2a224b4c VS: Add source file properties to set the hlsl shader entry point and model
| * | VS: Add source file properties to set the hlsl shader entry point and modelCedric Perthuis2014-12-031-1/+26
| |/ | | | | | | | | | | Create properties VS_SHADER_ENTRYPOINT and VS_SHADER_MODEL. Without these many .hlsl source files may not be possible to use. Extend the VSWinStorePhone test project to cover them.
* | Merge topic 'vs-check-phone-store-tools'Brad King2014-11-181-1/+2
|\ \ | | | | | | | | | | | | | | | 689cd0d4 VS: Do not produce WinMD file for OBJECT libraries (#15228) b20a32ac VS: Improve error messages when compiler is not detected (#15228)
| * | VS: Do not produce WinMD file for OBJECT libraries (#15228)Gilles Khouzam2014-11-171-1/+2
| |/ | | | | | | | | They are implemented as static libraries for the IDE so treat them the same.
* | Merge topic 'fix-vs2015-warnings'Brad King2014-11-171-2/+2
|\ \ | | | | | | | | | | | | | | | b138be07 cmVisualStudio10TargetGenerator: fix a narrowing warning 8d379cd7 cmCallVisualStudioMacro: fix a shadowing warning
| * | cmVisualStudio10TargetGenerator: fix a narrowing warningBen Boeckel2014-11-131-2/+2
| |/ | | | | | | | | 0xAA literals are integers which doesn't fit into a char array. C++11 says this is an error and VS2015 now warns about it.
* | VS: Change Nsight Tegra 2.0 Project Revision Number from 8 to 9Dmitry Polyanitsa2014-11-131-2/+2
|/ | | | | A hotfix to Nsight Tegra 2.0 needed to increase the project number. Teach CMake to generate the newer number for this version.
* Merge topic 'vs-nsight-tegra-generator'Brad King2014-09-301-3/+152
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | df84281d Help: Add notes for topic 'vs-nsight-tegra-generator' 69e198dc VS: Generate Nsight Tegra project revision number 5365c9ac VS: Map Nsight Tegra file types in .vcxproj files 178f56a5 VS: Fix Tegra-Android platform linking of libraries by name 7115702f Tests: Add test for VS Nsight Tegra generator support a6289499 VS: Generate ANDROID_GUI executables as app packages c12e4699 Add 'ANDROID_API' target property to set Android Target API 9a4df52a Add 'ANDROID_GUI' target property to mark Android applications 16569abf cmTarget: Track internally whether platform is Android ef0fd4f0 VS: Teach vcxproj generation about the Tegra-Android platform d09b60f5 VS: Detect compiler id of Nsight Tegra-Android toolchains 2f071466 VS: Teach VS >= 10 to recognize CMAKE_SYSTEM_NAME 'Android'
| * VS: Generate Nsight Tegra project revision numberBrad King2014-09-301-3/+26
| | | | | | | | | | | | Nsight Tegra 2.0 will be revision '8'. Generate this revision number and add a NsightTegraUpgradeOnceWithoutPrompt element to tell newer versions not to prompt when upgrading the generated project file.
| * VS: Map Nsight Tegra file types in .vcxproj filesBrad King2014-09-301-1/+23
| | | | | | | | | | | | | | Map ".java" to JCompile, ".asm" and ".s" to ClCompile, and a few Android-specific source file names to AndroidBuild. This allows Nsight Tegra 1.6 and above to check up-to-dateness of such sources. Bump NsightTegraProjectRevisionNumber to 7 to allow these fields.
| * VS: Generate ANDROID_GUI executables as app packagesBrad King2014-09-301-1/+52
| | | | | | | | | | | | When an executable is marked with ANDROID_GUI, generate an AntBuild step in the .vcxproj file and point it at the directory found to contain AndroidManifest.xml. Assume it also contains build.xml.
| * Add 'ANDROID_API' target property to set Android Target APIBrad King2014-09-301-0/+6
| | | | | | | | Also add a 'CMAKE_ANDROID_API' variable to set the property default.
| * VS: Teach vcxproj generation about the Tegra-Android platformBrad King2014-09-291-3/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Complete the basic implementation of the VS Tegra-Android generators by replacing parts of vcxproj files that are specific to MS tools with settings defined for the NVIDIA Nsight Tegra tools. Current limitations include: * We have no "flag table" so flags will be passed in the additional options fields instead of mapped to the vcxproj elements defined by Nsight Tegra msbuild platform definition files. * We have no interface to set the AndroidArch, AndroidStlType, or AndroidTargetAPI fields so defaults will be used. * The Nsight Tegra msbuild platform definition files do not provide a working "Utility" target type so for add_custom_target we need to use a "StaticLibrary" target type and leave out ClCompile rules. * There is also no target type for plain command-line executables so for add_executable we need to use a "DynamicLibrary" target. Full application bundles will likely require new CMake target properties (like WIN32_EXECUTABLE for Windows GUI executables).
* | Merge topic 'vs-minor-cleanups'Brad King2014-09-291-1/+5
|\ \ | |/ | | | | | | | | | | c655f0c4 VS: Drop GenerateManifest from .vcxproj files for non-MS tools 227a3367 VS: Use case-insensitive check for hlsl,jpg,png,xml file extensions 4a24015a Tests: Always detect VS and SDK availability on Windows
| * VS: Drop GenerateManifest from .vcxproj files for non-MS toolsBrad King2014-09-291-0/+4
| | | | | | | | | | The .vcxproj file content generated by OutputLinkIncremental is specific to MS tools, so drop it when using other tools.
| * VS: Use case-insensitive check for hlsl,jpg,png,xml file extensionsBrad King2014-09-291-1/+1
| | | | | | | | | | These "extra" sources should map to the proper tool even when they are not in lower case.
* | VS, WINCE: Only set EntryPointSymbol for executablesPascal Bach2014-09-221-2/+8
| |
* | VS: Add Certificates to .vcxproj filesGilles Khouzam2014-09-191-0/+4
|/ | | | | | After certificates were moved into their own category in cmGeneratorTarget, that category was not added for output by the VS 10 generator. Add it now.
* VS: Teach VS >= 10 generator about Windows CEPascal Bach2014-09-151-2/+18
| | | | | | | | When CMAKE_SYSTEM_NAME is 'WindowsCE': * Set the Subsystem and EntryPointSymbol accordingly. * When CMAKE_SYSTEM_VERSION is 8.0 (Windows CE 2013), select the CE800 toolset by default.
* Merge topic 'vs-windows-apps'Brad King2014-09-021-11/+652
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 39fefde2 VS: Add test case for Windows Phone and Windows Store 89da8465 MSVC: Define 'WIN32' for Windows Store and Windows Phone ed7f085f Help: Add notes for topic 'vs-windows-apps' dd11ae8f VS: Do not compile C sources as WinRT (#15100) b8e40538 VS: Mark Windows Phone and Store targets as App Containers 0432f062 VS: Always ignore ole32 on Windows Phone 8.0 e6ff2f8b VS: Generate Windows Metadata for WinRT components ee48f4c7 VS: Generate Windows Phone and Windows Store projects as Unicode cb1aceed VS: Add VS_WINRT_COMPONENT property to enable CompileAsWinRT 401269e4 VS: Handle .pfx files explicitly in generator 23782171 VS: Handle AppxManifest sources explicitly in generator bc373c6d VS: Set Window Phone/Store app type in CMake-generated targets d89b2889 VS: Mark CMake-generated targets as Utility in .vcxproj files 03ad8f28 CMakeDetermineCompilerABI: Link with standard libraries on MSVC
| * VS: Do not compile C sources as WinRT (#15100)Brad King2014-09-021-1/+14
| | | | | | | | | | | | | | | | The MSVC /ZW flag is valid only for C++ sources. Whenever we enable CompileAsWinRT for the whole target, disable it for all C sources. Update the documentation of VS_WINRT_COMPONENT to drop the statement about undefined behavior for non-C++ sources, because it is now defined as expected.
| * VS: Mark Windows Phone and Store targets as App ContainersGilles Khouzam2014-09-021-3/+541
| | | | | | | | | | | | | | | | | | | | | | * Add AppContainerApplication to non-UTILITY targets * Generate app manifest and related files if project does not provide them. Place them in a per-target directory to avoid clashes. * Mark WinRT components with WinMDAssembly * Import Windows Phone 8.0 targets in .vcxproj files when necessary, and reference platform.winmd. Inspired-by: Paul Annetts <paul@lightunobscured.com>