Merge branch 'master' into fix-FileIsDirectory-SEGV
Resolve conflict in Source/kwsys/SystemTools.cxx by combining the two changes.
This commit is contained in:
commit
4ab10e063d
646
ChangeLog.manual
646
ChangeLog.manual
|
@ -1,3 +1,649 @@
|
||||||
|
Changes in CMake 2.8.11 (since 2.8.11-rc4)
|
||||||
|
----------------------------------------
|
||||||
|
None
|
||||||
|
|
||||||
|
Changes in CMake 2.8.11-rc4 (since 2.8.11-rc3)
|
||||||
|
----------------------------------------------
|
||||||
|
Brad King (1):
|
||||||
|
target_link_libraries: Update usage requirements documentation
|
||||||
|
|
||||||
|
Stephen Kelly (3):
|
||||||
|
Centralize maintenance of usage requirement include directories
|
||||||
|
Fix include dir propagation from conditionally linked targets
|
||||||
|
Memoize usage requirement include directories in a config-specific map
|
||||||
|
|
||||||
|
Changes in CMake 2.8.11-rc3 (since 2.8.11-rc2)
|
||||||
|
----------------------------------------------
|
||||||
|
Brad King (1):
|
||||||
|
get_filename_component: Document path components more clearly (#14091)
|
||||||
|
|
||||||
|
Rolf Eike Beer (1):
|
||||||
|
try_compile: add missing fclose() to recently added error case
|
||||||
|
|
||||||
|
Stephen Kelly (1):
|
||||||
|
Fix clearing of the INCLUDE_DIRECTORIES DIRECTORY property.
|
||||||
|
|
||||||
|
Changes in CMake 2.8.11-rc2 (since 2.8.11-rc1)
|
||||||
|
----------------------------------------------
|
||||||
|
Alex Neundorf (6):
|
||||||
|
Determine C/CXX/Fortran compiler: minor restructuring
|
||||||
|
Determine C/CXX/Fortran compiler: fix indentation
|
||||||
|
rename TI_DSP toolchain to TI, since it works also for the ARM compiler
|
||||||
|
TI compiler: add automatic detection of prefix and suffixes
|
||||||
|
Modules/readme.txt: switch from "XXX" to "Xxx"
|
||||||
|
Modules/readme.txt: make lines a bit shorter for easier readability
|
||||||
|
|
||||||
|
Ben Boeckel (1):
|
||||||
|
Clang: Add -isystem flag support everywhere
|
||||||
|
|
||||||
|
Bill Hoffman (1):
|
||||||
|
ExternalProject: Retry on a failed git clone
|
||||||
|
|
||||||
|
Brad King (8):
|
||||||
|
string: Fix regex documentation of '^' and '$' (#14028)
|
||||||
|
Rename variable for including current directory in interfaces
|
||||||
|
Replace <TARGET> in CMAKE_<LANG>_COMPILE_OBJECT rule variables
|
||||||
|
Test evaluation of per-config COMPILE_DEFINITIONS (#14037)
|
||||||
|
VS: Fix VS 10/11 .sln headers (#14038)
|
||||||
|
add_dependencies: Distinguish target v. file dependencies in error (#14050)
|
||||||
|
automoc: Use a pre-build event in VS >= 7
|
||||||
|
Handle usr-move without forcing absolute paths (#14041)
|
||||||
|
|
||||||
|
Clinton Stimpson (2):
|
||||||
|
FindQt4: If Qt5 is in CMAKE_PREFIX_PATH, be sure to find Qt4 includes.
|
||||||
|
Qt4: Fix typo setting a variable for FindThreads.
|
||||||
|
|
||||||
|
James Bigler (1):
|
||||||
|
FindCUDA: Use the PRE_LINK mode only for MSVC >= 10
|
||||||
|
|
||||||
|
Matthew Woehlke (4):
|
||||||
|
UseJava.cmake: simplify path logic
|
||||||
|
UseJava.cmake: fix passing jars to add_jar
|
||||||
|
UseJava.cmake: accept jar targets in add_jar
|
||||||
|
UseJava.cmake: require explicit request to include jars
|
||||||
|
|
||||||
|
Paul Kunysch (1):
|
||||||
|
CPack: Avoid "format expects 'unsigned int'" warnings
|
||||||
|
|
||||||
|
Petr Kmoch (1):
|
||||||
|
cmSystemTools: Generalize TrimWhitespace to all whitespace
|
||||||
|
|
||||||
|
Rex Dieter (1):
|
||||||
|
FindImageMagick: Search versioned suffixes (#14012)
|
||||||
|
|
||||||
|
Rolf Eike Beer (1):
|
||||||
|
FindRuby: improve version selection
|
||||||
|
|
||||||
|
Stephen Kelly (13):
|
||||||
|
FindQt4: Set the Qt4_FOUND variable if Qt4 is found
|
||||||
|
FindQt4: Set the INTERFACE_QT_MAJOR_VERSION for Qt4::QtCore
|
||||||
|
Document that CMAKE_AUTOMOC works with Qt 5.
|
||||||
|
FPHSA: Fix FOUND_VAR check to work with if() auto-dereference
|
||||||
|
Fix cmGeneratorExpression::Preprocess for interleaved inputs.
|
||||||
|
cmake-gui: Use the QStandardItemModel workaround until 5.1.0.
|
||||||
|
Automoc: append implicit includes after user-specified dirs
|
||||||
|
Fix the evaluation of per-config COMPILE_DEFINITIONS (#14037)
|
||||||
|
Fix new target commands documentation.
|
||||||
|
install(EXPORT): Ensure clean INTERFACE_INCLUDE_DIRECTORIES
|
||||||
|
Report an error on IMPORTED targets with a faulty INTERFACE
|
||||||
|
Error if linked target has relative paths in INTERFACE_INCLUDE_DIRECTORIES
|
||||||
|
Fix the Qt 5 version required to run the IncompatibleQt test.
|
||||||
|
|
||||||
|
Changes in CMake 2.8.11-rc1 (since 2.8.10.2)
|
||||||
|
----------------------------------------------
|
||||||
|
Alan Witkowski (1):
|
||||||
|
FindBullet: Search in per-config dirs on Windows (#13738)
|
||||||
|
|
||||||
|
Aleksey Avdeev (1):
|
||||||
|
Add module FindIcotool
|
||||||
|
|
||||||
|
Alex Neundorf (30):
|
||||||
|
Eclipse: add switch to disable linked resources (#13189)
|
||||||
|
Eclipse: set source path once to fix Eclipse indexer (#13596)
|
||||||
|
cmDependsC: remove unused member variable
|
||||||
|
cmDependsC: remove code duplication
|
||||||
|
cmDependsC: fix indentation
|
||||||
|
cmDepends: allow multiple dependees per depender
|
||||||
|
AddCustomCommand: Handle multiple IMPLICIT_DEPENDS files (#10048)
|
||||||
|
Add support for Texas Instruments DSP compiler (#12405)
|
||||||
|
Squish: detect version
|
||||||
|
Squish: use FPHSA
|
||||||
|
Squish: find executables also under Windows
|
||||||
|
Squish: rename squish_add_test() to squish_v3_add_test() and fix docs a bit
|
||||||
|
Squish: use ${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
Squish: add support for squish 4 (#9734)
|
||||||
|
Squish: fix new squish_v4_add_test() macro
|
||||||
|
Automoc: "inherit" FOLDER target property from target (#13688)
|
||||||
|
FPHSA: don't succeed if only checking for XX_FOUND (#13755)
|
||||||
|
CONFIGURE_PACKAGE_CONFIG_FILE(): improve generated comments
|
||||||
|
Automoc: get include dirs without stripping implicit include dirs off
|
||||||
|
configure_package_config_file: force absolute paths for usr-move
|
||||||
|
configure_package_config_file(): fix indentation
|
||||||
|
configure_package_config_file(): extend documentation
|
||||||
|
documentation: handling of relative paths by include- and link_directories()
|
||||||
|
automoc: use a std::vector<> instead a std::list
|
||||||
|
automoc: use the header extensions from cmMakefile
|
||||||
|
Eclipse: also detect include dirs and macro for clang (#13823)
|
||||||
|
cmLocalGenerator: remove "virtual" where not used
|
||||||
|
export files: rewrite the code for checking required targets
|
||||||
|
FPHSA: Add FOUND_VAR option to specify _FOUND variable name
|
||||||
|
FPHSA: improve documentation
|
||||||
|
|
||||||
|
Alexander Chehovsky (2):
|
||||||
|
Xcode: Fix nested source group handling (#12943)
|
||||||
|
Xcode: Sort source files
|
||||||
|
|
||||||
|
Amine Chadly (2):
|
||||||
|
file: remove dead code
|
||||||
|
Add test to secure the file(GLOB empty) behavior.
|
||||||
|
|
||||||
|
Amit Kulkarni (6):
|
||||||
|
OpenBSD: Install shared libraries without executable permission
|
||||||
|
OpenBSD: Add paths for Java 1.6.0/1.7.0 JRE/JDK
|
||||||
|
OpenBSD: Add path for Freetype under X.org
|
||||||
|
OpenBSD: Add paths for Tcl/Tk 8.4/8.5
|
||||||
|
OpenBSD: Add path for Lua 5.1
|
||||||
|
OpenBSD: Add paths for Qt3/Qt4
|
||||||
|
|
||||||
|
Andreas Mohr (4):
|
||||||
|
Documentation: Correct typos and grammar
|
||||||
|
Documentation: Clarify some command descriptions
|
||||||
|
Correct string literal typo (have "(NULL)" like all other cases).
|
||||||
|
Remove seemingly bogus duplicate CPACK_PACKAGE_FILE_NAME call.
|
||||||
|
|
||||||
|
Anton Helwart (1):
|
||||||
|
VS: Avoid empty source groups in some cases (#3474)
|
||||||
|
|
||||||
|
Benjamin Eikel (2):
|
||||||
|
Swap linking order of SDLmain and SDL (#0013769)
|
||||||
|
FindSDL_...: Restore dropped search paths (#13819)
|
||||||
|
|
||||||
|
Brad King (109):
|
||||||
|
find_library: Refactor internal name iteration
|
||||||
|
find_library: Simplify framework search logic
|
||||||
|
find_library: Generalize helper macro in test case
|
||||||
|
find_library: Optionally consider all names in each directory
|
||||||
|
FindBoost: Remove extra indentation level
|
||||||
|
FindBoost: Mark Boost_DIR cache entry as advanced
|
||||||
|
FindBoost: Use PATH_SUFFIXES to look in "Program Files"
|
||||||
|
FindBoost: Overhaul caching and search repeat behavior
|
||||||
|
FindBoost: Construct a clean Boost_LIBRARIES value
|
||||||
|
FindBoost: Refactor Boost_FOUND computation and version check
|
||||||
|
FindBoost: Rewrite documentation
|
||||||
|
BSD: Do not require dlfcn.h to build shared libs (#13573)
|
||||||
|
Xcode: Fix ReRunCMake.make path to cmake.check_cache (#13603)
|
||||||
|
VS10: Refactor link options collection
|
||||||
|
VS10: Honor /DELAYSIGN and /KEYFILE flags (#13601)
|
||||||
|
Document external language support policy
|
||||||
|
CTest: Allow SUBMIT_INDEX with CDash
|
||||||
|
KWSys: Submit dashboard builds to PublicDashboard
|
||||||
|
pre-commit: Update KWSys rejection message for new workflow
|
||||||
|
CTestCustom: Suppress LNK4089 warning about PSAPI
|
||||||
|
load_command: Deprecate and document pending removal
|
||||||
|
Documentation: Clarify configure_file behavior
|
||||||
|
OS X: Warn about known SDK breakage by Xcode 3.2.6
|
||||||
|
Optionally skip link dependencies on shared library files
|
||||||
|
Teach BuildDepends test to cover LINK_DEPENDS_NO_SHARED
|
||||||
|
Serialize tests for EXCLUDE_FROM_DEFAULT_BUILD
|
||||||
|
MSVC: Drop default use of /Zm1000 for VS >= 7.1
|
||||||
|
Teach find_(path|file) about Linux multiarch (#13742)
|
||||||
|
Test find_path multiarch support (#13742)
|
||||||
|
Add policy CMP0019 to skip include/link variable re-expansion
|
||||||
|
Xcode: Add frameworks search paths from link dependeny closure (#13397)
|
||||||
|
Makefile: Use modern link information for framework search paths
|
||||||
|
Documentation: Clarify handling of implicit link directories
|
||||||
|
Remove references to KWSys Process Win9x support
|
||||||
|
add_library: Document object library portability suggestion
|
||||||
|
OS X: Link with all framework search paths, not just the last
|
||||||
|
OS X: Detect implicit link directories on modern toolchains
|
||||||
|
OS X: Detect implicit linker framework search paths
|
||||||
|
Revert "load_command: Deprecate and document pending removal"
|
||||||
|
VS11: Simplify external object file handling (#13831)
|
||||||
|
KWIML: Teach ABI about 'long long' on older GNU
|
||||||
|
CMake: Skip empty link.txt lines (#13845)
|
||||||
|
ExternalProject: Allow DEPENDS on normal targets (#13849)
|
||||||
|
VS11: Fix VSExternalInclude test
|
||||||
|
target_link_libraries: Document that new sigs privatize old (#13876)
|
||||||
|
Tests: Avoid CTestLimitDashJ crash on Borland 5.8 builds
|
||||||
|
Fix use of cmTypeMacro in new command classes
|
||||||
|
Fix cmSystemTools::RenameFile race on Windows
|
||||||
|
VS 6: Create .rule file directory before file
|
||||||
|
Add ExternalData module
|
||||||
|
ExternalData: Remove compatibility with CMake < 2.8.5
|
||||||
|
ExternalData: Do not match directory names when resolving DATA{}
|
||||||
|
ExternalData: Cleanup stray TODO and typo in comments
|
||||||
|
ExternalData: Remove unused private interface
|
||||||
|
ExternalData: Improve series matching using an explicit syntax
|
||||||
|
ExternalData: Add tests covering interfaces and errors
|
||||||
|
ExternalData: Allow ()-groups in series match regex
|
||||||
|
ExternalData: Allow DATA{} syntax to reference directories
|
||||||
|
ExternalData: Generalize hash algo/ext handling
|
||||||
|
ExternalData: Add support for SHA 1 and 2 hash algorithms
|
||||||
|
ExternalData: Collapse ../ components in DATA{} paths
|
||||||
|
Fix Module.ExternalData test on Cygwin
|
||||||
|
Fix Module.ExternalData test on VS 6
|
||||||
|
ExternalData: Attach download rules to content links in IDEs
|
||||||
|
find_package: Reword <package>_NO_INTERFACES documentation
|
||||||
|
Normalize full paths in implicit link library list
|
||||||
|
Fail early if no current working directory exists
|
||||||
|
MSVC: Fix CMAKE_CL_64 in CXX-only projects (#13896)
|
||||||
|
ExternalProject: Simplify CMake command line generation
|
||||||
|
Tests: Run ctest custom commands with VERBATIM
|
||||||
|
CMake: Add -T option to choose a generator toolset
|
||||||
|
VS: Implement generator toolset selection (#10722, #13774)
|
||||||
|
Xcode: Implement generator toolset selection (#9831, #13802)
|
||||||
|
CTest: Add options to set generator toolset
|
||||||
|
ExternalProject: Propagate the generator toolset
|
||||||
|
Tests: Consolidate ctest --build-and-test generator options
|
||||||
|
Tests: Add generator toolset support
|
||||||
|
Fix crash on empty CMAKE_<lang>_COMPILER value (#13901)
|
||||||
|
file: Do not remove symlinked directories recursively (#10538)
|
||||||
|
Embarcadero: Fix default link stack/heap flags (#13912)
|
||||||
|
Avoid duplicate RPATH entries
|
||||||
|
AIX-GNU: Put implicit link directories in runtime libpath (#13909)
|
||||||
|
VS: Replace generation timestamp file atomically
|
||||||
|
VS,Xcode: Remove unused CMAKE_GENERATOR_* variables
|
||||||
|
Delete entire CMakeFiles directory when deleting CMakeCache.txt (#13756)
|
||||||
|
Tests/RunCMake: Allow tests to control build tree behavior
|
||||||
|
Test Unix Makefiles generator support for changing compilers
|
||||||
|
Xcode: Drop check for circular target dependencies
|
||||||
|
Xcode: Each target dependency edge needs a unique object (#13935)
|
||||||
|
Tests: Replace exec_program with execute_process
|
||||||
|
Tests: Generalize decision for 'make' tool supporting spaces
|
||||||
|
ExternalData: Test content link with a space in its name
|
||||||
|
FPHSA: Convert FOUND_VAR failure test to RunCMake
|
||||||
|
VS: Restore CMAKE_GENERATOR_FC variable
|
||||||
|
Xcode: Generate recommended artwork setting (#13954)
|
||||||
|
CTest: Fix ctest_update with 'HEAD' file in source tree
|
||||||
|
VS 10: Fix CMAKE_<LANG>_STACK_SIZE implementation (#13968)
|
||||||
|
install(EXPORT): Force absolute paths for usr-move
|
||||||
|
AIX: Do not use -brtl to create shared libraries (#13997)
|
||||||
|
add_subdirectory: Compute output dir with consistent slashes (#10072)
|
||||||
|
ExternalData: Preserve escaped semicolons during argument expansion
|
||||||
|
Avoid crash when checking property link dependencies without link info
|
||||||
|
Avoid crash when checking property compatibility without link info
|
||||||
|
Refactor RunCMake.build_command test to allow more cases
|
||||||
|
build_command: Fail early without CMAKE_MAKE_PROGRAM (#14005)
|
||||||
|
CTest: Fail early without PROJECT_BINARY_DIR (#14005)
|
||||||
|
FindQt4: Fix QT_QMAKE{_QMAKE => }_EXECUTABLE typo
|
||||||
|
XL: Use -qpic for position independent code (#14010)
|
||||||
|
Configure Tests/CMakeTests only with BUILD_TESTING ON
|
||||||
|
|
||||||
|
Casey Goodlett (1):
|
||||||
|
CTest: Prevent creation of unbounded number of tests in ctest (#12904)
|
||||||
|
|
||||||
|
Clemens Heppner (1):
|
||||||
|
CMake: source_group needs to check its own regex after its children (#13611)
|
||||||
|
|
||||||
|
Clinton Stimpson (5):
|
||||||
|
Fix for possible Rez errors when creating dmg.
|
||||||
|
PackageMaker: Enable postflight script in component mode (#12375)
|
||||||
|
CPack: Fix RPM/Deb package names to not include "ALL_COMPONENTS_IN_ONE"
|
||||||
|
Qt4: Add SYSTEM option to include_directories.
|
||||||
|
FindQt4: set QT_VERSION_* variables sooner.
|
||||||
|
|
||||||
|
David Cole (19):
|
||||||
|
Begin post-2.8.10 development
|
||||||
|
CPack: Add automatic detection of the Unicode makensis (#9629)
|
||||||
|
BundleUtilities: Use a more inclusive REGEX for frameworks (#13600)
|
||||||
|
VS: Avoid empty, unreferenced solution folders... (#13571)
|
||||||
|
NMake: Add a test to demonstrate EmptyDepends issue (#13392)
|
||||||
|
NMake: Fix problem with empty DEPENDS args (#13392)
|
||||||
|
CMake: Remove "/STACK:10000000" from default linker flags (#12437)
|
||||||
|
Watcom: Avoid prompt from wmake about dll with no exports...
|
||||||
|
Tests: Use the right path to CPack value for running CPack tests
|
||||||
|
VS11: Allow using folders with the VS11 Express Edition (#13770)
|
||||||
|
CPack: Fix dashboard errors (#11575)
|
||||||
|
CPack: Fix dashboard warnings (#11575)
|
||||||
|
CPack: Fix dashboard errors and warnings (#11575)
|
||||||
|
CMake: Stylistic changes and documentation tweaks
|
||||||
|
CMake: Fix dashboard warnings
|
||||||
|
CMake: Fix dashboard test failure
|
||||||
|
CMake: Fix dashboard build errors and warnings
|
||||||
|
CTest: Coverage handler: expect certain output lines from gcov 4.7 (#13657)
|
||||||
|
Add CTestLimitDashJ test (#12904)
|
||||||
|
|
||||||
|
David Golub (2):
|
||||||
|
CPack/NSIS: Fix compatibility issues with prerelease NSIS (#13202)
|
||||||
|
CPack/NSIS: Add support for 64-bit NSIS (#13203)
|
||||||
|
|
||||||
|
Eric LaFranchi (1):
|
||||||
|
CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789)
|
||||||
|
|
||||||
|
Eric NOULARD (1):
|
||||||
|
CPackRPM fix #13898 uses IF(DEFINED var) to avoid wrong var value logic
|
||||||
|
|
||||||
|
Gerald Hofmann (1):
|
||||||
|
CPack: Fix NSIS version check without release version (#9721)
|
||||||
|
|
||||||
|
James Bigler (4):
|
||||||
|
Use PRE_LINK instead of PRE_BUILD when testing PRE_LINK.
|
||||||
|
FindCUDA: Remove linkage against CUDA driver library (#13084)
|
||||||
|
FindCUDA: Add support for separable compilation
|
||||||
|
FindCUDA: Added cupti library.
|
||||||
|
|
||||||
|
Janne Rönkkö (1):
|
||||||
|
FindQt4: Do not use qmake from Qt5
|
||||||
|
|
||||||
|
Jean-Christophe Fillion-Robin (1):
|
||||||
|
Add $<SEMICOLON> generator expression.
|
||||||
|
|
||||||
|
Marcus D. Hanwell (1):
|
||||||
|
Removed GenerateExportHeader warnings about old compilers
|
||||||
|
|
||||||
|
Mark Salisbury (2):
|
||||||
|
VS: Specify WinCE subsystem also for DLLs
|
||||||
|
VS: Specify WinCE subsystems correctly in VS 9 2008
|
||||||
|
|
||||||
|
Mathias Gaunard (2):
|
||||||
|
enable CTEST_USE_LAUNCHERS with Ninja too
|
||||||
|
Ninja: fix usage of cldeps with ctest launchers
|
||||||
|
|
||||||
|
Matt McCormick (7):
|
||||||
|
ExternalProject: Only run 'git fetch' when required.
|
||||||
|
ExternalProject: Do smoke tests for Git Tutorial builds.
|
||||||
|
ExternalProject: Add tests for UPDATE_COMMAND.
|
||||||
|
ExternalProject: Always do a git fetch for a remote ref.
|
||||||
|
ExternalProject: Make sure the ExternalProjectUpdate setup is available.
|
||||||
|
ExternalProject: Verify when a fetch occurs during update test.
|
||||||
|
ExternalProjectUpdateTest: Only support Git 1.6.5 and greater.
|
||||||
|
|
||||||
|
Matthew Woehlke (1):
|
||||||
|
ccmake: Allow DEL key in first column
|
||||||
|
|
||||||
|
Michael Tänzer (4):
|
||||||
|
GetPrerequisites: Move tool search paths up
|
||||||
|
GetPrerequisites: Add support for objdump
|
||||||
|
GetPrerequisites: Enable test for BundleUtilities on MinGW
|
||||||
|
GetPrerequisites: Add documentation for objdump
|
||||||
|
|
||||||
|
Michael Wild (1):
|
||||||
|
cmDepends: No dependency-vector erasure in CheckDependencies
|
||||||
|
|
||||||
|
Morné Chamberlain (15):
|
||||||
|
Added a generator for Sublime Text 2 project files.
|
||||||
|
Added some support for sublimeclang_options in the generated project file.
|
||||||
|
Changed SublimeClang include path generation to expand to absolute paths.
|
||||||
|
Cleaned up the Sublime Text 2 Generator code a bit.
|
||||||
|
Fixed support for the Ninja build system.
|
||||||
|
Added and cleaned up some comments.
|
||||||
|
The generator no longer generates an explicit list of source files.
|
||||||
|
The generator no longer generates absolute paths to the ninja.build/Makefiles.
|
||||||
|
Added a CMAKE_SUBLIMECLANG_DISABLED variable that disables SublimeClang.
|
||||||
|
Fixed Sublime Text project generation for in-source builds
|
||||||
|
Define flags in CMAKE_C(XX)_FLAGS are now included in SublimeClang settings.
|
||||||
|
SublimeText2 Gen: Improved use of define, include flags from CMAKE_C(XX)_FLAGS
|
||||||
|
SublimeText2 Gen: Fixed the issue where include directory flags used -D
|
||||||
|
Sublime Text 2 Gen: Per-source Compile flags are now saved in a separate file.
|
||||||
|
SublimeText 2 Gen: Set the sublimeclang_options_script property.
|
||||||
|
|
||||||
|
Neil Carlson (1):
|
||||||
|
NAG: Use -PIC for Fortran position-independent code (#13932)
|
||||||
|
|
||||||
|
Nils Gladitz (2):
|
||||||
|
CPack: Add a WiX Generator (#11575)
|
||||||
|
CMake: Add TIMESTAMP subcommand to string and file commands
|
||||||
|
|
||||||
|
Patrick Gansterer (28):
|
||||||
|
Introduce the abstract class cmGlobalGeneratorFactory
|
||||||
|
Add cmGlobalGeneratorFactory::GetGenerators()
|
||||||
|
Search generator in cmake::ExtraGenerators before in cmake::Generators
|
||||||
|
Allow a GeneratorFactory handling of more than one generator
|
||||||
|
Make cmGlobalGenerator::GetDocumentation() a static function
|
||||||
|
VS: Remove AddPlatformDefinitions from platform-specific generators
|
||||||
|
VS: Fix ArchitectureId of Visual Studio 10 IA64 generator
|
||||||
|
VS: Remove GetPlatformName from platform-specific generators
|
||||||
|
VS: Remove EnableLanguage from platform-specific generators
|
||||||
|
VS: Remove platform specific generator files
|
||||||
|
FindBISON: Add support for the Win flex-bison distribution
|
||||||
|
FindFLEX: Add support for the Win flex-bison distribution
|
||||||
|
VS: Remove TargetMachine for linker when checking compiler id
|
||||||
|
VS: Add CMAKE_VS_PLATFORM_NAME definition to cmMakefile
|
||||||
|
VS: Add static method to get the base of the registry
|
||||||
|
VS: Change variable type of ArchitectureId from const char* to string
|
||||||
|
VS: Change variable type of Name from const char* to string
|
||||||
|
VS: Support setting correct subsystem and entry point for WinCE
|
||||||
|
VS: Add parser for WCE.VCPlatform.config to read WinCE platforms
|
||||||
|
VS: Allow setting the name of the target platform
|
||||||
|
VS: Make DetermineCompilerId working with WinCE too
|
||||||
|
VS: Added "Deploy" at project configuration for WindowsCE targets
|
||||||
|
Add command to generate environment for a Windows CE SDK
|
||||||
|
VS: Set the correct SubSystem when determinating the CompilerId
|
||||||
|
VS: Add the entry point when compiling for WindowsCE
|
||||||
|
VS: Ignore LIBC.lib when linking the CompilerId executables
|
||||||
|
Set WINCE to 1 when building for WindowsCE
|
||||||
|
Ninja: Avoid LNK1170 linker error
|
||||||
|
|
||||||
|
Peter Kümmel (6):
|
||||||
|
Ninja: encode LINK_FLAGS to handle bash variables
|
||||||
|
Ninja: fix building from Codeblocks GUI
|
||||||
|
Ninja: remove implicit dependency on custom command outputs
|
||||||
|
Ninja: use MinGW generator code in EnableLanguage()
|
||||||
|
Ninja: the Ninja generator does not support Fortran yet.
|
||||||
|
Ninja: escape line breaks in literals
|
||||||
|
|
||||||
|
Petr Kmoch (11):
|
||||||
|
Add tests for list() argument count
|
||||||
|
Add tests for list() invalid arguments
|
||||||
|
Consolidate list() argument count testing
|
||||||
|
Add several get_property() tests
|
||||||
|
Add tests for EXCLUDE_FROM_DEFAULT_BUILD
|
||||||
|
Add property EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>
|
||||||
|
Define property EXCLUDE_FROM_DEFAULT_BUILD
|
||||||
|
Add tests for VS_SOLUTION_GLOBAL_SECTIONS
|
||||||
|
Implement properties VS_GLOBAL_SECTION_*
|
||||||
|
Define properties VS_GLOBAL_SECTION_*
|
||||||
|
Documentation: Clarify a few subtleties
|
||||||
|
|
||||||
|
Riku Voipio (1):
|
||||||
|
KWIML: Teach ABI.h about Aarch64
|
||||||
|
|
||||||
|
Robert Maynard (4):
|
||||||
|
XCode generator won't infinitely parse compiler flags (bug #13354).
|
||||||
|
Correct missing parameter to CMP0018Flags call.
|
||||||
|
Remove ability to generate sublime clang files.
|
||||||
|
Update generator to use new cmGeneratorTarget api.
|
||||||
|
|
||||||
|
Rodolfo Schulz de Lima (1):
|
||||||
|
FindGTK2: Fix GTK2_LIBRARIES order for static gtk libraries
|
||||||
|
|
||||||
|
Rolf Eike Beer (21):
|
||||||
|
FindQt: improve version selection
|
||||||
|
FindQt: add some more places to look for Qt3
|
||||||
|
Tests: add MajorVersionSelection tests
|
||||||
|
Linux/PA-RISC: Link with --unique=.text.* to help binutils
|
||||||
|
FindQt: add to MajorVersionSelection test
|
||||||
|
CMakeTests: allow to call the check_cmake_test macro with a given file
|
||||||
|
list: add tests for CMP0007 behavior
|
||||||
|
GetProperty test: move doc property tests into main process
|
||||||
|
Find* (and some other): use ${CMAKE_CURRENT_LIST_DIR} in include()
|
||||||
|
bootstrap: use better defaults for Haiku
|
||||||
|
Haiku no longer defines __BEOS__
|
||||||
|
check for Haiku only with __HAIKU__
|
||||||
|
FindLua51: do not try to link libm on BeOS
|
||||||
|
FindGLUT: BeOS does not have libXi and libXmu
|
||||||
|
FindOpenGL: add Haiku paths
|
||||||
|
doc: fix linebreaks in generator expression documentation
|
||||||
|
ProcessorCount test: fix path to cmsysTestsCxx executable
|
||||||
|
ProcessorCount test: require SystemInformation process to work
|
||||||
|
FindOpenMP: improve documentation (#13895)
|
||||||
|
properly detect processor architecture on Windows
|
||||||
|
fix Windows processor detection
|
||||||
|
|
||||||
|
Sean McBride (1):
|
||||||
|
libarchive: fixed undefined left shift with signed ints
|
||||||
|
|
||||||
|
Slava Sysoltsev (1):
|
||||||
|
FindImageMagick: Search quantum depth suffixes (#13859)
|
||||||
|
|
||||||
|
Stephen Kelly (158):
|
||||||
|
GenEx: Test early determination of AND and OR
|
||||||
|
Enable some compiler warnings when building CMake.
|
||||||
|
Resolve warnings about unused variables.
|
||||||
|
Resolve warnings about used enum values in switch blocks.
|
||||||
|
Resolve warnings about shadowing parameters and local variables.
|
||||||
|
Resolve ambiguity warning regarding use of && and ||.
|
||||||
|
Remove references to ancient and removed parts of the code.
|
||||||
|
Always use the auto_ptr from cmsys.
|
||||||
|
Port cmGeneratorExpression to cmTarget from cmGeneratorTarget.
|
||||||
|
Split link information processing into two steps.
|
||||||
|
Revert "Move GetLinkInformation to cmGeneratorTarget"
|
||||||
|
Genex: Extract a method to parse parameters.
|
||||||
|
Genex: Ensure that $<0:...> has a parameter.
|
||||||
|
Genex: Don't segfault on $<FOO,>
|
||||||
|
Generate an early-return guard in target Export files.
|
||||||
|
Fix some warnings from -Wundef
|
||||||
|
Make targets depend on the link interface of their dependees.
|
||||||
|
Use cmsys::auto_ptr to manage cmCompiledGeneratorExpressions
|
||||||
|
Keep track of INCLUDE_DIRECTORIES as a vector of structs.
|
||||||
|
Add a way to print the origins of used include directories.
|
||||||
|
Tests: Fix warning about unused variable
|
||||||
|
Qt4: Add module dependencies to the IMPORTED targets
|
||||||
|
Don't crash when a target is expected but is not available.
|
||||||
|
Add test for custom command with a genex referring to a target.
|
||||||
|
GenEx: Add expressions to specify build- or install-only values
|
||||||
|
Allow generator expressions to require literals.
|
||||||
|
Add the TARGET_NAME generator expression.
|
||||||
|
Add API to extract target names from a genex string.
|
||||||
|
Add API to populate INTERFACE properties in exported targets.
|
||||||
|
Make all relevant targets available in the genex context.
|
||||||
|
Use mapped config properties to evaluate $<CONFIG>
|
||||||
|
Make cycles in target properties ignored, not an error.
|
||||||
|
Populate the ExportedTargets member early in GenerateMainFile
|
||||||
|
Handle INTERFACE properties transitively for includes and defines.
|
||||||
|
Add CMAKE_BUILD_INTERFACE_INCLUDES build-variable.
|
||||||
|
Make linking APIs aware of 'head' target
|
||||||
|
Add LINK_LIBRARIES property for direct target link dependencies
|
||||||
|
Allow target_link_libraries with IMPORTED targets.
|
||||||
|
Add the -Wundef flag when compiling CMake.
|
||||||
|
FindQt4: Add INTERFACE includes and defines to Qt4 targets
|
||||||
|
Add the target_include_directories command.
|
||||||
|
Add the target_compile_definitions command.
|
||||||
|
Keep track of properties used to determine linker libraries.
|
||||||
|
Add API to calculate link-interface-dependent bool properties or error.
|
||||||
|
Process the INTERFACE_PIC property from linked dependencies
|
||||||
|
Fix linking to imported libraries test.
|
||||||
|
Add cmGeneratorExpression::Split() API.
|
||||||
|
Don't pass a position when determining if a target name is a literal.
|
||||||
|
Extract the AddTargetNamespace method.
|
||||||
|
Split the generator expression before extracting targets.
|
||||||
|
Split LINK_INTERFACE_LIBRARIES export handling into dedicated method.
|
||||||
|
Allow generator expressions in LINK_INTERFACE_LIBRARIES.
|
||||||
|
Add a way to check INTERFACE user property compatibility.
|
||||||
|
Don't include generator expressions in old-style link handling.
|
||||||
|
Document the use of generator expressions in new commands.
|
||||||
|
Add the TARGET_DEFINED generator expression
|
||||||
|
Strip consecutive semicolons when preprocessing genex strings.
|
||||||
|
Don't write a comment in the export file without the code.
|
||||||
|
Only generate one check per missing target.
|
||||||
|
Move the exported check for dependencies of targets
|
||||||
|
Move the exported check for file existence.
|
||||||
|
Add a test for the interfaces in targets exported from the build tree.
|
||||||
|
Make the BUILD_INTERFACE of export()ed targets work.
|
||||||
|
Export the INTERFACE_PIC property.
|
||||||
|
Test evaluation target via export for generator expressions
|
||||||
|
Make sure generator expressions can be used with target_include_directories.
|
||||||
|
Populate the link information cache before checking dependent properties.
|
||||||
|
Exit early if we find an inconsistent property.
|
||||||
|
Make INTERFACE determined properties readable in generator expressions.
|
||||||
|
Clear the link information in ClearLinkMaps.
|
||||||
|
Export the COMPATIBLE_INTERFACE_BOOL content properties
|
||||||
|
Add the $<TARGET_POLICY> expression
|
||||||
|
Automatically link to the qtmain library when linking to QtCore.
|
||||||
|
Don't wrap all targets in LINK_LIBRARIES in a TARGET_NAME genex.
|
||||||
|
Generate new-style cmake code during export.
|
||||||
|
Store includes from the same include_directories call together.
|
||||||
|
Only output includes once after the start of 'generate-time' when debugging.
|
||||||
|
Specify the target whose includes are being listed.
|
||||||
|
Output include directories as LOG messages, not warnings.
|
||||||
|
Revert "Allow target_link_libraries with IMPORTED targets."
|
||||||
|
Disallow porcelain to populate includes and defines of IMPORTED targets.
|
||||||
|
Exclude the LINK_LIBRARIES related properties from INTERFACE evaluation.
|
||||||
|
Make calculation of link-interface-dependent properties type-sensitive.
|
||||||
|
Add the COMPATIBLE_INTERFACE_STRING property.
|
||||||
|
Move GetCompileDefinitions to cmTarget.
|
||||||
|
Process COMPILE_DEFINITIONS as generator expressions in QtAutomoc.
|
||||||
|
Generate the _IMPORT_PREFIX in the non-config export file.
|
||||||
|
Add the INSTALL_PREFIX genex.
|
||||||
|
Fix TARGET_PROPERTY target extractions.
|
||||||
|
Make the Property name protected so that subclasses can use it.
|
||||||
|
Don't allow targets args in the new target commands.
|
||||||
|
Make subclasses responsible for joining content.
|
||||||
|
Use the result of converting to a unix path.
|
||||||
|
Handle reading empty properties defined by the link interface.
|
||||||
|
Advance more when preprocessing exported strings.
|
||||||
|
Make it an error for INSTALL_PREFIX to be evaluated.
|
||||||
|
Export targets to a targets file, not a Config file.
|
||||||
|
Add a way to exclude INTERFACE properties from exported targets.
|
||||||
|
Add API to check if we're reading a includes or defines property.
|
||||||
|
Add the $<LINKED:...> generator expression.
|
||||||
|
Add includes and compile definitions with target_link_libraries.
|
||||||
|
Test workaround of bad interface include directories from depends.
|
||||||
|
Optimize genex evaluation for includes and defines.
|
||||||
|
Cache context-independent includes on evaluation.
|
||||||
|
Style: Use this-> when invoking member functions.
|
||||||
|
Process generator expressions for 'system' include directories.
|
||||||
|
Deduplicate the isGeneratorExpression method.
|
||||||
|
De-duplicate validation of genex target names.
|
||||||
|
Test printing origin of include dirs from tll().
|
||||||
|
The COMPATIBLE_INTERFACE does not affect the target it is set on.
|
||||||
|
Ensure type specific compatible interface properties do not intersect.
|
||||||
|
Fix generation of COMPILE_DEFINITIONS in DependInfo.cmake.
|
||||||
|
Fix determination of evaluating link libraries.
|
||||||
|
Only use early evaluation termination for transitive properties.
|
||||||
|
Move a special case for PIC from the genex to the cmTarget code.
|
||||||
|
Don't keep track of content determined by target property values.
|
||||||
|
Only append build interface include dirs to particular targets.
|
||||||
|
Ensure that the build interface includes have been added.
|
||||||
|
Whitelist target types in target_{include_directories,compile_definitions}
|
||||||
|
Make sure INTERFACE properties work with OBJECT libraries.
|
||||||
|
Don't allow utility or global targets in the LINKED expression.
|
||||||
|
Generate config-specific interface link libraries propeties.
|
||||||
|
Fix determination of when we're evaluating compile definitions.
|
||||||
|
Rename the IncludeDirectoriesEntry to be more generic.
|
||||||
|
Don't use LINKED where not needed.
|
||||||
|
Use the link information as a source of compile definitions and includes.
|
||||||
|
Revert "Don't allow utility or global targets in the LINKED expression."
|
||||||
|
Don't populate INTERFACE includes and defines properties in tll.
|
||||||
|
Revert "Add the $<LINKED:...> generator expression."
|
||||||
|
Revert "find_package: Reword <package>_NO_INTERFACES documentation"
|
||||||
|
Revert "Add a way to exclude INTERFACE properties from exported targets."
|
||||||
|
Don't add target-specific interface includes and defines to Qt 4 targets.
|
||||||
|
Fix GenerateExportHeader documentation #13936
|
||||||
|
automoc: Add source file to target early to set the linker language
|
||||||
|
Keep track of all targets seen while evaluating a genex.
|
||||||
|
Add a new Export generator for IMPORTED targets.
|
||||||
|
Handle targets in the LINK_LIBRARIES of try_compile.
|
||||||
|
Strip stray semicolons when evaluating generator expressions.
|
||||||
|
Workaround broken code where a target has itself in its link iface.
|
||||||
|
Fix DAG checker finding cycling dependencies.
|
||||||
|
Expand includes and defines transitively in 'external' genexes.
|
||||||
|
Fix constness of accessors.
|
||||||
|
Fix the tests for evaluating includes and defines.
|
||||||
|
Memoize includes and defines from interface libraries.
|
||||||
|
Remove use of TARGET_DEFINED from target_include_directories test.
|
||||||
|
Remove use of TARGET_DEFINED from the ExportImport test.
|
||||||
|
Remove use of TARGET_DEFINED from the target_link_libraries test.
|
||||||
|
Revert "Add the TARGET_DEFINED generator expression"
|
||||||
|
Only add existing targets to the Qt4 target depends properties.
|
||||||
|
Fix the cmGeneratorExpression::Split when leading chars are present.
|
||||||
|
Fix RPATH information when only a genex is used as a link library.
|
||||||
|
Mention that IMPORTED targets may be created by a find_package call.
|
||||||
|
Remove unused parameters from target_link_libraries tests.
|
||||||
|
Only process transitive interface properties for valid target names.
|
||||||
|
Restore support for target names with '+' (#13986)
|
||||||
|
Automoc: Don't create automoc targets if Qt is not used (#13999)
|
||||||
|
cmake-gui: Use -fPIE if required by Qt.
|
||||||
|
cmake-gui: Workaround bug in Qt 5.0.0 to 5.0.3 QStandardItemModel
|
||||||
|
|
||||||
|
Thomas Klausner (1):
|
||||||
|
KWIML: Teach ABI.h that VAX is big endian
|
||||||
|
|
||||||
|
Yury G. Kudryashov (3):
|
||||||
|
Automoc: Fix automoc for OBJECT libraries.
|
||||||
|
Automoc: add OBJECT library to QtAutomoc test
|
||||||
|
spell: fix a few typos in comments
|
||||||
|
|
||||||
Changes in CMake 2.8.10.2 (since 2.8.10.1)
|
Changes in CMake 2.8.10.2 (since 2.8.10.1)
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
Alex Neundorf (1):
|
Alex Neundorf (1):
|
||||||
|
|
|
@ -160,10 +160,9 @@
|
||||||
# define COMPILER_ID "ADSP"
|
# define COMPILER_ID "ADSP"
|
||||||
|
|
||||||
/* IAR Systems compiler for embedded systems.
|
/* IAR Systems compiler for embedded systems.
|
||||||
http://www.iar.com
|
http://www.iar.com */
|
||||||
Not supported yet by CMake
|
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||||
#elif defined(__IAR_SYSTEMS_ICC__)
|
# define COMPILER_ID "IAR"
|
||||||
# define COMPILER_ID "IAR" */
|
|
||||||
|
|
||||||
/* sdcc, the small devices C compiler for embedded systems,
|
/* sdcc, the small devices C compiler for embedded systems,
|
||||||
http://sdcc.sourceforge.net */
|
http://sdcc.sourceforge.net */
|
||||||
|
|
|
@ -161,6 +161,11 @@
|
||||||
#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||||
# define COMPILER_ID "ADSP"
|
# define COMPILER_ID "ADSP"
|
||||||
|
|
||||||
|
/* IAR Systems compiler for embedded systems.
|
||||||
|
http://www.iar.com */
|
||||||
|
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||||
|
# define COMPILER_ID "IAR"
|
||||||
|
|
||||||
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||||
# define COMPILER_ID "MIPSpro"
|
# define COMPILER_ID "MIPSpro"
|
||||||
# if defined(_SGI_COMPILER_VERSION)
|
# if defined(_SGI_COMPILER_VERSION)
|
||||||
|
|
|
@ -103,6 +103,10 @@ if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
|
||||||
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_TI "-h")
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_TI "-h")
|
||||||
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_TI "Texas Instruments")
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_TI "Texas Instruments")
|
||||||
|
|
||||||
|
list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS GNU IAR)
|
||||||
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_IAR )
|
||||||
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_IAR "IAR Assembler")
|
||||||
|
|
||||||
include(CMakeDetermineCompilerId)
|
include(CMakeDetermineCompilerId)
|
||||||
CMAKE_DETERMINE_COMPILER_ID_VENDOR(ASM${ASM_DIALECT})
|
CMAKE_DETERMINE_COMPILER_ID_VENDOR(ASM${ASM_DIALECT})
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,13 @@ if(NOT CMAKE_C_COMPILER_ID_RUN)
|
||||||
set(CMAKE_C_COMPILER_ID)
|
set(CMAKE_C_COMPILER_ID)
|
||||||
file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
|
file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
|
||||||
CMAKE_C_COMPILER_ID_PLATFORM_CONTENT)
|
CMAKE_C_COMPILER_ID_PLATFORM_CONTENT)
|
||||||
|
|
||||||
|
# The IAR compiler produces weird output.
|
||||||
|
# See http://www.cmake.org/Bug/view.php?id=10176#c19598
|
||||||
|
list(APPEND CMAKE_C_COMPILER_ID_VENDORS IAR)
|
||||||
|
set(CMAKE_C_COMPILER_ID_VENDOR_FLAGS_IAR )
|
||||||
|
set(CMAKE_C_COMPILER_ID_VENDOR_REGEX_IAR "IAR .+ Compiler")
|
||||||
|
|
||||||
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
|
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
|
||||||
CMAKE_DETERMINE_COMPILER_ID(C CFLAGS CMakeCCompilerId.c)
|
CMAKE_DETERMINE_COMPILER_ID(C CFLAGS CMakeCCompilerId.c)
|
||||||
|
|
||||||
|
|
|
@ -116,6 +116,13 @@ if(NOT CMAKE_CXX_COMPILER_ID_RUN)
|
||||||
set(CMAKE_CXX_COMPILER_ID)
|
set(CMAKE_CXX_COMPILER_ID)
|
||||||
file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
|
file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
|
||||||
CMAKE_CXX_COMPILER_ID_PLATFORM_CONTENT)
|
CMAKE_CXX_COMPILER_ID_PLATFORM_CONTENT)
|
||||||
|
|
||||||
|
# The IAR compiler produces weird output.
|
||||||
|
# See http://www.cmake.org/Bug/view.php?id=10176#c19598
|
||||||
|
list(APPEND CMAKE_CXX_COMPILER_ID_VENDORS IAR)
|
||||||
|
set(CMAKE_CXX_COMPILER_ID_VENDOR_FLAGS_IAR )
|
||||||
|
set(CMAKE_CXX_COMPILER_ID_VENDOR_REGEX_IAR "IAR .+ Compiler")
|
||||||
|
|
||||||
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
|
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
|
||||||
CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS CMakeCXXCompilerId.cpp)
|
CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS CMakeCXXCompilerId.cpp)
|
||||||
|
|
||||||
|
|
|
@ -12,14 +12,14 @@
|
||||||
# (To distribute this file outside of CMake, substitute the full
|
# (To distribute this file outside of CMake, substitute the full
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
# determine the compiler to use for C programs
|
# determine the compiler to use for RC programs
|
||||||
# NOTE, a generator may set CMAKE_C_COMPILER before
|
# NOTE, a generator may set CMAKE_RC_COMPILER before
|
||||||
# loading this file to force a compiler.
|
# loading this file to force a compiler.
|
||||||
# use environment variable CCC first if defined by user, next use
|
# use environment variable RC first if defined by user, next use
|
||||||
# the cmake variable CMAKE_GENERATOR_CC which can be defined by a generator
|
# the cmake variable CMAKE_GENERATOR_RC which can be defined by a generator
|
||||||
# as a default compiler
|
# as a default compiler
|
||||||
if(NOT CMAKE_RC_COMPILER)
|
if(NOT CMAKE_RC_COMPILER)
|
||||||
# prefer the environment variable CC
|
# prefer the environment variable RC
|
||||||
if($ENV{RC} MATCHES ".+")
|
if($ENV{RC} MATCHES ".+")
|
||||||
get_filename_component(CMAKE_RC_COMPILER_INIT $ENV{RC} PROGRAM PROGRAM_ARGS CMAKE_RC_FLAGS_ENV_INIT)
|
get_filename_component(CMAKE_RC_COMPILER_INIT $ENV{RC} PROGRAM PROGRAM_ARGS CMAKE_RC_FLAGS_ENV_INIT)
|
||||||
if(CMAKE_RC_FLAGS_ENV_INIT)
|
if(CMAKE_RC_FLAGS_ENV_INIT)
|
||||||
|
|
|
@ -29,7 +29,7 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var obj
|
||||||
endif()
|
endif()
|
||||||
# Construct a regex to match linker lines. It must match both the
|
# Construct a regex to match linker lines. It must match both the
|
||||||
# whole line and just the command (argv[0]).
|
# whole line and just the command (argv[0]).
|
||||||
set(linker_regex "^( *|.*[/\\])(${linker}|ld|collect2)[^/\\]*( |$)")
|
set(linker_regex "^( *|.*[/\\])(${linker}|([^/\\]+-)?ld|collect2)[^/\\]*( |$)")
|
||||||
set(linker_exclude_regex "collect2 version ")
|
set(linker_exclude_regex "collect2 version ")
|
||||||
set(log "${log} link line regex: [${linker_regex}]\n")
|
set(log "${log} link line regex: [${linker_regex}]\n")
|
||||||
string(REGEX REPLACE "\r?\n" ";" output_lines "${text}")
|
string(REGEX REPLACE "\r?\n" ";" output_lines "${text}")
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
set(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
|
||||||
|
set(CMAKE_HOST_SYSTEM_NAME "@CMAKE_HOST_SYSTEM_NAME@")
|
||||||
|
set(CMAKE_HOST_SYSTEM_VERSION "@CMAKE_HOST_SYSTEM_VERSION@")
|
||||||
|
set(CMAKE_HOST_SYSTEM_PROCESSOR "@CMAKE_HOST_SYSTEM_PROCESSOR@")
|
||||||
|
|
||||||
@INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED@
|
@INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED@
|
||||||
|
|
||||||
set(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
|
set(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
|
||||||
|
@ -5,11 +10,6 @@ set(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
|
||||||
set(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
|
set(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
|
||||||
set(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
|
set(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
|
||||||
|
|
||||||
set(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
|
|
||||||
set(CMAKE_HOST_SYSTEM_NAME "@CMAKE_HOST_SYSTEM_NAME@")
|
|
||||||
set(CMAKE_HOST_SYSTEM_VERSION "@CMAKE_HOST_SYSTEM_VERSION@")
|
|
||||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "@CMAKE_HOST_SYSTEM_PROCESSOR@")
|
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING "@CMAKE_CROSSCOMPILING@")
|
set(CMAKE_CROSSCOMPILING "@CMAKE_CROSSCOMPILING@")
|
||||||
|
|
||||||
set(CMAKE_SYSTEM_LOADED 1)
|
set(CMAKE_SYSTEM_LOADED 1)
|
||||||
|
|
|
@ -163,6 +163,8 @@
|
||||||
# May be set by the user in order to specify a USER binary spec file
|
# May be set by the user in order to specify a USER binary spec file
|
||||||
# to be used by CPackRPM instead of generating the file.
|
# to be used by CPackRPM instead of generating the file.
|
||||||
# The specified file will be processed by configure_file( @ONLY).
|
# The specified file will be processed by configure_file( @ONLY).
|
||||||
|
# One can provide a component specific file by setting
|
||||||
|
# CPACK_RPM_<componentName>_USER_BINARY_SPECFILE.
|
||||||
##end
|
##end
|
||||||
##variable
|
##variable
|
||||||
# CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE - Spec file template.
|
# CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE - Spec file template.
|
||||||
|
@ -223,6 +225,24 @@
|
||||||
# The refered file will be read and directly put after the %changelog
|
# The refered file will be read and directly put after the %changelog
|
||||||
# section.
|
# section.
|
||||||
##end
|
##end
|
||||||
|
##variable
|
||||||
|
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST - list of path to be excluded.
|
||||||
|
# Mandatory : NO
|
||||||
|
# Default : /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include
|
||||||
|
# May be used to exclude path (directories or files) from the auto-generated
|
||||||
|
# list of paths discovered by CPack RPM. The defaut value contains a reasonable
|
||||||
|
# set of values if the variable is not defined by the user. If the variable
|
||||||
|
# is defined by the user then CPackRPM will NOT any of the default path.
|
||||||
|
# If you want to add some path to the default list then you can use
|
||||||
|
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION variable.
|
||||||
|
##end
|
||||||
|
##variable
|
||||||
|
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION - additional list of path to be excluded.
|
||||||
|
# Mandatory : NO
|
||||||
|
# Default : -
|
||||||
|
# May be used to add more exclude path (directories or files) from the initial
|
||||||
|
# default list of excluded paths. See CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST.
|
||||||
|
##end
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2007-2009 Kitware, Inc.
|
# Copyright 2007-2009 Kitware, Inc.
|
||||||
|
@ -666,6 +686,30 @@ if(CPACK_RPM_PACKAGE_RELOCATABLE)
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (CPACK_RPM_PACKAGE_DEBUG)
|
||||||
|
message("CPackRPM:Debug: Initial list of path to OMIT in RPM: ${_RPM_DIRS_TO_OMIT}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT DEFINED CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST)
|
||||||
|
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include)
|
||||||
|
if (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION)
|
||||||
|
message("CPackRPM:Debug: Adding ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION} to builtin omit list.")
|
||||||
|
list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST "${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST)
|
||||||
|
if (CPACK_RPM_PACKAGE_DEBUG)
|
||||||
|
message("CPackRPM:Debug: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST= ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST}")
|
||||||
|
endif()
|
||||||
|
foreach(_DIR ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST})
|
||||||
|
list(APPEND _RPM_DIRS_TO_OMIT "-o;-path;.${_DIR}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
if (CPACK_RPM_PACKAGE_DEBUG)
|
||||||
|
message("CPackRPM:Debug: Final list of path to OMIT in RPM: ${_RPM_DIRS_TO_OMIT}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Use files tree to construct files command (spec file)
|
# Use files tree to construct files command (spec file)
|
||||||
# We should not forget to include symlinks (thus -o -type l)
|
# We should not forget to include symlinks (thus -o -type l)
|
||||||
# We should include directory as well (thus -type d)
|
# We should include directory as well (thus -type d)
|
||||||
|
@ -832,11 +876,18 @@ if(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
message("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
|
message("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# USER generated spec file handling.
|
#
|
||||||
# We should generate a spec file template:
|
# USER generated/provided spec file handling.
|
||||||
|
#
|
||||||
|
|
||||||
|
# We can have a component specific spec file.
|
||||||
|
if(CPACK_RPM_PACKAGE_COMPONENT AND CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_USER_BINARY_SPECFILE)
|
||||||
|
set(CPACK_RPM_USER_BINARY_SPECFILE ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_USER_BINARY_SPECFILE})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# We should generate a USER spec file template:
|
||||||
# - either because the user asked for it : CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
|
# - either because the user asked for it : CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
|
||||||
# - or the user did not provide one : NOT CPACK_RPM_USER_BINARY_SPECFILE
|
# - or the user did not provide one : NOT CPACK_RPM_USER_BINARY_SPECFILE
|
||||||
#
|
|
||||||
if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
|
if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
|
||||||
file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
|
file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
|
||||||
"# -*- rpm-spec -*-
|
"# -*- rpm-spec -*-
|
||||||
|
@ -902,9 +953,9 @@ mv \"\@CPACK_TOPLEVEL_DIRECTORY\@/tmpBBroot\" $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
${CPACK_RPM_INSTALL_FILES}
|
\@CPACK_RPM_INSTALL_FILES\@
|
||||||
${CPACK_RPM_ABSOLUTE_INSTALL_FILES}
|
\@CPACK_RPM_ABSOLUTE_INSTALL_FILES\@
|
||||||
${CPACK_RPM_USER_INSTALL_FILES}
|
\@CPACK_RPM_USER_INSTALL_FILES\@
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
\@CPACK_RPM_SPEC_CHANGELOG\@
|
\@CPACK_RPM_SPEC_CHANGELOG\@
|
||||||
|
|
|
@ -26,6 +26,12 @@ include(CheckCSourceCompiles)
|
||||||
macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
|
macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
|
||||||
set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
|
set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
|
||||||
set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
|
set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
|
||||||
|
# Normalize locale during test compilation.
|
||||||
|
set(_CheckCCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG)
|
||||||
|
foreach(v ${_CheckCCompilerFlag_LOCALE_VARS})
|
||||||
|
set(_CheckCCompilerFlag_SAVED_${v} "$ENV{${v}}")
|
||||||
|
set(ENV{${v}} C)
|
||||||
|
endforeach()
|
||||||
CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${_RESULT}
|
CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${_RESULT}
|
||||||
# Some compilers do not fail with a bad flag
|
# Some compilers do not fail with a bad flag
|
||||||
FAIL_REGEX "command line option .* is valid for .* but not for C" # GNU
|
FAIL_REGEX "command line option .* is valid for .* but not for C" # GNU
|
||||||
|
@ -41,5 +47,11 @@ macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
|
||||||
FAIL_REGEX "command option .* is not recognized" # XL
|
FAIL_REGEX "command option .* is not recognized" # XL
|
||||||
FAIL_REGEX "WARNING: unknown flag:" # Open64
|
FAIL_REGEX "WARNING: unknown flag:" # Open64
|
||||||
)
|
)
|
||||||
|
foreach(v ${_CheckCCompilerFlag_LOCALE_VARS})
|
||||||
|
set(ENV{${v}} ${_CheckCCompilerFlag_SAVED_${v}})
|
||||||
|
unset(_CheckCCompilerFlag_SAVED_${v})
|
||||||
|
endforeach()
|
||||||
|
unset(_CheckCCompilerFlag_LOCALE_VARS)
|
||||||
|
|
||||||
set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
|
set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
|
||||||
endmacro ()
|
endmacro ()
|
||||||
|
|
|
@ -26,6 +26,13 @@ include(CheckCXXSourceCompiles)
|
||||||
macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
|
macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
|
||||||
set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
|
set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
|
||||||
set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
|
set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
|
||||||
|
|
||||||
|
# Normalize locale during test compilation.
|
||||||
|
set(_CheckCXXCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG)
|
||||||
|
foreach(v ${_CheckCXXCompilerFlag_LOCALE_VARS})
|
||||||
|
set(_CheckCXXCompilerFlag_SAVED_${v} "$ENV{${v}}")
|
||||||
|
set(ENV{${v}} C)
|
||||||
|
endforeach()
|
||||||
CHECK_CXX_SOURCE_COMPILES("int main() { return 0;}" ${_RESULT}
|
CHECK_CXX_SOURCE_COMPILES("int main() { return 0;}" ${_RESULT}
|
||||||
# Some compilers do not fail with a bad flag
|
# Some compilers do not fail with a bad flag
|
||||||
FAIL_REGEX "command line option .* is valid for .* but not for C\\\\+\\\\+" # GNU
|
FAIL_REGEX "command line option .* is valid for .* but not for C\\\\+\\\\+" # GNU
|
||||||
|
@ -43,6 +50,12 @@ macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
|
||||||
FAIL_REGEX "File with unknown suffix passed to linker" # PGI
|
FAIL_REGEX "File with unknown suffix passed to linker" # PGI
|
||||||
FAIL_REGEX "WARNING: unknown flag:" # Open64
|
FAIL_REGEX "WARNING: unknown flag:" # Open64
|
||||||
)
|
)
|
||||||
|
foreach(v ${_CheckCXXCompilerFlag_LOCALE_VARS})
|
||||||
|
set(ENV{${v}} ${_CheckCXXCompilerFlag_SAVED_${v}})
|
||||||
|
unset(_CheckCXXCompilerFlag_SAVED_${v})
|
||||||
|
endforeach()
|
||||||
|
unset(_CheckCXXCompilerFlag_LOCALE_VARS)
|
||||||
|
|
||||||
set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
|
set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
|
||||||
endmacro ()
|
endmacro ()
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
# This file is processed when the IAR compiler is used for an assembler file
|
||||||
|
|
||||||
|
include(Compiler/IAR)
|
||||||
|
|
||||||
|
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <SOURCE> <DEFINES> <FLAGS> -o <OBJECT>")
|
||||||
|
|
||||||
|
if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "ARM")
|
||||||
|
set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;asm;msa)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "AVR")
|
||||||
|
set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s90;asm;msa)
|
||||||
|
endif()
|
|
@ -0,0 +1,34 @@
|
||||||
|
# This file is processed when the IAR compiler is used for a C file
|
||||||
|
|
||||||
|
|
||||||
|
include(Compiler/IAR)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <SOURCE> <DEFINES> <FLAGS> -o <OBJECT>")
|
||||||
|
set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <SOURCE> <DEFINES> <FLAGS> --preprocess=cnl <PREPROCESSED_SOURCE>")
|
||||||
|
set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <SOURCE> <DEFINES> <FLAGS> -lAH <ASSEMBLY_SOURCE> -o <OBJECT>.dummy")
|
||||||
|
|
||||||
|
# The toolchains for ARM and AVR are quite different:
|
||||||
|
if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "ARM")
|
||||||
|
|
||||||
|
set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
|
||||||
|
set(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_AR> <TARGET> --create <LINK_FLAGS> <OBJECTS> ")
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "AVR")
|
||||||
|
set(CMAKE_C_OUTPUT_EXTENSION ".r90")
|
||||||
|
|
||||||
|
if(NOT CMAKE_C_LINK_FLAGS)
|
||||||
|
set(CMAKE_C_LINK_FLAGS "-Fmotorola")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
|
||||||
|
set(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_AR> -o <TARGET> <OBJECTS> ")
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# add the target specific include directory:
|
||||||
|
get_filename_component(_compilerDir "${CMAKE_C_COMPILER}" PATH)
|
||||||
|
get_filename_component(_compilerDir "${_compilerDir}" PATH)
|
||||||
|
include_directories("${_compilerDir}/inc" )
|
|
@ -0,0 +1,34 @@
|
||||||
|
# This file is processed when the IAR compiler is used for a C++ file
|
||||||
|
|
||||||
|
include(Compiler/IAR)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <SOURCE> <DEFINES> <FLAGS> -o <OBJECT>")
|
||||||
|
|
||||||
|
set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <SOURCE> <DEFINES> <FLAGS> --preprocess=cnl <PREPROCESSED_SOURCE>")
|
||||||
|
set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <SOURCE> <DEFINES> <FLAGS> -lAH <ASSEMBLY_SOURCE> -o <OBJECT>.dummy")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "ARM")
|
||||||
|
|
||||||
|
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
|
||||||
|
set(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> <TARGET> --create <LINK_FLAGS> <OBJECTS> ")
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
if("${IAR_TARGET_ARCHITECTURE}" STREQUAL "AVR")
|
||||||
|
set(CMAKE_CXX_OUTPUT_EXTENSION ".r90")
|
||||||
|
if(NOT CMAKE_CXX_LINK_FLAGS)
|
||||||
|
set(CMAKE_CXX_LINK_FLAGS "-Fmotorola")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_LINKER> <OBJECTS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
|
||||||
|
set(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> -o <TARGET> <OBJECTS> ")
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# add the target specific include directory:
|
||||||
|
get_filename_component(_compilerDir "${CMAKE_C_COMPILER}" PATH)
|
||||||
|
get_filename_component(_compilerDir "${_compilerDir}" PATH)
|
||||||
|
include_directories("${_compilerDir}/inc")
|
|
@ -0,0 +1,46 @@
|
||||||
|
# This file is processed when the IAR compiler is used for a C or C++ file
|
||||||
|
# Documentation can be downloaded here: http://www.iar.com/website1/1.0.1.0/675/1/
|
||||||
|
# The initial feature request is here: http://www.cmake.org/Bug/view.php?id=10176
|
||||||
|
# It also contains additional links and information.
|
||||||
|
|
||||||
|
if(_IAR_CMAKE_LOADED)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
set(_IAR_CMAKE_LOADED TRUE)
|
||||||
|
|
||||||
|
|
||||||
|
get_filename_component(_CMAKE_C_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
|
||||||
|
get_filename_component(_CMAKE_CXX_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
|
||||||
|
get_filename_component(_CMAKE_ASM_TOOLCHAIN_LOCATION "${CMAKE_ASM_COMPILER}" PATH)
|
||||||
|
|
||||||
|
|
||||||
|
if("${CMAKE_C_COMPILER}" MATCHES "arm" OR "${CMAKE_CXX_COMPILER}" MATCHES "arm" OR "${CMAKE_ASM_COMPILER}" MATCHES "arm")
|
||||||
|
set(CMAKE_EXECUTABLE_SUFFIX ".elf")
|
||||||
|
|
||||||
|
# For arm, IAR uses the "ilinkarm" linker and "iarchive" archiver:
|
||||||
|
find_program(CMAKE_IAR_LINKER ilinkarm HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" "${_CMAKE_ASM_TOOLCHAIN_LOCATION}")
|
||||||
|
find_program(CMAKE_IAR_AR iarchive HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" "${_CMAKE_ASM_TOOLCHAIN_LOCATION}" )
|
||||||
|
|
||||||
|
set(IAR_TARGET_ARCHITECTURE "ARM" CACHE STRING "IAR compiler target architecture")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if("${CMAKE_C_COMPILER}" MATCHES "avr" OR "${CMAKE_CXX_COMPILER}" MATCHES "avr" OR "${CMAKE_ASM_COMPILER}" MATCHES "avr")
|
||||||
|
set(CMAKE_EXECUTABLE_SUFFIX ".bin")
|
||||||
|
|
||||||
|
# For AVR and AVR32, IAR uses the "xlink" linker and the "xar" archiver:
|
||||||
|
find_program(CMAKE_IAR_LINKER xlink HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" "${_CMAKE_ASM_TOOLCHAIN_LOCATION}" )
|
||||||
|
find_program(CMAKE_IAR_AR xar HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" "${_CMAKE_ASM_TOOLCHAIN_LOCATION}" )
|
||||||
|
|
||||||
|
set(IAR_TARGET_ARCHITECTURE "AVR" CACHE STRING "IAR compiler target architecture")
|
||||||
|
|
||||||
|
set(CMAKE_LIBRARY_PATH_FLAG "-I")
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT IAR_TARGET_ARCHITECTURE)
|
||||||
|
message(FATAL_ERROR "The IAR compiler for this architecture is not yet supported "
|
||||||
|
" by CMake. Please go to http://www.cmake.org/Bug and enter a feature request there.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_LINKER "${CMAKE_IAR_LINKER}" CACHE FILEPATH "The IAR linker" FORCE)
|
||||||
|
set(CMAKE_AR "${CMAKE_IAR_AR}" CACHE FILEPATH "The IAR archiver" FORCE)
|
|
@ -56,7 +56,7 @@
|
||||||
2C18F0B415DC1DC700593670 = {
|
2C18F0B415DC1DC700593670 = {
|
||||||
fileEncoding = 30;
|
fileEncoding = 30;
|
||||||
isa = PBXFileReference;
|
isa = PBXFileReference;
|
||||||
lastKnownFileType = @id_type@;
|
explicitFileType = @id_type@;
|
||||||
path = @id_src@;
|
path = @id_src@;
|
||||||
refType = 4;
|
refType = 4;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
|
2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
|
||||||
2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
|
2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; explicitFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
|
||||||
8DD76F6C0486A84900D96B5E = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CompilerId@id_lang@; sourceTree = BUILT_PRODUCTS_DIR; };
|
8DD76F6C0486A84900D96B5E = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CompilerId@id_lang@; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
|
||||||
08FB7794FE84155DC02AAC07 = {
|
08FB7794FE84155DC02AAC07 = {
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
|
2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
|
||||||
2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
|
2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; explicitFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
|
||||||
08FB7794FE84155DC02AAC07 = {
|
08FB7794FE84155DC02AAC07 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
|
|
@ -1251,10 +1251,10 @@ function(_ep_add_download_command name)
|
||||||
get_filename_component(work_dir "${source_dir}" PATH)
|
get_filename_component(work_dir "${source_dir}" PATH)
|
||||||
set(comment "Performing download step (SVN checkout) for '${name}'")
|
set(comment "Performing download step (SVN checkout) for '${name}'")
|
||||||
set(svn_user_pw_args "")
|
set(svn_user_pw_args "")
|
||||||
if(svn_username)
|
if(DEFINED svn_username)
|
||||||
set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
|
set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
|
||||||
endif()
|
endif()
|
||||||
if(svn_password)
|
if(DEFINED svn_password)
|
||||||
set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
|
set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
|
||||||
endif()
|
endif()
|
||||||
if(svn_trust_cert)
|
if(svn_trust_cert)
|
||||||
|
@ -1473,10 +1473,10 @@ function(_ep_add_update_command name)
|
||||||
get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
|
get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
|
||||||
get_property(svn_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
|
get_property(svn_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
|
||||||
set(svn_user_pw_args "")
|
set(svn_user_pw_args "")
|
||||||
if(svn_username)
|
if(DEFINED svn_username)
|
||||||
set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
|
set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
|
||||||
endif()
|
endif()
|
||||||
if(svn_password)
|
if(DEFINED svn_password)
|
||||||
set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
|
set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
|
||||||
endif()
|
endif()
|
||||||
if(svn_trust_cert)
|
if(svn_trust_cert)
|
||||||
|
|
|
@ -920,8 +920,14 @@ function(CUDA_COMPUTE_BUILD_PATH path build_path)
|
||||||
if (IS_ABSOLUTE "${bpath}")
|
if (IS_ABSOLUTE "${bpath}")
|
||||||
# Absolute paths are generally unnessary, especially if something like
|
# Absolute paths are generally unnessary, especially if something like
|
||||||
# file(GLOB_RECURSE) is used to pick up the files.
|
# file(GLOB_RECURSE) is used to pick up the files.
|
||||||
|
|
||||||
|
string(FIND "${bpath}" "${CMAKE_CURRENT_BINARY_DIR}" _binary_dir_pos)
|
||||||
|
if (_binary_dir_pos EQUAL 0)
|
||||||
|
file(RELATIVE_PATH bpath "${CMAKE_CURRENT_BINARY_DIR}" "${bpath}")
|
||||||
|
else()
|
||||||
file(RELATIVE_PATH bpath "${CMAKE_CURRENT_SOURCE_DIR}" "${bpath}")
|
file(RELATIVE_PATH bpath "${CMAKE_CURRENT_SOURCE_DIR}" "${bpath}")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# This recipie is from cmLocalGenerator::CreateSafeUniqueObjectFileName in the
|
# This recipie is from cmLocalGenerator::CreateSafeUniqueObjectFileName in the
|
||||||
# CMake source.
|
# CMake source.
|
||||||
|
@ -1021,7 +1027,10 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
|
||||||
# Initialize our list of includes with the user ones followed by the CUDA system ones.
|
# Initialize our list of includes with the user ones followed by the CUDA system ones.
|
||||||
set(CUDA_NVCC_INCLUDE_ARGS ${CUDA_NVCC_INCLUDE_ARGS_USER} "-I${CUDA_INCLUDE_DIRS}")
|
set(CUDA_NVCC_INCLUDE_ARGS ${CUDA_NVCC_INCLUDE_ARGS_USER} "-I${CUDA_INCLUDE_DIRS}")
|
||||||
# Get the include directories for this directory and use them for our nvcc command.
|
# Get the include directories for this directory and use them for our nvcc command.
|
||||||
|
# Remove duplicate entries which may be present since include_directories
|
||||||
|
# in CMake >= 2.8.8 does not remove them.
|
||||||
get_directory_property(CUDA_NVCC_INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES)
|
get_directory_property(CUDA_NVCC_INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES)
|
||||||
|
list(REMOVE_DUPLICATES CUDA_NVCC_INCLUDE_DIRECTORIES)
|
||||||
if(CUDA_NVCC_INCLUDE_DIRECTORIES)
|
if(CUDA_NVCC_INCLUDE_DIRECTORIES)
|
||||||
foreach(dir ${CUDA_NVCC_INCLUDE_DIRECTORIES})
|
foreach(dir ${CUDA_NVCC_INCLUDE_DIRECTORIES})
|
||||||
list(APPEND CUDA_NVCC_INCLUDE_ARGS -I${dir})
|
list(APPEND CUDA_NVCC_INCLUDE_ARGS -I${dir})
|
||||||
|
|
|
@ -28,16 +28,18 @@
|
||||||
# (To distribute this file outside of CMake, substitute the full
|
# (To distribute this file outside of CMake, substitute the full
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
if (WIN32)
|
set(_OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY)
|
||||||
if (CYGWIN)
|
|
||||||
|
if (CYGWIN)
|
||||||
|
|
||||||
find_path(OPENGL_INCLUDE_DIR GL/gl.h )
|
find_path(OPENGL_INCLUDE_DIR GL/gl.h )
|
||||||
|
list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
|
||||||
|
|
||||||
find_library(OPENGL_gl_LIBRARY opengl32 )
|
find_library(OPENGL_gl_LIBRARY opengl32 )
|
||||||
|
|
||||||
find_library(OPENGL_glu_LIBRARY glu32 )
|
find_library(OPENGL_glu_LIBRARY glu32 )
|
||||||
|
|
||||||
else ()
|
elseif (WIN32)
|
||||||
|
|
||||||
if(BORLAND)
|
if(BORLAND)
|
||||||
set (OPENGL_gl_LIBRARY import32 CACHE STRING "OpenGL library for win32")
|
set (OPENGL_gl_LIBRARY import32 CACHE STRING "OpenGL library for win32")
|
||||||
|
@ -47,17 +49,14 @@ if (WIN32)
|
||||||
set (OPENGL_glu_LIBRARY glu32 CACHE STRING "GLU library for win32")
|
set (OPENGL_glu_LIBRARY glu32 CACHE STRING "GLU library for win32")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif ()
|
elseif (APPLE)
|
||||||
|
|
||||||
else ()
|
|
||||||
|
|
||||||
if (APPLE)
|
|
||||||
|
|
||||||
find_library(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL lib for OSX")
|
find_library(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL lib for OSX")
|
||||||
find_library(OPENGL_glu_LIBRARY AGL DOC "AGL lib for OSX")
|
find_library(OPENGL_glu_LIBRARY AGL DOC "AGL lib for OSX")
|
||||||
find_path(OPENGL_INCLUDE_DIR OpenGL/gl.h DOC "Include for OpenGL on OSX")
|
find_path(OPENGL_INCLUDE_DIR OpenGL/gl.h DOC "Include for OpenGL on OSX")
|
||||||
|
list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
if (CMAKE_SYSTEM_NAME MATCHES "HP-UX")
|
if (CMAKE_SYSTEM_NAME MATCHES "HP-UX")
|
||||||
# Handle HP-UX cases where we only want to find OpenGL in either hpux64
|
# Handle HP-UX cases where we only want to find OpenGL in either hpux64
|
||||||
# or hpux32 depending on if we're doing a 64 bit build.
|
# or hpux32 depending on if we're doing a 64 bit build.
|
||||||
|
@ -90,6 +89,7 @@ else ()
|
||||||
/opt/graphics/OpenGL/include /usr/X11R6/include
|
/opt/graphics/OpenGL/include /usr/X11R6/include
|
||||||
${_OPENGL_INCLUDE_PATH}
|
${_OPENGL_INCLUDE_PATH}
|
||||||
)
|
)
|
||||||
|
list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
|
||||||
|
|
||||||
find_path(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
|
find_path(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
|
||||||
/usr/share/doc/NVIDIA_GLX-1.0/include
|
/usr/share/doc/NVIDIA_GLX-1.0/include
|
||||||
|
@ -111,18 +111,15 @@ else ()
|
||||||
# On Unix OpenGL most certainly always requires X11.
|
# On Unix OpenGL most certainly always requires X11.
|
||||||
# Feel free to tighten up these conditions if you don't
|
# Feel free to tighten up these conditions if you don't
|
||||||
# think this is always true.
|
# think this is always true.
|
||||||
# It's not true on OSX.
|
|
||||||
|
|
||||||
if (OPENGL_gl_LIBRARY)
|
if (OPENGL_gl_LIBRARY)
|
||||||
if(NOT X11_FOUND)
|
if(NOT X11_FOUND)
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/FindX11.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/FindX11.cmake)
|
||||||
endif()
|
endif()
|
||||||
if (X11_FOUND)
|
if (X11_FOUND)
|
||||||
if (NOT APPLE)
|
|
||||||
set (OPENGL_LIBRARIES ${X11_LIBRARIES})
|
set (OPENGL_LIBRARIES ${X11_LIBRARIES})
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
|
||||||
|
|
||||||
find_library(OPENGL_glu_LIBRARY
|
find_library(OPENGL_glu_LIBRARY
|
||||||
NAMES GLU MesaGLU
|
NAMES GLU MesaGLU
|
||||||
|
@ -132,7 +129,6 @@ else ()
|
||||||
/usr/shlib /usr/X11R6/lib
|
/usr/shlib /usr/X11R6/lib
|
||||||
)
|
)
|
||||||
|
|
||||||
endif()
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(OPENGL_gl_LIBRARY)
|
if(OPENGL_gl_LIBRARY)
|
||||||
|
@ -162,7 +158,8 @@ set(OPENGL_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
|
||||||
# handle the QUIETLY and REQUIRED arguments and set OPENGL_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set OPENGL_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenGL DEFAULT_MSG OPENGL_gl_LIBRARY)
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenGL REQUIRED_VARS ${_OpenGL_REQUIRED_VARS})
|
||||||
|
unset(_OpenGL_REQUIRED_VARS)
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
OPENGL_INCLUDE_DIR
|
OPENGL_INCLUDE_DIR
|
||||||
|
|
|
@ -143,7 +143,7 @@ if(WIN32 AND NOT CYGWIN)
|
||||||
# same player, for MingW
|
# same player, for MingW
|
||||||
set(LIB_EAY_NAMES libeay32)
|
set(LIB_EAY_NAMES libeay32)
|
||||||
set(SSL_EAY_NAMES ssleay32)
|
set(SSL_EAY_NAMES ssleay32)
|
||||||
if(CMAKE_CROSS_COMPILING)
|
if(CMAKE_CROSSCOMPILING)
|
||||||
list(APPEND LIB_EAY_NAMES crypto)
|
list(APPEND LIB_EAY_NAMES crypto)
|
||||||
list(APPEND SSL_EAY_NAMES ssl)
|
list(APPEND SSL_EAY_NAMES ssl)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -916,7 +916,9 @@ Function .onInit
|
||||||
;Run the uninstaller
|
;Run the uninstaller
|
||||||
uninst:
|
uninst:
|
||||||
ClearErrors
|
ClearErrors
|
||||||
ExecWait '$0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
|
StrLen $2 "\Uninstall.exe"
|
||||||
|
StrCpy $3 $0 -$2 # remove "\Uninstall.exe" from UninstallString to get path
|
||||||
|
ExecWait '$0 _?=$3' ;Do not copy the uninstaller to a temp file
|
||||||
|
|
||||||
IfErrors uninst_failed inst
|
IfErrors uninst_failed inst
|
||||||
uninst_failed:
|
uninst_failed:
|
||||||
|
|
|
@ -81,7 +81,7 @@ endif()
|
||||||
|
|
||||||
macro(__windows_compiler_intel lang)
|
macro(__windows_compiler_intel lang)
|
||||||
set(CMAKE_${lang}_COMPILE_OBJECT
|
set(CMAKE_${lang}_COMPILE_OBJECT
|
||||||
"<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} /Fo<OBJECT> <DEFINES> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
|
"<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} /Fo<OBJECT> /Fd<OBJECT_DIR>/ <DEFINES> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
|
||||||
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
|
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
|
||||||
"<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <FLAGS> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
|
"<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <FLAGS> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
|
||||||
set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||||
|
@ -91,7 +91,7 @@ macro(__windows_compiler_intel lang)
|
||||||
set(CMAKE_${lang}_CREATE_SHARED_MODULE "${CMAKE_${lang}_CREATE_SHARED_LIBRARY}")
|
set(CMAKE_${lang}_CREATE_SHARED_MODULE "${CMAKE_${lang}_CREATE_SHARED_LIBRARY}")
|
||||||
set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
|
set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
|
||||||
set(CMAKE_${lang}_LINK_EXECUTABLE
|
set(CMAKE_${lang}_LINK_EXECUTABLE
|
||||||
"<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> <OBJECTS> /link /implib:<TARGET_IMPLIB> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
|
"<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> <OBJECTS> /link /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
|
||||||
set(CMAKE_${lang}_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000${_FLAGS_${lang}}")
|
set(CMAKE_${lang}_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000${_FLAGS_${lang}}")
|
||||||
set(CMAKE_${lang}_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Od /RTC1")
|
set(CMAKE_${lang}_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Od /RTC1")
|
||||||
set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "/DNDEBUG /MD /O1")
|
set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "/DNDEBUG /MD /O1")
|
||||||
|
|
|
@ -228,7 +228,7 @@ macro(__windows_compiler_msvc lang)
|
||||||
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "<CMAKE_LINKER> /lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
|
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "<CMAKE_LINKER> /lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
|
||||||
|
|
||||||
set(CMAKE_${lang}_COMPILE_OBJECT
|
set(CMAKE_${lang}_COMPILE_OBJECT
|
||||||
"<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> /Fo<OBJECT> /Fd<TARGET_PDB> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
|
"<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> /Fo<OBJECT> /Fd<OBJECT_DIR>/ -c <SOURCE>${CMAKE_END_TEMP_FILE}")
|
||||||
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
|
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
|
||||||
"<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
|
"<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
|
||||||
set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE
|
set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE
|
||||||
|
@ -237,7 +237,7 @@ macro(__windows_compiler_msvc lang)
|
||||||
set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
|
set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
|
||||||
set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||||
set(CMAKE_${lang}_LINK_EXECUTABLE
|
set(CMAKE_${lang}_LINK_EXECUTABLE
|
||||||
"${_CMAKE_VS_LINK_EXE}<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> <OBJECTS> /link /implib:<TARGET_IMPLIB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
|
"${_CMAKE_VS_LINK_EXE}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
|
||||||
|
|
||||||
set(CMAKE_${lang}_FLAGS_INIT "${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} /D_WINDOWS /W3${_FLAGS_${lang}}")
|
set(CMAKE_${lang}_FLAGS_INIT "${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} /D_WINDOWS /W3${_FLAGS_${lang}}")
|
||||||
set(CMAKE_${lang}_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od ${_RTC1}")
|
set(CMAKE_${lang}_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od ${_RTC1}")
|
||||||
|
|
|
@ -77,11 +77,13 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}")
|
||||||
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
|
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
|
||||||
# Project install destination.
|
# Project install destination.
|
||||||
"${CMAKE_INSTALL_PREFIX}"
|
"${CMAKE_INSTALL_PREFIX}"
|
||||||
|
|
||||||
# MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
|
|
||||||
/
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
|
||||||
|
# MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
|
||||||
|
list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
|
list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -357,6 +357,10 @@ if (WIN32)
|
||||||
cmLocalVisualStudio7Generator.h
|
cmLocalVisualStudio7Generator.h
|
||||||
cmLocalVisualStudioGenerator.cxx
|
cmLocalVisualStudioGenerator.cxx
|
||||||
cmLocalVisualStudioGenerator.h
|
cmLocalVisualStudioGenerator.h
|
||||||
|
cmVisualStudioSlnData.h
|
||||||
|
cmVisualStudioSlnData.cxx
|
||||||
|
cmVisualStudioSlnParser.h
|
||||||
|
cmVisualStudioSlnParser.cxx
|
||||||
cmVisualStudioWCEPlatformParser.h
|
cmVisualStudioWCEPlatformParser.h
|
||||||
cmVisualStudioWCEPlatformParser.cxx
|
cmVisualStudioWCEPlatformParser.cxx
|
||||||
cmWin32ProcessExecution.cxx
|
cmWin32ProcessExecution.cxx
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# CMake version number components.
|
# CMake version number components.
|
||||||
set(CMake_VERSION_MAJOR 2)
|
set(CMake_VERSION_MAJOR 2)
|
||||||
set(CMake_VERSION_MINOR 8)
|
set(CMake_VERSION_MINOR 8)
|
||||||
set(CMake_VERSION_PATCH 10)
|
set(CMake_VERSION_PATCH 11)
|
||||||
set(CMake_VERSION_TWEAK 20130515)
|
set(CMake_VERSION_TWEAK 20130516)
|
||||||
#set(CMake_VERSION_RC 1)
|
#set(CMake_VERSION_RC 1)
|
||||||
|
|
|
@ -638,7 +638,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
|
||||||
= this->MakefileMap->GetDefinition("CMAKE_MAKE_PROGRAM");
|
= this->MakefileMap->GetDefinition("CMAKE_MAKE_PROGRAM");
|
||||||
std::string buildCommand
|
std::string buildCommand
|
||||||
= globalGenerator->GenerateBuildCommand(cmakeMakeProgram,
|
= globalGenerator->GenerateBuildCommand(cmakeMakeProgram,
|
||||||
installProjectName.c_str(), 0,
|
installProjectName.c_str(), 0, 0,
|
||||||
globalGenerator->GetPreinstallTargetName(),
|
globalGenerator->GetPreinstallTargetName(),
|
||||||
buildConfig, false, false);
|
buildConfig, false, false);
|
||||||
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
||||||
|
|
|
@ -130,10 +130,11 @@ cmCTestGenericHandler* cmCTestBuildCommand::InitializeHandler()
|
||||||
cmakeBuildConfiguration = config;
|
cmakeBuildConfiguration = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string dir = this->CTest->GetCTestConfiguration("BuildDirectory");
|
||||||
std::string buildCommand
|
std::string buildCommand
|
||||||
= this->GlobalGenerator->
|
= this->GlobalGenerator->
|
||||||
GenerateBuildCommand(cmakeMakeProgram,
|
GenerateBuildCommand(cmakeMakeProgram,
|
||||||
cmakeProjectName,
|
cmakeProjectName, dir.c_str(),
|
||||||
cmakeBuildAdditionalFlags, cmakeBuildTarget,
|
cmakeBuildAdditionalFlags, cmakeBuildTarget,
|
||||||
cmakeBuildConfiguration, true, false);
|
cmakeBuildConfiguration, true, false);
|
||||||
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
|
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
|
||||||
|
|
|
@ -31,32 +31,6 @@ cmCTestGenericHandler* cmCTestConfigureCommand::InitializeHandler()
|
||||||
cmSystemTools::ExpandListArgument(this->Values[ctc_OPTIONS], options);
|
cmSystemTools::ExpandListArgument(this->Values[ctc_OPTIONS], options);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( this->Values[ct_BUILD] )
|
|
||||||
{
|
|
||||||
this->CTest->SetCTestConfiguration("BuildDirectory",
|
|
||||||
cmSystemTools::CollapseFullPath(
|
|
||||||
this->Values[ct_BUILD]).c_str());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this->CTest->SetCTestConfiguration("BuildDirectory",
|
|
||||||
cmSystemTools::CollapseFullPath(
|
|
||||||
this->Makefile->GetSafeDefinition("CTEST_BINARY_DIRECTORY")).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( this->Values[ct_SOURCE] )
|
|
||||||
{
|
|
||||||
this->CTest->SetCTestConfiguration("SourceDirectory",
|
|
||||||
cmSystemTools::CollapseFullPath(
|
|
||||||
this->Values[ct_SOURCE]).c_str());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this->CTest->SetCTestConfiguration("SourceDirectory",
|
|
||||||
cmSystemTools::CollapseFullPath(
|
|
||||||
this->Makefile->GetSafeDefinition("CTEST_SOURCE_DIRECTORY")).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( this->CTest->GetCTestConfiguration("BuildDirectory").empty() )
|
if ( this->CTest->GetCTestConfiguration("BuildDirectory").empty() )
|
||||||
{
|
{
|
||||||
this->SetError("Build directory not specified. Either use BUILD "
|
this->SetError("Build directory not specified. Either use BUILD "
|
||||||
|
|
|
@ -70,19 +70,6 @@ bool cmCTestHandlerCommand
|
||||||
this->CTest->SetConfigType(ctestConfigType);
|
this->CTest->SetConfigType(ctestConfigType);
|
||||||
}
|
}
|
||||||
|
|
||||||
cmCTestLog(this->CTest, DEBUG, "Initialize handler" << std::endl;);
|
|
||||||
cmCTestGenericHandler* handler = this->InitializeHandler();
|
|
||||||
if ( !handler )
|
|
||||||
{
|
|
||||||
cmCTestLog(this->CTest, ERROR_MESSAGE,
|
|
||||||
"Cannot instantiate test handler " << this->GetName()
|
|
||||||
<< std::endl);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
handler->SetAppendXML(this->AppendXML);
|
|
||||||
|
|
||||||
handler->PopulateCustomVectors(this->Makefile);
|
|
||||||
if ( this->Values[ct_BUILD] )
|
if ( this->Values[ct_BUILD] )
|
||||||
{
|
{
|
||||||
this->CTest->SetCTestConfiguration("BuildDirectory",
|
this->CTest->SetCTestConfiguration("BuildDirectory",
|
||||||
|
@ -119,6 +106,20 @@ bool cmCTestHandlerCommand
|
||||||
cmSystemTools::CollapseFullPath(
|
cmSystemTools::CollapseFullPath(
|
||||||
this->Makefile->GetSafeDefinition("CTEST_SOURCE_DIRECTORY")).c_str());
|
this->Makefile->GetSafeDefinition("CTEST_SOURCE_DIRECTORY")).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmCTestLog(this->CTest, DEBUG, "Initialize handler" << std::endl;);
|
||||||
|
cmCTestGenericHandler* handler = this->InitializeHandler();
|
||||||
|
if ( !handler )
|
||||||
|
{
|
||||||
|
cmCTestLog(this->CTest, ERROR_MESSAGE,
|
||||||
|
"Cannot instantiate test handler " << this->GetName()
|
||||||
|
<< std::endl);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
handler->SetAppendXML(this->AppendXML);
|
||||||
|
|
||||||
|
handler->PopulateCustomVectors(this->Makefile);
|
||||||
if ( this->Values[ct_SUBMIT_INDEX] )
|
if ( this->Values[ct_SUBMIT_INDEX] )
|
||||||
{
|
{
|
||||||
if(!this->CTest->GetDropSiteCDash() && this->CTest->GetDartVersion() <= 1)
|
if(!this->CTest->GetDropSiteCDash() && this->CTest->GetDartVersion() <= 1)
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include <QShortcut>
|
#include <QShortcut>
|
||||||
#include <QKeySequence>
|
#include <QKeySequence>
|
||||||
#include <QMacInstallDialog.h>
|
#include <QMacInstallDialog.h>
|
||||||
|
#include <QInputDialog>
|
||||||
|
|
||||||
#include "QCMake.h"
|
#include "QCMake.h"
|
||||||
#include "QCMakeCacheView.h"
|
#include "QCMakeCacheView.h"
|
||||||
|
@ -122,6 +123,22 @@ CMakeSetupDialog::CMakeSetupDialog()
|
||||||
QObject::connect(this->InstallForCommandLineAction, SIGNAL(triggered(bool)),
|
QObject::connect(this->InstallForCommandLineAction, SIGNAL(triggered(bool)),
|
||||||
this, SLOT(doInstallForCommandLine()));
|
this, SLOT(doInstallForCommandLine()));
|
||||||
#endif
|
#endif
|
||||||
|
ToolsMenu->addSeparator();
|
||||||
|
ToolsMenu->addAction(tr("&Find in Output..."),
|
||||||
|
this, SLOT(doOutputFindDialog()),
|
||||||
|
QKeySequence::Find);
|
||||||
|
ToolsMenu->addAction(tr("Find Next"),
|
||||||
|
this, SLOT(doOutputFindNext()),
|
||||||
|
QKeySequence::FindNext);
|
||||||
|
ToolsMenu->addAction(tr("Find Previous"),
|
||||||
|
this, SLOT(doOutputFindPrev()),
|
||||||
|
QKeySequence::FindPrevious);
|
||||||
|
ToolsMenu->addAction(tr("Goto Next Error"),
|
||||||
|
this, SLOT(doOutputErrorNext()),
|
||||||
|
QKeySequence(Qt::Key_F8)); // in Visual Studio
|
||||||
|
new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Period),
|
||||||
|
this, SLOT(doOutputErrorNext())); // in Eclipse
|
||||||
|
|
||||||
QMenu* OptionsMenu = this->menuBar()->addMenu(tr("&Options"));
|
QMenu* OptionsMenu = this->menuBar()->addMenu(tr("&Options"));
|
||||||
this->SuppressDevWarningsAction =
|
this->SuppressDevWarningsAction =
|
||||||
OptionsMenu->addAction(tr("&Suppress dev Warnings (-Wno-dev)"));
|
OptionsMenu->addAction(tr("&Suppress dev Warnings (-Wno-dev)"));
|
||||||
|
@ -154,10 +171,6 @@ CMakeSetupDialog::CMakeSetupDialog()
|
||||||
QObject::connect(a, SIGNAL(triggered(bool)),
|
QObject::connect(a, SIGNAL(triggered(bool)),
|
||||||
this, SLOT(doHelp()));
|
this, SLOT(doHelp()));
|
||||||
|
|
||||||
QShortcut* filterShortcut = new QShortcut(QKeySequence::Find, this);
|
|
||||||
QObject::connect(filterShortcut, SIGNAL(activated()),
|
|
||||||
this, SLOT(startSearch()));
|
|
||||||
|
|
||||||
this->setAcceptDrops(true);
|
this->setAcceptDrops(true);
|
||||||
|
|
||||||
// get the saved binary directories
|
// get the saved binary directories
|
||||||
|
@ -172,6 +185,10 @@ CMakeSetupDialog::CMakeSetupDialog()
|
||||||
this->Output->setFont(outputFont);
|
this->Output->setFont(outputFont);
|
||||||
this->ErrorFormat.setForeground(QBrush(Qt::red));
|
this->ErrorFormat.setForeground(QBrush(Qt::red));
|
||||||
|
|
||||||
|
this->Output->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
|
connect(this->Output, SIGNAL(customContextMenuRequested(const QPoint&)),
|
||||||
|
this, SLOT(doOutputContextMenu(const QPoint &)));
|
||||||
|
|
||||||
// start the cmake worker thread
|
// start the cmake worker thread
|
||||||
this->CMakeThread = new QCMakeThread(this);
|
this->CMakeThread = new QCMakeThread(this);
|
||||||
QObject::connect(this->CMakeThread, SIGNAL(cmakeInitialized()),
|
QObject::connect(this->CMakeThread, SIGNAL(cmakeInitialized()),
|
||||||
|
@ -637,7 +654,13 @@ void CMakeSetupDialog::showProgress(const QString& /*msg*/, float percent)
|
||||||
void CMakeSetupDialog::error(const QString& msg)
|
void CMakeSetupDialog::error(const QString& msg)
|
||||||
{
|
{
|
||||||
this->Output->setCurrentCharFormat(this->ErrorFormat);
|
this->Output->setCurrentCharFormat(this->ErrorFormat);
|
||||||
this->Output->append(msg);
|
//QTextEdit will terminate the msg with a ParagraphSeparator, but it also replaces
|
||||||
|
//all newlines with ParagraphSeparators. By replacing the newlines by ourself, one
|
||||||
|
//error msg will be one paragraph.
|
||||||
|
QString paragraph(msg);
|
||||||
|
paragraph.replace(QLatin1Char('\n'), QChar::LineSeparator);
|
||||||
|
this->Output->append(paragraph);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeSetupDialog::message(const QString& msg)
|
void CMakeSetupDialog::message(const QString& msg)
|
||||||
|
@ -1149,4 +1172,134 @@ void CMakeSetupDialog::setSearchFilter(const QString& str)
|
||||||
this->CacheValues->setSearchFilter(str);
|
this->CacheValues->setSearchFilter(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMakeSetupDialog::doOutputContextMenu(const QPoint &pt)
|
||||||
|
{
|
||||||
|
QMenu *menu = this->Output->createStandardContextMenu();
|
||||||
|
|
||||||
|
menu->addSeparator();
|
||||||
|
menu->addAction(tr("Find..."),
|
||||||
|
this, SLOT(doOutputFindDialog()), QKeySequence::Find);
|
||||||
|
menu->addAction(tr("Find Next"),
|
||||||
|
this, SLOT(doOutputFindNext()), QKeySequence::FindNext);
|
||||||
|
menu->addAction(tr("Find Previous"),
|
||||||
|
this, SLOT(doOutputFindPrev()), QKeySequence::FindPrevious);
|
||||||
|
menu->addSeparator();
|
||||||
|
menu->addAction(tr("Goto Next Error"),
|
||||||
|
this, SLOT(doOutputErrorNext()), QKeySequence(Qt::Key_F8));
|
||||||
|
|
||||||
|
menu->exec(this->Output->mapToGlobal(pt));
|
||||||
|
delete menu;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMakeSetupDialog::doOutputFindDialog()
|
||||||
|
{
|
||||||
|
QStringList strings(this->FindHistory);
|
||||||
|
|
||||||
|
QString selection = this->Output->textCursor().selectedText();
|
||||||
|
if (!selection.isEmpty() &&
|
||||||
|
!selection.contains(QChar::ParagraphSeparator) &&
|
||||||
|
!selection.contains(QChar::LineSeparator))
|
||||||
|
{
|
||||||
|
strings.push_front(selection);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ok;
|
||||||
|
QString search = QInputDialog::getItem(this, tr("Find in Output"),
|
||||||
|
tr("Find:"), strings, 0, true, &ok);
|
||||||
|
if (ok && !search.isEmpty())
|
||||||
|
{
|
||||||
|
if (!this->FindHistory.contains(search))
|
||||||
|
{
|
||||||
|
this->FindHistory.push_front(search);
|
||||||
|
}
|
||||||
|
doOutputFindNext();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMakeSetupDialog::doOutputFindPrev()
|
||||||
|
{
|
||||||
|
doOutputFindNext(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMakeSetupDialog::doOutputFindNext(bool directionForward)
|
||||||
|
{
|
||||||
|
if (this->FindHistory.isEmpty())
|
||||||
|
{
|
||||||
|
doOutputFindDialog(); //will re-call this function again
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString search = this->FindHistory.front();
|
||||||
|
|
||||||
|
QTextCursor cursor = this->Output->textCursor();
|
||||||
|
QTextDocument* document = this->Output->document();
|
||||||
|
QTextDocument::FindFlags flags;
|
||||||
|
if (!directionForward)
|
||||||
|
{
|
||||||
|
flags |= QTextDocument::FindBackward;
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor = document->find(search, cursor, flags);
|
||||||
|
|
||||||
|
if (cursor.isNull())
|
||||||
|
{
|
||||||
|
// first search found nothing, wrap around and search again
|
||||||
|
cursor = this->Output->textCursor();
|
||||||
|
cursor.movePosition(directionForward ? QTextCursor::Start
|
||||||
|
: QTextCursor::End);
|
||||||
|
cursor = document->find(search, cursor, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cursor.hasSelection())
|
||||||
|
{
|
||||||
|
this->Output->setTextCursor(cursor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMakeSetupDialog::doOutputErrorNext()
|
||||||
|
{
|
||||||
|
QTextCursor cursor = this->Output->textCursor();
|
||||||
|
bool atEnd = false;
|
||||||
|
|
||||||
|
// move cursor out of current error-block
|
||||||
|
if (cursor.blockCharFormat() == this->ErrorFormat)
|
||||||
|
{
|
||||||
|
atEnd = !cursor.movePosition(QTextCursor::NextBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
// move cursor to next error-block
|
||||||
|
while (cursor.blockCharFormat() != this->ErrorFormat && !atEnd)
|
||||||
|
{
|
||||||
|
atEnd = !cursor.movePosition(QTextCursor::NextBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (atEnd)
|
||||||
|
{
|
||||||
|
// first search found nothing, wrap around and search again
|
||||||
|
atEnd = !cursor.movePosition(QTextCursor::Start);
|
||||||
|
|
||||||
|
// move cursor to next error-block
|
||||||
|
while (cursor.blockCharFormat() != this->ErrorFormat && !atEnd)
|
||||||
|
{
|
||||||
|
atEnd = !cursor.movePosition(QTextCursor::NextBlock);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!atEnd)
|
||||||
|
{
|
||||||
|
cursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
|
||||||
|
|
||||||
|
QTextCharFormat selectionFormat;
|
||||||
|
selectionFormat.setBackground(Qt::yellow);
|
||||||
|
QTextEdit::ExtraSelection extraSelection = {cursor, selectionFormat};
|
||||||
|
this->Output->setExtraSelections(QList<QTextEdit::ExtraSelection>()
|
||||||
|
<< extraSelection);
|
||||||
|
|
||||||
|
// make the whole error-block visible
|
||||||
|
this->Output->setTextCursor(cursor);
|
||||||
|
|
||||||
|
// remove the selection to see the extraSelection
|
||||||
|
cursor.setPosition(cursor.anchor());
|
||||||
|
this->Output->setTextCursor(cursor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -77,6 +77,11 @@ protected slots:
|
||||||
bool doConfigureInternal();
|
bool doConfigureInternal();
|
||||||
bool doGenerateInternal();
|
bool doGenerateInternal();
|
||||||
void exitLoop(int);
|
void exitLoop(int);
|
||||||
|
void doOutputContextMenu(const QPoint &);
|
||||||
|
void doOutputFindDialog();
|
||||||
|
void doOutputFindNext(bool directionForward = true);
|
||||||
|
void doOutputFindPrev();
|
||||||
|
void doOutputErrorNext();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@ -106,6 +111,7 @@ protected:
|
||||||
QTextCharFormat MessageFormat;
|
QTextCharFormat MessageFormat;
|
||||||
|
|
||||||
QStringList AddVariableCompletions;
|
QStringList AddVariableCompletions;
|
||||||
|
QStringList FindHistory;
|
||||||
|
|
||||||
QEventLoop LocalLoop;
|
QEventLoop LocalLoop;
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,10 @@
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Search:</string>
|
<string>S&earch:</string>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>Search</cstring>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -122,7 +122,7 @@ bool cmBuildCommand
|
||||||
//
|
//
|
||||||
std::string makecommand = this->Makefile->GetLocalGenerator()
|
std::string makecommand = this->Makefile->GetLocalGenerator()
|
||||||
->GetGlobalGenerator()->GenerateBuildCommand
|
->GetGlobalGenerator()->GenerateBuildCommand
|
||||||
(makeprogram, project_name, 0, target, configuration, true, false);
|
(makeprogram, project_name, 0, 0, target, configuration, true, false);
|
||||||
|
|
||||||
this->Makefile->AddDefinition(variable, makecommand.c_str());
|
this->Makefile->AddDefinition(variable, makecommand.c_str());
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ bool cmBuildCommand
|
||||||
|
|
||||||
std::string makecommand = this->Makefile->GetLocalGenerator()
|
std::string makecommand = this->Makefile->GetLocalGenerator()
|
||||||
->GetGlobalGenerator()->GenerateBuildCommand
|
->GetGlobalGenerator()->GenerateBuildCommand
|
||||||
(makeprogram.c_str(), this->Makefile->GetProjectName(), 0,
|
(makeprogram.c_str(), this->Makefile->GetProjectName(), 0, 0,
|
||||||
0, configType.c_str(), true, false);
|
0, configType.c_str(), true, false);
|
||||||
|
|
||||||
if(cacheValue)
|
if(cacheValue)
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"in a (configured) header file. Then report the limitation. " \
|
"in a (configured) header file. Then report the limitation. " \
|
||||||
"Known limitations include:\n" \
|
"Known limitations include:\n" \
|
||||||
" # - broken almost everywhere\n" \
|
" # - broken almost everywhere\n" \
|
||||||
" ; - broken in VS IDE and Borland Makefiles\n" \
|
" ; - broken in VS IDE 7.0 and Borland Makefiles\n" \
|
||||||
" , - broken in VS IDE\n" \
|
" , - broken in VS IDE\n" \
|
||||||
" % - broken in some cases in NMake\n" \
|
" % - broken in some cases in NMake\n" \
|
||||||
" & | - broken in some cases on MinGW\n" \
|
" & | - broken in some cases on MinGW\n" \
|
||||||
|
|
|
@ -1252,7 +1252,7 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
|
||||||
|
|
||||||
cm->DefineProperty
|
cm->DefineProperty
|
||||||
("CMAKE_PDB_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
|
("CMAKE_PDB_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
|
||||||
"Where to put all the MS debug symbol files.",
|
"Where to put all the MS debug symbol files from linker.",
|
||||||
"This variable is used to initialize the "
|
"This variable is used to initialize the "
|
||||||
"PDB_OUTPUT_DIRECTORY property on all the targets. "
|
"PDB_OUTPUT_DIRECTORY property on all the targets. "
|
||||||
"See that target property for additional information.",
|
"See that target property for additional information.",
|
||||||
|
|
|
@ -39,6 +39,7 @@ cmExtraEclipseCDT4Generator
|
||||||
|
|
||||||
this->SupportsVirtualFolders = true;
|
this->SupportsVirtualFolders = true;
|
||||||
this->GenerateLinkedResources = true;
|
this->GenerateLinkedResources = true;
|
||||||
|
this->SupportsGmakeErrorParser = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
@ -50,7 +51,7 @@ void cmExtraEclipseCDT4Generator
|
||||||
entry.Full =
|
entry.Full =
|
||||||
"Project files for Eclipse will be created in the top directory. "
|
"Project files for Eclipse will be created in the top directory. "
|
||||||
"In out of source builds, a linked resource to the top level source "
|
"In out of source builds, a linked resource to the top level source "
|
||||||
"directory will be created."
|
"directory will be created. "
|
||||||
"Additionally a hierarchy of makefiles is generated into the "
|
"Additionally a hierarchy of makefiles is generated into the "
|
||||||
"build tree. The appropriate make program can build the project through "
|
"build tree. The appropriate make program can build the project through "
|
||||||
"the default make target. A \"make install\" target is also provided.";
|
"the default make target. A \"make install\" target is also provided.";
|
||||||
|
@ -77,6 +78,10 @@ void cmExtraEclipseCDT4Generator::Generate()
|
||||||
{
|
{
|
||||||
this->SupportsVirtualFolders = false;
|
this->SupportsVirtualFolders = false;
|
||||||
}
|
}
|
||||||
|
if (version < 3007) // 3.7 is Indigo
|
||||||
|
{
|
||||||
|
this->SupportsGmakeErrorParser = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -403,8 +408,17 @@ void cmExtraEclipseCDT4Generator::CreateProjectFile()
|
||||||
{
|
{
|
||||||
fout << "org.eclipse.cdt.core.ICCErrorParser;";
|
fout << "org.eclipse.cdt.core.ICCErrorParser;";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this->SupportsGmakeErrorParser)
|
||||||
|
{
|
||||||
|
fout << "org.eclipse.cdt.core.GmakeErrorParser;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fout << "org.eclipse.cdt.core.MakeErrorParser;";
|
||||||
|
}
|
||||||
|
|
||||||
fout <<
|
fout <<
|
||||||
"org.eclipse.cdt.core.MakeErrorParser;"
|
|
||||||
"org.eclipse.cdt.core.GCCErrorParser;"
|
"org.eclipse.cdt.core.GCCErrorParser;"
|
||||||
"org.eclipse.cdt.core.GASErrorParser;"
|
"org.eclipse.cdt.core.GASErrorParser;"
|
||||||
"org.eclipse.cdt.core.GLDErrorParser;"
|
"org.eclipse.cdt.core.GLDErrorParser;"
|
||||||
|
|
|
@ -111,6 +111,7 @@ private:
|
||||||
bool GenerateSourceProject;
|
bool GenerateSourceProject;
|
||||||
bool GenerateLinkedResources;
|
bool GenerateLinkedResources;
|
||||||
bool SupportsVirtualFolders;
|
bool SupportsVirtualFolders;
|
||||||
|
bool SupportsGmakeErrorParser;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ bool cmGetFilenameComponentCommand
|
||||||
}
|
}
|
||||||
std::string storeArgs;
|
std::string storeArgs;
|
||||||
std::string programArgs;
|
std::string programArgs;
|
||||||
if (args[2] == "PATH")
|
if (args[2] == "DIRECTORY" || args[2] == "PATH")
|
||||||
{
|
{
|
||||||
result = cmSystemTools::GetFilenamePath(filename);
|
result = cmSystemTools::GetFilenamePath(filename);
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,12 +64,13 @@ public:
|
||||||
return
|
return
|
||||||
" get_filename_component(<VAR> <FileName> <COMP> [CACHE])\n"
|
" get_filename_component(<VAR> <FileName> <COMP> [CACHE])\n"
|
||||||
"Set <VAR> to a component of <FileName>, where <COMP> is one of:\n"
|
"Set <VAR> to a component of <FileName>, where <COMP> is one of:\n"
|
||||||
" PATH = Directory without file name\n"
|
" DIRECTORY = Directory without file name\n"
|
||||||
" NAME = File name without directory\n"
|
" NAME = File name without directory\n"
|
||||||
" EXT = File name longest extension (.b.c from d/a.b.c)\n"
|
" EXT = File name longest extension (.b.c from d/a.b.c)\n"
|
||||||
" NAME_WE = File name without directory or longest extension\n"
|
" NAME_WE = File name without directory or longest extension\n"
|
||||||
" ABSOLUTE = Full path to file\n"
|
" ABSOLUTE = Full path to file\n"
|
||||||
" REALPATH = Full path to existing file with symlinks resolved\n"
|
" REALPATH = Full path to existing file with symlinks resolved\n"
|
||||||
|
" PATH = Legacy alias for DIRECTORY (use for CMake <= 2.8.11)\n"
|
||||||
"Paths are returned with forward slashes and have no trailing slahes. "
|
"Paths are returned with forward slashes and have no trailing slahes. "
|
||||||
"The longest file extension is always considered. "
|
"The longest file extension is always considered. "
|
||||||
"If the optional CACHE argument is specified, the result variable is "
|
"If the optional CACHE argument is specified, the result variable is "
|
||||||
|
|
|
@ -1340,11 +1340,13 @@ int cmGlobalGenerator::TryCompile(const char *srcdir, const char *bindir,
|
||||||
|
|
||||||
std::string cmGlobalGenerator
|
std::string cmGlobalGenerator
|
||||||
::GenerateBuildCommand(const char* makeProgram, const char *projectName,
|
::GenerateBuildCommand(const char* makeProgram, const char *projectName,
|
||||||
const char* additionalOptions, const char *targetName,
|
const char *projectDir, const char* additionalOptions,
|
||||||
const char* config, bool ignoreErrors, bool)
|
const char *targetName, const char* config,
|
||||||
|
bool ignoreErrors, bool)
|
||||||
{
|
{
|
||||||
// Project name and config are not used yet.
|
// Project name & dir and config are not used yet.
|
||||||
(void)projectName;
|
(void)projectName;
|
||||||
|
(void)projectDir;
|
||||||
(void)config;
|
(void)config;
|
||||||
|
|
||||||
std::string makeCommand =
|
std::string makeCommand =
|
||||||
|
@ -1411,7 +1413,7 @@ int cmGlobalGenerator::Build(
|
||||||
if (clean)
|
if (clean)
|
||||||
{
|
{
|
||||||
std::string cleanCommand =
|
std::string cleanCommand =
|
||||||
this->GenerateBuildCommand(makeCommandCSTR, projectName,
|
this->GenerateBuildCommand(makeCommandCSTR, projectName, bindir,
|
||||||
0, "clean", config, false, fast);
|
0, "clean", config, false, fast);
|
||||||
if(output)
|
if(output)
|
||||||
{
|
{
|
||||||
|
@ -1443,7 +1445,7 @@ int cmGlobalGenerator::Build(
|
||||||
|
|
||||||
// now build
|
// now build
|
||||||
std::string makeCommand =
|
std::string makeCommand =
|
||||||
this->GenerateBuildCommand(makeCommandCSTR, projectName,
|
this->GenerateBuildCommand(makeCommandCSTR, projectName, bindir,
|
||||||
extraOptions, target,
|
extraOptions, target,
|
||||||
config, false, fast);
|
config, false, fast);
|
||||||
if(output)
|
if(output)
|
||||||
|
|
|
@ -121,9 +121,10 @@ public:
|
||||||
|
|
||||||
virtual std::string GenerateBuildCommand(
|
virtual std::string GenerateBuildCommand(
|
||||||
const char* makeProgram,
|
const char* makeProgram,
|
||||||
const char *projectName, const char* additionalOptions,
|
const char *projectName, const char *projectDir,
|
||||||
const char *targetName,
|
const char* additionalOptions,
|
||||||
const char* config, bool ignoreErrors, bool fast);
|
const char *targetName, const char* config,
|
||||||
|
bool ignoreErrors, bool fast);
|
||||||
|
|
||||||
|
|
||||||
///! Set the CMake instance
|
///! Set the CMake instance
|
||||||
|
|
|
@ -523,14 +523,16 @@ bool cmGlobalNinjaGenerator::UsingMinGW = false;
|
||||||
std::string cmGlobalNinjaGenerator
|
std::string cmGlobalNinjaGenerator
|
||||||
::GenerateBuildCommand(const char* makeProgram,
|
::GenerateBuildCommand(const char* makeProgram,
|
||||||
const char* projectName,
|
const char* projectName,
|
||||||
|
const char* projectDir,
|
||||||
const char* additionalOptions,
|
const char* additionalOptions,
|
||||||
const char* targetName,
|
const char* targetName,
|
||||||
const char* config,
|
const char* config,
|
||||||
bool ignoreErrors,
|
bool ignoreErrors,
|
||||||
bool fast)
|
bool fast)
|
||||||
{
|
{
|
||||||
// Project name and config are not used yet.
|
// Project name & dir and config are not used yet.
|
||||||
(void)projectName;
|
(void)projectName;
|
||||||
|
(void)projectDir;
|
||||||
(void)config;
|
(void)config;
|
||||||
// Ninja does not have -i equivalent option yet.
|
// Ninja does not have -i equivalent option yet.
|
||||||
(void)ignoreErrors;
|
(void)ignoreErrors;
|
||||||
|
|
|
@ -191,6 +191,7 @@ public:
|
||||||
/// Overloaded methods. @see cmGlobalGenerator::GenerateBuildCommand()
|
/// Overloaded methods. @see cmGlobalGenerator::GenerateBuildCommand()
|
||||||
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
||||||
const char* projectName,
|
const char* projectName,
|
||||||
|
const char* projectDir,
|
||||||
const char* additionalOptions,
|
const char* additionalOptions,
|
||||||
const char* targetName,
|
const char* targetName,
|
||||||
const char* config,
|
const char* config,
|
||||||
|
|
|
@ -517,11 +517,13 @@ cmGlobalUnixMakefileGenerator3
|
||||||
|
|
||||||
std::string cmGlobalUnixMakefileGenerator3
|
std::string cmGlobalUnixMakefileGenerator3
|
||||||
::GenerateBuildCommand(const char* makeProgram, const char *projectName,
|
::GenerateBuildCommand(const char* makeProgram, const char *projectName,
|
||||||
const char* additionalOptions, const char *targetName,
|
const char *projectDir, const char* additionalOptions,
|
||||||
const char* config, bool ignoreErrors, bool fast)
|
const char *targetName, const char* config,
|
||||||
|
bool ignoreErrors, bool fast)
|
||||||
{
|
{
|
||||||
// Project name and config are not used yet.
|
// Project name & dir and config are not used yet.
|
||||||
(void)projectName;
|
(void)projectName;
|
||||||
|
(void)projectDir;
|
||||||
(void)config;
|
(void)config;
|
||||||
|
|
||||||
std::string makeCommand =
|
std::string makeCommand =
|
||||||
|
|
|
@ -107,7 +107,8 @@ public:
|
||||||
// change the build command for speed
|
// change the build command for speed
|
||||||
virtual std::string GenerateBuildCommand
|
virtual std::string GenerateBuildCommand
|
||||||
(const char* makeProgram,
|
(const char* makeProgram,
|
||||||
const char *projectName, const char* additionalOptions,
|
const char *projectName, const char *projectDir,
|
||||||
|
const char* additionalOptions,
|
||||||
const char *targetName,
|
const char *targetName,
|
||||||
const char* config, bool ignoreErrors, bool fast);
|
const char* config, bool ignoreErrors, bool fast);
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
#include "cmLocalVisualStudio10Generator.h"
|
#include "cmLocalVisualStudio10Generator.h"
|
||||||
#include "cmMakefile.h"
|
#include "cmMakefile.h"
|
||||||
#include "cmSourceFile.h"
|
#include "cmSourceFile.h"
|
||||||
|
#include "cmVisualStudioSlnData.h"
|
||||||
|
#include "cmVisualStudioSlnParser.h"
|
||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
|
|
||||||
static const char vs10Win32generatorName[] = "Visual Studio 10";
|
static const char vs10Win32generatorName[] = "Visual Studio 10";
|
||||||
|
@ -215,7 +217,7 @@ std::string cmGlobalVisualStudio10Generator::GetUserMacrosRegKeyBase()
|
||||||
|
|
||||||
std::string cmGlobalVisualStudio10Generator
|
std::string cmGlobalVisualStudio10Generator
|
||||||
::GenerateBuildCommand(const char* makeProgram,
|
::GenerateBuildCommand(const char* makeProgram,
|
||||||
const char *projectName,
|
const char *projectName, const char *projectDir,
|
||||||
const char* additionalOptions, const char *targetName,
|
const char* additionalOptions, const char *targetName,
|
||||||
const char* config, bool ignoreErrors, bool fast)
|
const char* config, bool ignoreErrors, bool fast)
|
||||||
{
|
{
|
||||||
|
@ -230,7 +232,8 @@ std::string cmGlobalVisualStudio10Generator
|
||||||
lowerCaseCommand.find("VCExpress") != std::string::npos)
|
lowerCaseCommand.find("VCExpress") != std::string::npos)
|
||||||
{
|
{
|
||||||
return cmGlobalVisualStudio7Generator::GenerateBuildCommand(makeProgram,
|
return cmGlobalVisualStudio7Generator::GenerateBuildCommand(makeProgram,
|
||||||
projectName, additionalOptions, targetName, config, ignoreErrors, fast);
|
projectName, projectDir, additionalOptions, targetName, config,
|
||||||
|
ignoreErrors, fast);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Otherwise, assume MSBuild command line, and construct accordingly.
|
// Otherwise, assume MSBuild command line, and construct accordingly.
|
||||||
|
@ -258,9 +261,38 @@ std::string cmGlobalVisualStudio10Generator
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
std::string targetProject(targetName);
|
||||||
|
targetProject += ".vcxproj";
|
||||||
|
if (targetProject.find('/') == std::string::npos)
|
||||||
|
{
|
||||||
|
// it might be in a subdir
|
||||||
|
cmVisualStudioSlnParser parser;
|
||||||
|
cmSlnData slnData;
|
||||||
|
std::string slnFile;
|
||||||
|
if (projectDir && *projectDir)
|
||||||
|
{
|
||||||
|
slnFile = projectDir;
|
||||||
|
slnFile += '/';
|
||||||
|
slnFile += projectName;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
slnFile = projectName;
|
||||||
|
}
|
||||||
|
if (parser.ParseFile(slnFile + ".sln", slnData,
|
||||||
|
cmVisualStudioSlnParser::DataGroupProjects))
|
||||||
|
{
|
||||||
|
if (cmSlnProjectEntry const* proj =
|
||||||
|
slnData.GetProjectByName(targetName))
|
||||||
|
{
|
||||||
|
targetProject = proj->GetRelativePath();
|
||||||
|
cmSystemTools::ConvertToUnixSlashes(targetProject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
makeCommand += " ";
|
||||||
|
makeCommand += targetProject;
|
||||||
makeCommand += " ";
|
makeCommand += " ";
|
||||||
makeCommand += targetName;
|
|
||||||
makeCommand += ".vcxproj ";
|
|
||||||
}
|
}
|
||||||
makeCommand += "/p:Configuration=";
|
makeCommand += "/p:Configuration=";
|
||||||
if(config && strlen(config))
|
if(config && strlen(config))
|
||||||
|
|
|
@ -32,7 +32,7 @@ public:
|
||||||
|
|
||||||
virtual std::string
|
virtual std::string
|
||||||
GenerateBuildCommand(const char* makeProgram,
|
GenerateBuildCommand(const char* makeProgram,
|
||||||
const char *projectName,
|
const char *projectName, const char *projectDir,
|
||||||
const char* additionalOptions, const char *targetName,
|
const char* additionalOptions, const char *targetName,
|
||||||
const char* config, bool ignoreErrors, bool);
|
const char* config, bool ignoreErrors, bool);
|
||||||
|
|
||||||
|
|
|
@ -80,12 +80,15 @@ void cmGlobalVisualStudio6Generator::GenerateConfigurations(cmMakefile* mf)
|
||||||
std::string cmGlobalVisualStudio6Generator
|
std::string cmGlobalVisualStudio6Generator
|
||||||
::GenerateBuildCommand(const char* makeProgram,
|
::GenerateBuildCommand(const char* makeProgram,
|
||||||
const char *projectName,
|
const char *projectName,
|
||||||
|
const char *projectDir,
|
||||||
const char* additionalOptions,
|
const char* additionalOptions,
|
||||||
const char *targetName,
|
const char *targetName,
|
||||||
const char* config,
|
const char* config,
|
||||||
bool ignoreErrors,
|
bool ignoreErrors,
|
||||||
bool)
|
bool)
|
||||||
{
|
{
|
||||||
|
// Visual studio 6 doesn't need project dir
|
||||||
|
(void) projectDir;
|
||||||
// Ingoring errors is not implemented in visual studio 6
|
// Ingoring errors is not implemented in visual studio 6
|
||||||
(void) ignoreErrors;
|
(void) ignoreErrors;
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,7 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
||||||
const char *projectName,
|
const char *projectName,
|
||||||
|
const char *projectDir,
|
||||||
const char* additionalOptions,
|
const char* additionalOptions,
|
||||||
const char *targetName,
|
const char *targetName,
|
||||||
const char* config,
|
const char* config,
|
||||||
|
|
|
@ -56,10 +56,12 @@ void cmGlobalVisualStudio7Generator
|
||||||
|
|
||||||
std::string cmGlobalVisualStudio7Generator
|
std::string cmGlobalVisualStudio7Generator
|
||||||
::GenerateBuildCommand(const char* makeProgram,
|
::GenerateBuildCommand(const char* makeProgram,
|
||||||
const char *projectName,
|
const char *projectName, const char *projectDir,
|
||||||
const char* additionalOptions, const char *targetName,
|
const char* additionalOptions, const char *targetName,
|
||||||
const char* config, bool ignoreErrors, bool)
|
const char* config, bool ignoreErrors, bool)
|
||||||
{
|
{
|
||||||
|
// Visual studio 7 doesn't need project dir
|
||||||
|
(void) projectDir;
|
||||||
// Ingoring errors is not implemented in visual studio 6
|
// Ingoring errors is not implemented in visual studio 6
|
||||||
(void) ignoreErrors;
|
(void) ignoreErrors;
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,7 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
||||||
const char *projectName,
|
const char *projectName,
|
||||||
|
const char *projectDir,
|
||||||
const char* additionalOptions,
|
const char* additionalOptions,
|
||||||
const char *targetName,
|
const char *targetName,
|
||||||
const char* config,
|
const char* config,
|
||||||
|
|
|
@ -260,6 +260,7 @@ void cmGlobalXCodeGenerator::EnableLanguage(std::vector<std::string>const&
|
||||||
std::string cmGlobalXCodeGenerator
|
std::string cmGlobalXCodeGenerator
|
||||||
::GenerateBuildCommand(const char* makeProgram,
|
::GenerateBuildCommand(const char* makeProgram,
|
||||||
const char *projectName,
|
const char *projectName,
|
||||||
|
const char *projectDir,
|
||||||
const char* additionalOptions,
|
const char* additionalOptions,
|
||||||
const char *targetName,
|
const char *targetName,
|
||||||
const char* config,
|
const char* config,
|
||||||
|
@ -268,6 +269,7 @@ std::string cmGlobalXCodeGenerator
|
||||||
{
|
{
|
||||||
// Config is not used yet
|
// Config is not used yet
|
||||||
(void) ignoreErrors;
|
(void) ignoreErrors;
|
||||||
|
(void) projectDir;
|
||||||
|
|
||||||
// now build the test
|
// now build the test
|
||||||
if(makeProgram == 0 || !strlen(makeProgram))
|
if(makeProgram == 0 || !strlen(makeProgram))
|
||||||
|
@ -839,7 +841,7 @@ GetSourcecodeValueFromFileExtension(const std::string& _ext,
|
||||||
// // Already specialized above or we leave sourcecode == "sourcecode"
|
// // Already specialized above or we leave sourcecode == "sourcecode"
|
||||||
// // which is probably the most correct choice. Extensionless headers,
|
// // which is probably the most correct choice. Extensionless headers,
|
||||||
// // for example... Or file types unknown to Xcode that do not map to a
|
// // for example... Or file types unknown to Xcode that do not map to a
|
||||||
// // valid lastKnownFileType value.
|
// // valid explicitFileType value.
|
||||||
// }
|
// }
|
||||||
|
|
||||||
return sourcecode;
|
return sourcecode;
|
||||||
|
@ -882,7 +884,7 @@ cmGlobalXCodeGenerator::CreateXCodeFileReferenceFromPath(
|
||||||
|
|
||||||
std::string sourcecode = GetSourcecodeValueFromFileExtension(ext, lang);
|
std::string sourcecode = GetSourcecodeValueFromFileExtension(ext, lang);
|
||||||
|
|
||||||
fileRef->AddAttribute("lastKnownFileType",
|
fileRef->AddAttribute("explicitFileType",
|
||||||
this->CreateString(sourcecode.c_str()));
|
this->CreateString(sourcecode.c_str()));
|
||||||
|
|
||||||
// Store the file path relative to the top of the source tree.
|
// Store the file path relative to the top of the source tree.
|
||||||
|
@ -1003,7 +1005,7 @@ cmGlobalXCodeGenerator::CreateXCodeTargets(cmLocalGenerator* gen,
|
||||||
*i, cmtarget);
|
*i, cmtarget);
|
||||||
cmXCodeObject* fr = xsf->GetObject("fileRef");
|
cmXCodeObject* fr = xsf->GetObject("fileRef");
|
||||||
cmXCodeObject* filetype =
|
cmXCodeObject* filetype =
|
||||||
fr->GetObject()->GetObject("lastKnownFileType");
|
fr->GetObject()->GetObject("explicitFileType");
|
||||||
|
|
||||||
cmTarget::SourceFileFlags tsFlags =
|
cmTarget::SourceFileFlags tsFlags =
|
||||||
cmtarget.GetTargetSourceFileFlags(*i);
|
cmtarget.GetTargetSourceFileFlags(*i);
|
||||||
|
|
|
@ -55,6 +55,7 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
virtual std::string GenerateBuildCommand(const char* makeProgram,
|
||||||
const char *projectName,
|
const char *projectName,
|
||||||
|
const char *projectDir,
|
||||||
const char* additionalOptions,
|
const char* additionalOptions,
|
||||||
const char *targetName,
|
const char *targetName,
|
||||||
const char* config,
|
const char* config,
|
||||||
|
|
|
@ -302,7 +302,12 @@ void cmLocalNinjaGenerator::AppendCustomCommandLines(const cmCustomCommand *cc,
|
||||||
wd = this->GetMakefile()->GetStartOutputDirectory();
|
wd = this->GetMakefile()->GetStartOutputDirectory();
|
||||||
|
|
||||||
cmOStringStream cdCmd;
|
cmOStringStream cdCmd;
|
||||||
cdCmd << "cd " << this->ConvertToOutputFormat(wd, SHELL);
|
#ifdef _WIN32
|
||||||
|
std::string cdStr = "cd /D ";
|
||||||
|
#else
|
||||||
|
std::string cdStr = "cd ";
|
||||||
|
#endif
|
||||||
|
cdCmd << cdStr << this->ConvertToOutputFormat(wd, SHELL);
|
||||||
cmdLines.push_back(cdCmd.str());
|
cmdLines.push_back(cdCmd.str());
|
||||||
}
|
}
|
||||||
for (unsigned i = 0; i != ccg.GetNumberOfCommands(); ++i) {
|
for (unsigned i = 0; i != ccg.GetNumberOfCommands(); ++i) {
|
||||||
|
|
|
@ -838,16 +838,6 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
|
||||||
targetOptions.OutputPreprocessorDefinitions(fout, "\t\t\t\t", "\n", "CXX");
|
targetOptions.OutputPreprocessorDefinitions(fout, "\t\t\t\t", "\n", "CXX");
|
||||||
fout << "\t\t\t\tAssemblerListingLocation=\"" << configName << "\"\n";
|
fout << "\t\t\t\tAssemblerListingLocation=\"" << configName << "\"\n";
|
||||||
fout << "\t\t\t\tObjectFile=\"$(IntDir)\\\"\n";
|
fout << "\t\t\t\tObjectFile=\"$(IntDir)\\\"\n";
|
||||||
if(targetBuilds)
|
|
||||||
{
|
|
||||||
// We need to specify a program database file name even for
|
|
||||||
// non-debug configurations because VS still creates .idb files.
|
|
||||||
fout << "\t\t\t\tProgramDataBaseFileName=\""
|
|
||||||
<< this->ConvertToXMLOutputPathSingle(
|
|
||||||
target.GetPDBDirectory(configName).c_str())
|
|
||||||
<< "/"
|
|
||||||
<< target.GetPDBName(configName) << "\"\n";
|
|
||||||
}
|
|
||||||
fout << "/>\n"; // end of <Tool Name=VCCLCompilerTool
|
fout << "/>\n"; // end of <Tool Name=VCCLCompilerTool
|
||||||
tool = "VCCustomBuildTool";
|
tool = "VCCustomBuildTool";
|
||||||
if(this->FortranProject)
|
if(this->FortranProject)
|
||||||
|
|
|
@ -569,11 +569,9 @@ cmNinjaTargetGenerator
|
||||||
EnsureParentDirectoryExists(objectFileName);
|
EnsureParentDirectoryExists(objectFileName);
|
||||||
|
|
||||||
std::string objectDir = cmSystemTools::GetFilenamePath(objectFileName);
|
std::string objectDir = cmSystemTools::GetFilenamePath(objectFileName);
|
||||||
objectDir = this->GetLocalGenerator()->Convert(objectDir.c_str(),
|
vars["OBJECT_DIR"] = this->GetLocalGenerator()->ConvertToOutputFormat(
|
||||||
cmLocalGenerator::START_OUTPUT,
|
ConvertToNinjaPath(objectDir.c_str()).c_str(),
|
||||||
cmLocalGenerator::SHELL);
|
cmLocalGenerator::SHELL);
|
||||||
vars["OBJECT_DIR"] = objectDir;
|
|
||||||
|
|
||||||
|
|
||||||
this->SetMsvcTargetPdbVariable(vars);
|
this->SetMsvcTargetPdbVariable(vars);
|
||||||
|
|
||||||
|
|
|
@ -886,9 +886,9 @@ void cmTarget::DefineProperties(cmake *cm)
|
||||||
|
|
||||||
cm->DefineProperty
|
cm->DefineProperty
|
||||||
("PDB_NAME", cmProperty::TARGET,
|
("PDB_NAME", cmProperty::TARGET,
|
||||||
"Output name for MS debug symbols .pdb file.",
|
"Output name for MS debug symbols .pdb file from linker.",
|
||||||
"Set the base name for debug symbols file created for an "
|
"Set the base name for debug symbols file created for an "
|
||||||
"executable or library target. "
|
"executable or shared library target. "
|
||||||
"If not set, the logical target name is used by default. "
|
"If not set, the logical target name is used by default. "
|
||||||
"\n"
|
"\n"
|
||||||
"This property is not implemented by the Visual Studio 6 generator.");
|
"This property is not implemented by the Visual Studio 6 generator.");
|
||||||
|
@ -1397,9 +1397,9 @@ void cmTarget::DefineProperties(cmake *cm)
|
||||||
|
|
||||||
cm->DefineProperty
|
cm->DefineProperty
|
||||||
("PDB_OUTPUT_DIRECTORY", cmProperty::TARGET,
|
("PDB_OUTPUT_DIRECTORY", cmProperty::TARGET,
|
||||||
"Output directory for MS debug symbols .pdb files.",
|
"Output directory for MS debug symbols .pdb file from linker.",
|
||||||
"This property specifies the directory into which the MS debug symbols "
|
"This property specifies the directory into which the MS debug symbols "
|
||||||
"will be placed. "
|
"will be placed by the linker. "
|
||||||
"This property is initialized by the value of the variable "
|
"This property is initialized by the value of the variable "
|
||||||
"CMAKE_PDB_OUTPUT_DIRECTORY if it is set when a target is created."
|
"CMAKE_PDB_OUTPUT_DIRECTORY if it is set when a target is created."
|
||||||
"\n"
|
"\n"
|
||||||
|
|
|
@ -1264,14 +1264,6 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
|
||||||
*this->BuildFileStream << configName
|
*this->BuildFileStream << configName
|
||||||
<< "</AssemblerListingLocation>\n";
|
<< "</AssemblerListingLocation>\n";
|
||||||
this->WriteString("<ObjectFileName>$(IntDir)</ObjectFileName>\n", 3);
|
this->WriteString("<ObjectFileName>$(IntDir)</ObjectFileName>\n", 3);
|
||||||
if(this->Target->GetType() != cmTarget::OBJECT_LIBRARY)
|
|
||||||
{
|
|
||||||
this->WriteString("<ProgramDataBaseFileName>", 3);
|
|
||||||
*this->BuildFileStream << this->Target->GetPDBDirectory(configName.c_str())
|
|
||||||
<< "/"
|
|
||||||
<< this->Target->GetPDBName(configName.c_str())
|
|
||||||
<< "</ProgramDataBaseFileName>\n";
|
|
||||||
}
|
|
||||||
this->WriteString("</ClCompile>\n", 2);
|
this->WriteString("</ClCompile>\n", 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
inline std::string cmVisualStudio10GeneratorOptionsEscapeForXML(const char* s)
|
inline std::string cmVisualStudio10GeneratorOptionsEscapeForXML(const char* s)
|
||||||
{
|
{
|
||||||
std::string ret = s;
|
std::string ret = s;
|
||||||
|
cmSystemTools::ReplaceString(ret, ";", "%3B");
|
||||||
cmSystemTools::ReplaceString(ret, "&", "&");
|
cmSystemTools::ReplaceString(ret, "&", "&");
|
||||||
cmSystemTools::ReplaceString(ret, "<", "<");
|
cmSystemTools::ReplaceString(ret, "<", "<");
|
||||||
cmSystemTools::ReplaceString(ret, ">", ">");
|
cmSystemTools::ReplaceString(ret, ">", ">");
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
/*============================================================================
|
||||||
|
CMake - Cross Platform Makefile Generator
|
||||||
|
Copyright 2000-2013 Kitware, Inc., Insight Software Consortium
|
||||||
|
|
||||||
|
Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
see accompanying file Copyright.txt for details.
|
||||||
|
|
||||||
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
See the License for more information.
|
||||||
|
============================================================================*/
|
||||||
|
#include "cmVisualStudioSlnData.h"
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
const cmSlnProjectEntry*
|
||||||
|
cmSlnData::GetProjectByGUID(const std::string& projectGUID) const
|
||||||
|
{
|
||||||
|
ProjectStorage::const_iterator it(ProjectsByGUID.find(projectGUID));
|
||||||
|
if (it != ProjectsByGUID.end())
|
||||||
|
return &it->second;
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
const cmSlnProjectEntry*
|
||||||
|
cmSlnData::GetProjectByName(const std::string& projectName) const
|
||||||
|
{
|
||||||
|
ProjectStringIndex::const_iterator it(ProjectNameIndex.find(projectName));
|
||||||
|
if (it != ProjectNameIndex.end())
|
||||||
|
return &it->second->second;
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
std::vector<cmSlnProjectEntry> cmSlnData::GetProjects() const
|
||||||
|
{
|
||||||
|
ProjectStringIndex::const_iterator it(this->ProjectNameIndex.begin()),
|
||||||
|
itEnd(this->ProjectNameIndex.end());
|
||||||
|
std::vector<cmSlnProjectEntry> result;
|
||||||
|
for (; it != itEnd; ++it)
|
||||||
|
result.push_back(it->second->second);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
cmSlnProjectEntry* cmSlnData::AddProject(
|
||||||
|
const std::string& projectGUID,
|
||||||
|
const std::string& projectName,
|
||||||
|
const std::string& projectRelativePath)
|
||||||
|
{
|
||||||
|
ProjectStorage::iterator it(ProjectsByGUID.find(projectGUID));
|
||||||
|
if (it != ProjectsByGUID.end())
|
||||||
|
return NULL;
|
||||||
|
it = ProjectsByGUID.insert(
|
||||||
|
ProjectStorage::value_type(
|
||||||
|
projectGUID,
|
||||||
|
cmSlnProjectEntry(projectGUID, projectName, projectRelativePath))).first;
|
||||||
|
ProjectNameIndex[projectName] = it;
|
||||||
|
return &it->second;
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*============================================================================
|
||||||
|
CMake - Cross Platform Makefile Generator
|
||||||
|
Copyright 2000-2013 Kitware, Inc., Insight Software Consortium
|
||||||
|
|
||||||
|
Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
see accompanying file Copyright.txt for details.
|
||||||
|
|
||||||
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
See the License for more information.
|
||||||
|
============================================================================*/
|
||||||
|
#ifndef cmVisualStudioSlnData_h
|
||||||
|
#define cmVisualStudioSlnData_h
|
||||||
|
|
||||||
|
#include "cmStandardIncludes.h"
|
||||||
|
|
||||||
|
class cmSlnProjectEntry
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
cmSlnProjectEntry() {}
|
||||||
|
cmSlnProjectEntry(const std::string& guid,
|
||||||
|
const std::string& name,
|
||||||
|
const std::string& relativePath)
|
||||||
|
: Guid(guid), Name(name), RelativePath(relativePath)
|
||||||
|
{}
|
||||||
|
|
||||||
|
std::string GetGUID() const { return Guid; }
|
||||||
|
std::string GetName() const { return Name; }
|
||||||
|
std::string GetRelativePath() const { return RelativePath; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string Guid, Name, RelativePath;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class cmSlnData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
const cmSlnProjectEntry*
|
||||||
|
GetProjectByGUID(const std::string& projectGUID) const;
|
||||||
|
|
||||||
|
const cmSlnProjectEntry*
|
||||||
|
GetProjectByName(const std::string& projectName) const;
|
||||||
|
|
||||||
|
std::vector<cmSlnProjectEntry> GetProjects() const;
|
||||||
|
|
||||||
|
cmSlnProjectEntry* AddProject(const std::string& projectGUID,
|
||||||
|
const std::string& projectName,
|
||||||
|
const std::string& projectRelativePath);
|
||||||
|
|
||||||
|
private:
|
||||||
|
typedef std::map<std::string, cmSlnProjectEntry> ProjectStorage;
|
||||||
|
ProjectStorage ProjectsByGUID;
|
||||||
|
typedef std::map<std::string, ProjectStorage::iterator> ProjectStringIndex;
|
||||||
|
ProjectStringIndex ProjectNameIndex;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,712 @@
|
||||||
|
/*============================================================================
|
||||||
|
CMake - Cross Platform Makefile Generator
|
||||||
|
Copyright 2000-2013 Kitware, Inc., Insight Software Consortium
|
||||||
|
|
||||||
|
Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
see accompanying file Copyright.txt for details.
|
||||||
|
|
||||||
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
See the License for more information.
|
||||||
|
============================================================================*/
|
||||||
|
#include "cmVisualStudioSlnParser.h"
|
||||||
|
|
||||||
|
#include "cmSystemTools.h"
|
||||||
|
#include "cmVisualStudioSlnData.h"
|
||||||
|
|
||||||
|
#include <cassert>
|
||||||
|
#include <stack>
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
enum LineFormat
|
||||||
|
{
|
||||||
|
LineMultiValueTag,
|
||||||
|
LineSingleValueTag,
|
||||||
|
LineKeyValuePair,
|
||||||
|
LineVerbatim
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
class cmVisualStudioSlnParser::ParsedLine
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
bool IsComment() const;
|
||||||
|
bool IsKeyValuePair() const;
|
||||||
|
|
||||||
|
const std::string& GetTag() const { return this->Tag; }
|
||||||
|
const std::string& GetArg() const { return this->Arg.first; }
|
||||||
|
std::string GetArgVerbatim() const;
|
||||||
|
size_t GetValueCount() const { return this->Values.size(); }
|
||||||
|
const std::string& GetValue(size_t idxValue) const;
|
||||||
|
std::string GetValueVerbatim(size_t idxValue) const;
|
||||||
|
|
||||||
|
void SetTag(const std::string& tag) { this->Tag = tag; }
|
||||||
|
void SetArg(const std::string& arg) { this->Arg = StringData(arg, false); }
|
||||||
|
void SetQuotedArg(const std::string& arg)
|
||||||
|
{ this->Arg = StringData(arg, true); }
|
||||||
|
void AddValue(const std::string& value)
|
||||||
|
{ this->Values.push_back(StringData(value, false)); }
|
||||||
|
void AddQuotedValue(const std::string& value)
|
||||||
|
{ this->Values.push_back(StringData(value, true)); }
|
||||||
|
|
||||||
|
void CopyVerbatim(const std::string& line) { this->Tag = line; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
typedef std::pair<std::string, bool> StringData;
|
||||||
|
std::string Tag;
|
||||||
|
StringData Arg;
|
||||||
|
std::vector<StringData> Values;
|
||||||
|
static const std::string BadString;
|
||||||
|
static const std::string Quote;
|
||||||
|
};
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
const std::string cmVisualStudioSlnParser::ParsedLine::BadString;
|
||||||
|
const std::string cmVisualStudioSlnParser::ParsedLine::Quote("\"");
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParsedLine::IsComment() const
|
||||||
|
{
|
||||||
|
assert(!this->Tag.empty());
|
||||||
|
return (this->Tag[0]== '#');
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParsedLine::IsKeyValuePair() const
|
||||||
|
{
|
||||||
|
assert(!this->Tag.empty());
|
||||||
|
return this->Arg.first.empty() && this->Values.size() == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
std::string cmVisualStudioSlnParser::ParsedLine::GetArgVerbatim() const
|
||||||
|
{
|
||||||
|
if (this->Arg.second)
|
||||||
|
return Quote + this->Arg.first + Quote;
|
||||||
|
else
|
||||||
|
return this->Arg.first;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
const std::string&
|
||||||
|
cmVisualStudioSlnParser::ParsedLine::GetValue(size_t idxValue) const
|
||||||
|
{
|
||||||
|
if (idxValue < this->Values.size())
|
||||||
|
return this->Values[idxValue].first;
|
||||||
|
else
|
||||||
|
return BadString;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
std::string
|
||||||
|
cmVisualStudioSlnParser::ParsedLine::GetValueVerbatim(size_t idxValue) const
|
||||||
|
{
|
||||||
|
if (idxValue < this->Values.size())
|
||||||
|
{
|
||||||
|
const StringData& data = this->Values[idxValue];
|
||||||
|
if (data.second)
|
||||||
|
return Quote + data.first + Quote;
|
||||||
|
else
|
||||||
|
return data.first;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return BadString;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
class cmVisualStudioSlnParser::State
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit State(DataGroupSet requestedData);
|
||||||
|
|
||||||
|
size_t GetCurrentLine() const { return this->CurrentLine; }
|
||||||
|
bool ReadLine(std::istream& input, std::string& line);
|
||||||
|
|
||||||
|
LineFormat NextLineFormat() const;
|
||||||
|
|
||||||
|
bool Process(const cmVisualStudioSlnParser::ParsedLine& line,
|
||||||
|
cmSlnData& output,
|
||||||
|
cmVisualStudioSlnParser::ResultData& result);
|
||||||
|
|
||||||
|
bool Finished(cmVisualStudioSlnParser::ResultData& result);
|
||||||
|
|
||||||
|
private:
|
||||||
|
enum FileState
|
||||||
|
{
|
||||||
|
FileStateStart,
|
||||||
|
FileStateTopLevel,
|
||||||
|
FileStateProject,
|
||||||
|
FileStateProjectDependencies,
|
||||||
|
FileStateGlobal,
|
||||||
|
FileStateSolutionConfigurations,
|
||||||
|
FileStateProjectConfigurations,
|
||||||
|
FileStateSolutionFilters,
|
||||||
|
FileStateGlobalSection,
|
||||||
|
FileStateIgnore
|
||||||
|
};
|
||||||
|
std::stack<FileState> Stack;
|
||||||
|
std::string EndIgnoreTag;
|
||||||
|
DataGroupSet RequestedData;
|
||||||
|
size_t CurrentLine;
|
||||||
|
|
||||||
|
void IgnoreUntilTag(const std::string& endTag);
|
||||||
|
};
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
cmVisualStudioSlnParser::State::State(DataGroupSet requestedData) :
|
||||||
|
RequestedData(requestedData),
|
||||||
|
CurrentLine(0)
|
||||||
|
{
|
||||||
|
if (this->RequestedData.test(DataGroupProjectDependenciesBit))
|
||||||
|
this->RequestedData.set(DataGroupProjectsBit);
|
||||||
|
this->Stack.push(FileStateStart);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::State::ReadLine(std::istream& input,
|
||||||
|
std::string& line)
|
||||||
|
{
|
||||||
|
++this->CurrentLine;
|
||||||
|
return !std::getline(input, line).fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
LineFormat cmVisualStudioSlnParser::State::NextLineFormat() const
|
||||||
|
{
|
||||||
|
switch (this->Stack.top())
|
||||||
|
{
|
||||||
|
case FileStateStart: return LineVerbatim;
|
||||||
|
case FileStateTopLevel: return LineMultiValueTag;
|
||||||
|
case FileStateProject: return LineSingleValueTag;
|
||||||
|
case FileStateProjectDependencies: return LineKeyValuePair;
|
||||||
|
case FileStateGlobal: return LineSingleValueTag;
|
||||||
|
case FileStateSolutionConfigurations: return LineKeyValuePair;
|
||||||
|
case FileStateProjectConfigurations: return LineKeyValuePair;
|
||||||
|
case FileStateSolutionFilters: return LineKeyValuePair;
|
||||||
|
case FileStateGlobalSection: return LineKeyValuePair;
|
||||||
|
case FileStateIgnore: return LineVerbatim;
|
||||||
|
default:
|
||||||
|
assert(false);
|
||||||
|
return LineVerbatim;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::State::Process(
|
||||||
|
const cmVisualStudioSlnParser::ParsedLine& line,
|
||||||
|
cmSlnData& output, cmVisualStudioSlnParser::ResultData& result)
|
||||||
|
{
|
||||||
|
assert(!line.IsComment());
|
||||||
|
switch (this->Stack.top())
|
||||||
|
{
|
||||||
|
case FileStateStart:
|
||||||
|
if (!cmSystemTools::StringStartsWith(
|
||||||
|
line.GetTag().c_str(), "Microsoft Visual Studio Solution File"))
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this->Stack.pop();
|
||||||
|
this->Stack.push(FileStateTopLevel);
|
||||||
|
break;
|
||||||
|
case FileStateTopLevel:
|
||||||
|
if (line.GetTag().compare("Project") == 0)
|
||||||
|
{
|
||||||
|
if (line.GetValueCount() != 3)
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (this->RequestedData.test(DataGroupProjectsBit))
|
||||||
|
{
|
||||||
|
if (!output.AddProject(line.GetValue(2),
|
||||||
|
line.GetValue(0),
|
||||||
|
line.GetValue(1)))
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputData, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this->Stack.push(FileStateProject);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
this->IgnoreUntilTag("EndProject");
|
||||||
|
}
|
||||||
|
else if (line.GetTag().compare("Global") == 0)
|
||||||
|
this->Stack.push(FileStateGlobal);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FileStateProject:
|
||||||
|
if (line.GetTag().compare("EndProject") == 0)
|
||||||
|
this->Stack.pop();
|
||||||
|
else if (line.GetTag().compare("ProjectSection") == 0)
|
||||||
|
{
|
||||||
|
if (line.GetArg().compare("ProjectDependencies") == 0 &&
|
||||||
|
line.GetValue(0).compare("postProject") == 0)
|
||||||
|
{
|
||||||
|
if (this->RequestedData.test(DataGroupProjectDependenciesBit))
|
||||||
|
this->Stack.push(FileStateProjectDependencies);
|
||||||
|
else
|
||||||
|
this->IgnoreUntilTag("EndProjectSection");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
this->IgnoreUntilTag("EndProjectSection");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FileStateProjectDependencies:
|
||||||
|
if (line.GetTag().compare("EndProjectSection") == 0)
|
||||||
|
this->Stack.pop();
|
||||||
|
else if (line.IsKeyValuePair())
|
||||||
|
// implement dependency storing here, once needed
|
||||||
|
;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FileStateGlobal:
|
||||||
|
if (line.GetTag().compare("EndGlobal") == 0)
|
||||||
|
this->Stack.pop();
|
||||||
|
else if (line.GetTag().compare("GlobalSection") == 0)
|
||||||
|
{
|
||||||
|
if (line.GetArg().compare("SolutionConfigurationPlatforms") == 0 &&
|
||||||
|
line.GetValue(0).compare("preSolution") == 0)
|
||||||
|
{
|
||||||
|
if (this->RequestedData.test(DataGroupSolutionConfigurationsBit))
|
||||||
|
this->Stack.push(FileStateSolutionConfigurations);
|
||||||
|
else
|
||||||
|
this->IgnoreUntilTag("EndGlobalSection");
|
||||||
|
}
|
||||||
|
else if (line.GetArg().compare("ProjectConfigurationPlatforms") == 0 &&
|
||||||
|
line.GetValue(0).compare("postSolution") == 0)
|
||||||
|
{
|
||||||
|
if (this->RequestedData.test(DataGroupProjectConfigurationsBit))
|
||||||
|
this->Stack.push(FileStateProjectConfigurations);
|
||||||
|
else
|
||||||
|
this->IgnoreUntilTag("EndGlobalSection");
|
||||||
|
}
|
||||||
|
else if (line.GetArg().compare("NestedProjects") == 0 &&
|
||||||
|
line.GetValue(0).compare("preSolution") == 0)
|
||||||
|
{
|
||||||
|
if (this->RequestedData.test(DataGroupSolutionFiltersBit))
|
||||||
|
this->Stack.push(FileStateSolutionFilters);
|
||||||
|
else
|
||||||
|
this->IgnoreUntilTag("EndGlobalSection");
|
||||||
|
}
|
||||||
|
else if (this->RequestedData.test(DataGroupGenericGlobalSectionsBit))
|
||||||
|
this->Stack.push(FileStateGlobalSection);
|
||||||
|
else
|
||||||
|
this->IgnoreUntilTag("EndGlobalSection");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FileStateSolutionConfigurations:
|
||||||
|
if (line.GetTag().compare("EndGlobalSection") == 0)
|
||||||
|
this->Stack.pop();
|
||||||
|
else if (line.IsKeyValuePair())
|
||||||
|
// implement configuration storing here, once needed
|
||||||
|
;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FileStateProjectConfigurations:
|
||||||
|
if (line.GetTag().compare("EndGlobalSection") == 0)
|
||||||
|
this->Stack.pop();
|
||||||
|
else if (line.IsKeyValuePair())
|
||||||
|
// implement configuration storing here, once needed
|
||||||
|
;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FileStateSolutionFilters:
|
||||||
|
if (line.GetTag().compare("EndGlobalSection") == 0)
|
||||||
|
this->Stack.pop();
|
||||||
|
else if (line.IsKeyValuePair())
|
||||||
|
// implement filter storing here, once needed
|
||||||
|
;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FileStateGlobalSection:
|
||||||
|
if (line.GetTag().compare("EndGlobalSection") == 0)
|
||||||
|
this->Stack.pop();
|
||||||
|
else if (line.IsKeyValuePair())
|
||||||
|
// implement section storing here, once needed
|
||||||
|
;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FileStateIgnore:
|
||||||
|
if (line.GetTag() == this->EndIgnoreTag)
|
||||||
|
{
|
||||||
|
this->Stack.pop();
|
||||||
|
this->EndIgnoreTag = "";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
result.SetError(ResultErrorBadInternalState, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::State::Finished(
|
||||||
|
cmVisualStudioSlnParser::ResultData& result)
|
||||||
|
{
|
||||||
|
if (this->Stack.top() != FileStateTopLevel)
|
||||||
|
{
|
||||||
|
result.SetError(ResultErrorInputStructure, this->GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
result.Result = ResultOK;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void cmVisualStudioSlnParser::State::IgnoreUntilTag(const std::string& endTag)
|
||||||
|
{
|
||||||
|
this->Stack.push(FileStateIgnore);
|
||||||
|
this->EndIgnoreTag = endTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
cmVisualStudioSlnParser::ResultData::ResultData()
|
||||||
|
: Result(ResultOK)
|
||||||
|
, ResultLine(0)
|
||||||
|
{}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void cmVisualStudioSlnParser::ResultData::Clear()
|
||||||
|
{
|
||||||
|
*this = ResultData();
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void cmVisualStudioSlnParser::ResultData::SetError(ParseResult error,
|
||||||
|
size_t line)
|
||||||
|
{
|
||||||
|
this->Result = error;
|
||||||
|
this->ResultLine = line;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
const cmVisualStudioSlnParser::DataGroupSet
|
||||||
|
cmVisualStudioSlnParser::DataGroupProjects(
|
||||||
|
1 << cmVisualStudioSlnParser::DataGroupProjectsBit);
|
||||||
|
|
||||||
|
const cmVisualStudioSlnParser::DataGroupSet
|
||||||
|
cmVisualStudioSlnParser::DataGroupProjectDependencies(
|
||||||
|
1 << cmVisualStudioSlnParser::DataGroupProjectDependenciesBit);
|
||||||
|
|
||||||
|
const cmVisualStudioSlnParser::DataGroupSet
|
||||||
|
cmVisualStudioSlnParser::DataGroupSolutionConfigurations(
|
||||||
|
1 << cmVisualStudioSlnParser::DataGroupSolutionConfigurationsBit);
|
||||||
|
|
||||||
|
const cmVisualStudioSlnParser::DataGroupSet
|
||||||
|
cmVisualStudioSlnParser::DataGroupProjectConfigurations(
|
||||||
|
1 << cmVisualStudioSlnParser::DataGroupProjectConfigurationsBit);
|
||||||
|
|
||||||
|
const cmVisualStudioSlnParser::DataGroupSet
|
||||||
|
cmVisualStudioSlnParser::DataGroupSolutionFilters(
|
||||||
|
1 << cmVisualStudioSlnParser::DataGroupSolutionFiltersBit);
|
||||||
|
|
||||||
|
const cmVisualStudioSlnParser::DataGroupSet
|
||||||
|
cmVisualStudioSlnParser::DataGroupGenericGlobalSections(
|
||||||
|
1 << cmVisualStudioSlnParser::DataGroupGenericGlobalSectionsBit);
|
||||||
|
|
||||||
|
const cmVisualStudioSlnParser::DataGroupSet
|
||||||
|
cmVisualStudioSlnParser::DataGroupAll(~0);
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::Parse(std::istream& input,
|
||||||
|
cmSlnData& output,
|
||||||
|
DataGroupSet dataGroups)
|
||||||
|
{
|
||||||
|
this->LastResult.Clear();
|
||||||
|
if (!this->IsDataGroupSetSupported(dataGroups))
|
||||||
|
{
|
||||||
|
this->LastResult.SetError(ResultErrorUnsupportedDataGroup, 0);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
State state(dataGroups);
|
||||||
|
return this->ParseImpl(input, output, state);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParseFile(const std::string& file,
|
||||||
|
cmSlnData& output,
|
||||||
|
DataGroupSet dataGroups)
|
||||||
|
{
|
||||||
|
this->LastResult.Clear();
|
||||||
|
if (!this->IsDataGroupSetSupported(dataGroups))
|
||||||
|
{
|
||||||
|
this->LastResult.SetError(ResultErrorUnsupportedDataGroup, 0);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::ifstream f(file.c_str());
|
||||||
|
if (!f)
|
||||||
|
{
|
||||||
|
this->LastResult.SetError(ResultErrorOpeningInput, 0);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
State state(dataGroups);
|
||||||
|
return this->ParseImpl(f, output, state);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
cmVisualStudioSlnParser::ParseResult
|
||||||
|
cmVisualStudioSlnParser::GetParseResult() const
|
||||||
|
{
|
||||||
|
return this->LastResult.Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
size_t cmVisualStudioSlnParser::GetParseResultLine() const
|
||||||
|
{
|
||||||
|
return this->LastResult.ResultLine;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::GetParseHadBOM() const
|
||||||
|
{
|
||||||
|
return this->LastResult.HadBOM;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool
|
||||||
|
cmVisualStudioSlnParser::IsDataGroupSetSupported(DataGroupSet dataGroups) const
|
||||||
|
{
|
||||||
|
return (dataGroups & DataGroupProjects) == dataGroups;
|
||||||
|
//only supporting DataGroupProjects for now
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParseImpl(std::istream& input,
|
||||||
|
cmSlnData& output,
|
||||||
|
State& state)
|
||||||
|
{
|
||||||
|
std::string line;
|
||||||
|
// Does the .sln start with a Byte Order Mark?
|
||||||
|
if (!this->ParseBOM(input, line, state))
|
||||||
|
return false;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
line = cmSystemTools::TrimWhitespace(line);
|
||||||
|
if (line.empty())
|
||||||
|
continue;
|
||||||
|
ParsedLine parsedLine;
|
||||||
|
switch (state.NextLineFormat())
|
||||||
|
{
|
||||||
|
case LineMultiValueTag:
|
||||||
|
if (!this->ParseMultiValueTag(line, parsedLine, state))
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case LineSingleValueTag:
|
||||||
|
if (!this->ParseSingleValueTag(line, parsedLine, state))
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case LineKeyValuePair:
|
||||||
|
if (!this->ParseKeyValuePair(line, parsedLine, state))
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case LineVerbatim:
|
||||||
|
parsedLine.CopyVerbatim(line);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (parsedLine.IsComment())
|
||||||
|
continue;
|
||||||
|
if (!state.Process(parsedLine, output, this->LastResult))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
while (state.ReadLine(input, line));
|
||||||
|
return state.Finished(this->LastResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParseBOM(std::istream& input,
|
||||||
|
std::string& line,
|
||||||
|
State& state)
|
||||||
|
{
|
||||||
|
char bom[4];
|
||||||
|
if (!input.get(bom, 4))
|
||||||
|
{
|
||||||
|
this->LastResult.SetError(ResultErrorReadingInput, 1);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this->LastResult.HadBOM =
|
||||||
|
(bom[0] == char(0xEF) && bom[1] == char(0xBB) && bom[2] == char(0xBF));
|
||||||
|
if (!state.ReadLine(input, line))
|
||||||
|
{
|
||||||
|
this->LastResult.SetError(ResultErrorReadingInput, 1);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!this->LastResult.HadBOM)
|
||||||
|
line = bom + line; // it wasn't a BOM, prepend it to first line
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParseMultiValueTag(const std::string& line,
|
||||||
|
ParsedLine& parsedLine,
|
||||||
|
State& state)
|
||||||
|
{
|
||||||
|
size_t idxEqualSign = line.find('=');
|
||||||
|
const std::string& fullTag = line.substr(0, idxEqualSign);
|
||||||
|
if (!this->ParseTag(fullTag, parsedLine, state))
|
||||||
|
return false;
|
||||||
|
if (idxEqualSign != line.npos)
|
||||||
|
{
|
||||||
|
size_t idxFieldStart = idxEqualSign + 1;
|
||||||
|
if (idxFieldStart < line.size())
|
||||||
|
{
|
||||||
|
size_t idxParsing = idxFieldStart;
|
||||||
|
bool inQuotes = false;
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
idxParsing = line.find_first_of(",\"", idxParsing);
|
||||||
|
bool fieldOver = false;
|
||||||
|
if (idxParsing == line.npos)
|
||||||
|
{
|
||||||
|
fieldOver = true;
|
||||||
|
if (inQuotes)
|
||||||
|
{
|
||||||
|
this->LastResult.SetError(ResultErrorInputStructure,
|
||||||
|
state.GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (line[idxParsing] == ',' && !inQuotes)
|
||||||
|
fieldOver = true;
|
||||||
|
else if (line[idxParsing] == '"')
|
||||||
|
inQuotes = !inQuotes;
|
||||||
|
if (fieldOver)
|
||||||
|
{
|
||||||
|
if (!this->ParseValue(line.substr(idxFieldStart,
|
||||||
|
idxParsing - idxFieldStart),
|
||||||
|
parsedLine))
|
||||||
|
return false;
|
||||||
|
if (idxParsing == line.npos)
|
||||||
|
break; //end of last field
|
||||||
|
idxFieldStart = idxParsing + 1;
|
||||||
|
}
|
||||||
|
++idxParsing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParseSingleValueTag(const std::string& line,
|
||||||
|
ParsedLine& parsedLine,
|
||||||
|
State& state)
|
||||||
|
{
|
||||||
|
size_t idxEqualSign = line.find('=');
|
||||||
|
const std::string& fullTag = line.substr(0, idxEqualSign);
|
||||||
|
if (!this->ParseTag(fullTag, parsedLine, state))
|
||||||
|
return false;
|
||||||
|
if (idxEqualSign != line.npos)
|
||||||
|
{
|
||||||
|
if (!this->ParseValue(line.substr(idxEqualSign + 1), parsedLine))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParseKeyValuePair(const std::string& line,
|
||||||
|
ParsedLine& parsedLine,
|
||||||
|
State& /*state*/)
|
||||||
|
{
|
||||||
|
size_t idxEqualSign = line.find('=');
|
||||||
|
if (idxEqualSign == line.npos)
|
||||||
|
{
|
||||||
|
parsedLine.CopyVerbatim(line);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
const std::string& key = line.substr(0, idxEqualSign);
|
||||||
|
parsedLine.SetTag(cmSystemTools::TrimWhitespace(key));
|
||||||
|
const std::string& value = line.substr(idxEqualSign + 1);
|
||||||
|
parsedLine.AddValue(cmSystemTools::TrimWhitespace(value));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParseTag(const std::string& fullTag,
|
||||||
|
ParsedLine& parsedLine,
|
||||||
|
State& state)
|
||||||
|
{
|
||||||
|
size_t idxLeftParen = fullTag.find('(');
|
||||||
|
if (idxLeftParen == fullTag.npos)
|
||||||
|
{
|
||||||
|
parsedLine.SetTag(cmSystemTools::TrimWhitespace(fullTag));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
parsedLine.SetTag(
|
||||||
|
cmSystemTools::TrimWhitespace(fullTag.substr(0, idxLeftParen)));
|
||||||
|
size_t idxRightParen = fullTag.rfind(')');
|
||||||
|
if (idxRightParen == fullTag.npos)
|
||||||
|
{
|
||||||
|
this->LastResult.SetError(ResultErrorInputStructure,
|
||||||
|
state.GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const std::string& arg = cmSystemTools::TrimWhitespace(
|
||||||
|
fullTag.substr(idxLeftParen + 1, idxRightParen - idxLeftParen - 1));
|
||||||
|
if (arg[0] == '"')
|
||||||
|
{
|
||||||
|
if (arg[arg.size() - 1] != '"')
|
||||||
|
{
|
||||||
|
this->LastResult.SetError(ResultErrorInputStructure,
|
||||||
|
state.GetCurrentLine());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
parsedLine.SetQuotedArg(arg.substr(1, arg.size() - 2));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
parsedLine.SetArg(arg);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmVisualStudioSlnParser::ParseValue(const std::string& value,
|
||||||
|
ParsedLine& parsedLine)
|
||||||
|
{
|
||||||
|
const std::string& trimmed = cmSystemTools::TrimWhitespace(value);
|
||||||
|
if (trimmed.empty())
|
||||||
|
parsedLine.AddValue(trimmed);
|
||||||
|
else if (trimmed[0] == '"' && trimmed[trimmed.size() - 1] == '"')
|
||||||
|
parsedLine.AddQuotedValue(trimmed.substr(1, trimmed.size() - 2));
|
||||||
|
else
|
||||||
|
parsedLine.AddValue(trimmed);
|
||||||
|
return true;
|
||||||
|
}
|
|
@ -0,0 +1,118 @@
|
||||||
|
/*============================================================================
|
||||||
|
CMake - Cross Platform Makefile Generator
|
||||||
|
Copyright 2000-2013 Kitware, Inc., Insight Software Consortium
|
||||||
|
|
||||||
|
Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
see accompanying file Copyright.txt for details.
|
||||||
|
|
||||||
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
See the License for more information.
|
||||||
|
============================================================================*/
|
||||||
|
#ifndef cmVisualStudioSlnParser_h
|
||||||
|
#define cmVisualStudioSlnParser_h
|
||||||
|
|
||||||
|
#include "cmStandardIncludes.h"
|
||||||
|
|
||||||
|
#include <bitset>
|
||||||
|
|
||||||
|
|
||||||
|
class cmSlnData;
|
||||||
|
|
||||||
|
|
||||||
|
class cmVisualStudioSlnParser
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum ParseResult
|
||||||
|
{
|
||||||
|
ResultOK = 0,
|
||||||
|
|
||||||
|
ResultInternalError = -1,
|
||||||
|
ResultExternalError = 1,
|
||||||
|
|
||||||
|
ResultErrorOpeningInput = ResultExternalError,
|
||||||
|
ResultErrorReadingInput,
|
||||||
|
ResultErrorInputStructure,
|
||||||
|
ResultErrorInputData,
|
||||||
|
|
||||||
|
ResultErrorBadInternalState = ResultInternalError,
|
||||||
|
ResultErrorUnsupportedDataGroup = ResultInternalError - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
enum DataGroup
|
||||||
|
{
|
||||||
|
DataGroupProjectsBit,
|
||||||
|
DataGroupProjectDependenciesBit,
|
||||||
|
DataGroupSolutionConfigurationsBit,
|
||||||
|
DataGroupProjectConfigurationsBit,
|
||||||
|
DataGroupSolutionFiltersBit,
|
||||||
|
DataGroupGenericGlobalSectionsBit,
|
||||||
|
DataGroupCount
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef std::bitset<DataGroupCount> DataGroupSet;
|
||||||
|
|
||||||
|
static const DataGroupSet DataGroupProjects;
|
||||||
|
static const DataGroupSet DataGroupProjectDependencies;
|
||||||
|
static const DataGroupSet DataGroupSolutionConfigurations;
|
||||||
|
static const DataGroupSet DataGroupProjectConfigurations;
|
||||||
|
static const DataGroupSet DataGroupSolutionFilters;
|
||||||
|
static const DataGroupSet DataGroupGenericGlobalSections;
|
||||||
|
static const DataGroupSet DataGroupAll;
|
||||||
|
|
||||||
|
bool Parse(std::istream& input,
|
||||||
|
cmSlnData& output,
|
||||||
|
DataGroupSet dataGroups = DataGroupAll);
|
||||||
|
|
||||||
|
bool ParseFile(const std::string& file,
|
||||||
|
cmSlnData& output,
|
||||||
|
DataGroupSet dataGroups = DataGroupAll);
|
||||||
|
|
||||||
|
ParseResult GetParseResult() const;
|
||||||
|
|
||||||
|
size_t GetParseResultLine() const;
|
||||||
|
|
||||||
|
bool GetParseHadBOM() const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
class State;
|
||||||
|
friend class State;
|
||||||
|
class ParsedLine;
|
||||||
|
|
||||||
|
struct ResultData
|
||||||
|
{
|
||||||
|
ParseResult Result;
|
||||||
|
size_t ResultLine;
|
||||||
|
bool HadBOM;
|
||||||
|
|
||||||
|
ResultData();
|
||||||
|
void Clear();
|
||||||
|
void SetError(ParseResult error, size_t line);
|
||||||
|
} LastResult;
|
||||||
|
|
||||||
|
bool IsDataGroupSetSupported(DataGroupSet dataGroups) const;
|
||||||
|
|
||||||
|
bool ParseImpl(std::istream& input, cmSlnData& output, State& state);
|
||||||
|
|
||||||
|
bool ParseBOM(std::istream& input, std::string& line, State& state);
|
||||||
|
|
||||||
|
bool ParseMultiValueTag(const std::string& line,
|
||||||
|
ParsedLine& parsedLine,
|
||||||
|
State& state);
|
||||||
|
|
||||||
|
bool ParseSingleValueTag(const std::string& line,
|
||||||
|
ParsedLine& parsedLine,
|
||||||
|
State& state);
|
||||||
|
|
||||||
|
bool ParseKeyValuePair(const std::string& line,
|
||||||
|
ParsedLine& parsedLine,
|
||||||
|
State& state);
|
||||||
|
|
||||||
|
bool ParseTag(const std::string& fullTag,
|
||||||
|
ParsedLine& parsedLine,
|
||||||
|
State& state);
|
||||||
|
|
||||||
|
bool ParseValue(const std::string& value, ParsedLine& parsedLine);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -44,7 +44,7 @@ struct CommandLineArgumentsCallbackStructure;
|
||||||
*
|
*
|
||||||
* For the variable interface you associate variable with each argument. When
|
* For the variable interface you associate variable with each argument. When
|
||||||
* the argument is specified, the variable is set to the specified value casted
|
* the argument is specified, the variable is set to the specified value casted
|
||||||
* to the apropriate type. For boolean (NO_ARGUMENT), the value is "1".
|
* to the appropriate type. For boolean (NO_ARGUMENT), the value is "1".
|
||||||
*
|
*
|
||||||
* Both interfaces can be used at the same time.
|
* Both interfaces can be used at the same time.
|
||||||
*
|
*
|
||||||
|
@ -99,7 +99,7 @@ public:
|
||||||
STRING_TYPE, // The variable is string (char*)
|
STRING_TYPE, // The variable is string (char*)
|
||||||
STL_STRING_TYPE, // The variable is string (char*)
|
STL_STRING_TYPE, // The variable is string (char*)
|
||||||
VECTOR_INT_TYPE, // The variable is integer (int)
|
VECTOR_INT_TYPE, // The variable is integer (int)
|
||||||
VECTOR_BOOL_TYPE, // The vairable is boolean (bool)
|
VECTOR_BOOL_TYPE, // The variable is boolean (bool)
|
||||||
VECTOR_DOUBLE_TYPE, // The variable is float (double)
|
VECTOR_DOUBLE_TYPE, // The variable is float (double)
|
||||||
VECTOR_STRING_TYPE, // The variable is string (char*)
|
VECTOR_STRING_TYPE, // The variable is string (char*)
|
||||||
VECTOR_STL_STRING_TYPE, // The variable is string (char*)
|
VECTOR_STL_STRING_TYPE, // The variable is string (char*)
|
||||||
|
@ -128,7 +128,7 @@ public:
|
||||||
void ProcessArgument(const char* arg);
|
void ProcessArgument(const char* arg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method will parse arguments and call apropriate methods.
|
* This method will parse arguments and call appropriate methods.
|
||||||
*/
|
*/
|
||||||
int Parse();
|
int Parse();
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Add handler for argument which is going to set the variable to the
|
* Add handler for argument which is going to set the variable to the
|
||||||
* specified value. If the argument is specified, the option is casted to the
|
* specified value. If the argument is specified, the option is casted to the
|
||||||
* apropriate type.
|
* appropriate type.
|
||||||
*/
|
*/
|
||||||
void AddArgument(const char* argument, ArgumentTypeEnum type,
|
void AddArgument(const char* argument, ArgumentTypeEnum type,
|
||||||
bool* variable, const char* help);
|
bool* variable, const char* help);
|
||||||
|
@ -160,7 +160,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Add handler for argument which is going to set the variable to the
|
* Add handler for argument which is going to set the variable to the
|
||||||
* specified value. If the argument is specified, the option is casted to the
|
* specified value. If the argument is specified, the option is casted to the
|
||||||
* apropriate type. This will handle the multi argument values.
|
* appropriate type. This will handle the multi argument values.
|
||||||
*/
|
*/
|
||||||
void AddArgument(const char* argument, ArgumentTypeEnum type,
|
void AddArgument(const char* argument, ArgumentTypeEnum type,
|
||||||
kwsys_stl::vector<bool>* variable, const char* help);
|
kwsys_stl::vector<bool>* variable, const char* help);
|
||||||
|
|
|
@ -772,7 +772,7 @@ static int kwsys_shared_forward_get_settings(const char* self_path,
|
||||||
const char** dir;
|
const char** dir;
|
||||||
for(dir = search_path; *dir; ++dir)
|
for(dir = search_path; *dir; ++dir)
|
||||||
{
|
{
|
||||||
/* Add seperator between path components. */
|
/* Add separator between path components. */
|
||||||
if(dir != search_path)
|
if(dir != search_path)
|
||||||
{
|
{
|
||||||
strcat(ldpath, kwsys_shared_forward_path_sep);
|
strcat(ldpath, kwsys_shared_forward_path_sep);
|
||||||
|
|
|
@ -117,8 +117,8 @@ public:
|
||||||
// Get total system RAM in units of KiB available to this process.
|
// Get total system RAM in units of KiB available to this process.
|
||||||
// This may differ from the host available if a per-process resource
|
// This may differ from the host available if a per-process resource
|
||||||
// limit is applied. per-process memory limits are applied on unix
|
// limit is applied. per-process memory limits are applied on unix
|
||||||
// system via rlimit api. Resource limits that are not imposed via
|
// system via rlimit API. Resource limits that are not imposed via
|
||||||
// rlimit api may be reported to us via an application specified
|
// rlimit API may be reported to us via an application specified
|
||||||
// environment variable.
|
// environment variable.
|
||||||
LongLong GetProcMemoryAvailable(
|
LongLong GetProcMemoryAvailable(
|
||||||
const char *hostLimitEnvVarName=NULL,
|
const char *hostLimitEnvVarName=NULL,
|
||||||
|
|
|
@ -2741,12 +2741,12 @@ bool SystemTools::FileIsDirectory(const char* name)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove any trailing slash from the name.
|
// Remove any trailing slash from the name except in a root component.
|
||||||
char local_buffer[KWSYS_SYSTEMTOOLS_MAXPATH];
|
char local_buffer[KWSYS_SYSTEMTOOLS_MAXPATH];
|
||||||
std::string string_buffer;
|
std::string string_buffer;
|
||||||
size_t last = length-1;
|
size_t last = length-1;
|
||||||
if(last > 0 && (name[last] == '/' || name[last] == '\\')
|
if(last > 0 && (name[last] == '/' || name[last] == '\\')
|
||||||
&& strcmp(name, "/") !=0)
|
&& strcmp(name, "/") !=0 && name[last-1] != ':')
|
||||||
{
|
{
|
||||||
if(last < sizeof(local_buffer))
|
if(last < sizeof(local_buffer))
|
||||||
{
|
{
|
||||||
|
@ -4011,7 +4011,7 @@ void SystemTools::SplitProgramFromArgs(const char* path,
|
||||||
args = dir.substr(spacePos, dir.size()-spacePos);
|
args = dir.substr(spacePos, dir.size()-spacePos);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Now try and find the the program in the path
|
// Now try and find the program in the path
|
||||||
findProg = SystemTools::FindProgram(tryProg.c_str(), e);
|
findProg = SystemTools::FindProgram(tryProg.c_str(), e);
|
||||||
if(findProg.size())
|
if(findProg.size())
|
||||||
{
|
{
|
||||||
|
|
|
@ -766,7 +766,7 @@ public:
|
||||||
static kwsys_stl::string GetCurrentWorkingDirectory(bool collapse =true);
|
static kwsys_stl::string GetCurrentWorkingDirectory(bool collapse =true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change directory the the directory specified
|
* Change directory to the directory specified
|
||||||
*/
|
*/
|
||||||
static int ChangeDirectory(const char* dir);
|
static int ChangeDirectory(const char* dir);
|
||||||
|
|
||||||
|
|
|
@ -109,9 +109,9 @@ int testDynamicLoader(int argc, char *argv[])
|
||||||
|
|
||||||
// dlopen() on Syllable before 11/22/2007 doesn't return 0 on error
|
// dlopen() on Syllable before 11/22/2007 doesn't return 0 on error
|
||||||
#ifndef __SYLLABLE__
|
#ifndef __SYLLABLE__
|
||||||
// Make sure that inexistant lib is giving correct result
|
// Make sure that inexistent lib is giving correct result
|
||||||
res += TestDynamicLoader("azerty_", "foo_bar",0,0,0);
|
res += TestDynamicLoader("azerty_", "foo_bar",0,0,0);
|
||||||
// Make sure that random binary file cannnot be assimilated as dylib
|
// Make sure that random binary file cannot be assimilated as dylib
|
||||||
res += TestDynamicLoader(TEST_SYSTEMTOOLS_BIN_FILE, "wp",0,0,0);
|
res += TestDynamicLoader(TEST_SYSTEMTOOLS_BIN_FILE, "wp",0,0,0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -114,3 +114,11 @@ endif()
|
||||||
# shortcutting of the evaluation by returning an empty string.
|
# shortcutting of the evaluation by returning an empty string.
|
||||||
set(_exe_test $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
|
set(_exe_test $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
|
||||||
target_link_libraries(targetC $<$<AND:${_exe_test},${_exe_test}>:depG>)
|
target_link_libraries(targetC $<$<AND:${_exe_test},${_exe_test}>:depG>)
|
||||||
|
|
||||||
|
add_library(libConsumer empty.cpp)
|
||||||
|
# This line causes $<$<CONFIG:Debug>:depA> to be used when
|
||||||
|
# determining the include directories for libConsumer based on the
|
||||||
|
# interface properties of its LINK_LIBRARIES. Because the above expression
|
||||||
|
# evaluates to the empty string in non-Debug cases, ensure that that causes
|
||||||
|
# no problems.
|
||||||
|
target_link_libraries(libConsumer debug depA)
|
||||||
|
|
|
@ -12,6 +12,14 @@ set(CMakeLib_TESTS
|
||||||
testXMLSafe
|
testXMLSafe
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 AND NOT UNIX) # Just if(WIN32) when CMake >= 2.8.4 is required
|
||||||
|
list(APPEND CMakeLib_TESTS
|
||||||
|
testVisualStudioSlnParser
|
||||||
|
)
|
||||||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testVisualStudioSlnParser.h.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/testVisualStudioSlnParser.h @ONLY)
|
||||||
|
endif()
|
||||||
|
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testXMLParser.h.in
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testXMLParser.h.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/testXMLParser.h @ONLY)
|
${CMAKE_CURRENT_BINARY_DIR}/testXMLParser.h @ONLY)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,185 @@
|
||||||
|
#include "testVisualStudioSlnParser.h"
|
||||||
|
|
||||||
|
#include "cmVisualStudioSlnData.h"
|
||||||
|
#include "cmVisualStudioSlnParser.h"
|
||||||
|
|
||||||
|
#include <cmsys/ios/iostream>
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
static bool parsedRight(cmVisualStudioSlnParser& parser,
|
||||||
|
const std::string& file, cmSlnData& data,
|
||||||
|
cmVisualStudioSlnParser::ParseResult expected =
|
||||||
|
cmVisualStudioSlnParser::ResultOK)
|
||||||
|
{
|
||||||
|
if (parser.ParseFile(SOURCE_DIR "/testVisualStudioSlnParser_data/" + file
|
||||||
|
+ "." SLN_EXTENSION,
|
||||||
|
data, cmVisualStudioSlnParser::DataGroupProjects))
|
||||||
|
{
|
||||||
|
if (expected == cmVisualStudioSlnParser::ResultOK)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (parser.GetParseResult() == expected)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cmsys_ios::cerr << "cmVisualStudioSlnParser mis-parsed " << file
|
||||||
|
<< "." SLN_EXTENSION << "; expected result " << expected
|
||||||
|
<< ", got " << parser.GetParseResult()
|
||||||
|
<< cmsys_ios::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
int testVisualStudioSlnParser(int, char*[])
|
||||||
|
{
|
||||||
|
cmVisualStudioSlnParser parser;
|
||||||
|
|
||||||
|
// Test clean parser
|
||||||
|
if (parser.GetParseResult() != cmVisualStudioSlnParser::ResultOK)
|
||||||
|
{
|
||||||
|
cmsys_ios::cerr << "cmVisualStudioSlnParser initialisation failed"
|
||||||
|
<< cmsys_ios::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test parsing valid sln
|
||||||
|
{
|
||||||
|
cmSlnData data;
|
||||||
|
if (!parsedRight(parser, "valid", data))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
const std::vector<cmSlnProjectEntry>& projects = data.GetProjects();
|
||||||
|
const char * const names[] =
|
||||||
|
{
|
||||||
|
"3rdParty", "ALL_BUILD", "CMakeLib", "CMakeLibTests",
|
||||||
|
"CMakePredefinedTargets", "CPackLib", "CTestDashboardTargets", "CTestLib",
|
||||||
|
"Continuous", "Documentation",
|
||||||
|
"Experimental", "INSTALL", "KWSys", "LIBCURL", "Nightly",
|
||||||
|
"NightlyMemoryCheck", "PACKAGE", "RUN_TESTS", "Tests", "Utilities",
|
||||||
|
"Win9xCompat", "ZERO_CHECK", "cmIML_test", "cmake", "cmbzip2", "cmcldeps",
|
||||||
|
"cmcompress", "cmcurl", "cmexpat", "cmlibarchive", "cmsys",
|
||||||
|
"cmsysEncodeExecutable", "cmsysProcessFwd9x", "cmsysTestDynload",
|
||||||
|
"cmsysTestProcess", "cmsysTestSharedForward", "cmsysTestsC",
|
||||||
|
"cmsysTestsCxx", "cmsys_c", "cmw9xcom", "cmzlib", "cpack", "ctest",
|
||||||
|
"documentation", "memcheck_fail", "pseudo_BC", "pseudo_purify",
|
||||||
|
"pseudo_valgrind", "test_clean", "uninstall"
|
||||||
|
};
|
||||||
|
const size_t expectedProjectCount = sizeof(names) / sizeof(*names);
|
||||||
|
if (projects.size() != expectedProjectCount)
|
||||||
|
{
|
||||||
|
cmsys_ios::cerr << "cmVisualStudioSlnParser returned bad number of "
|
||||||
|
<< "projects (" << projects.size() << " instead of "
|
||||||
|
<< expectedProjectCount << ')'
|
||||||
|
<< cmsys_ios::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
for (size_t idx = 0; idx < expectedProjectCount; ++idx)
|
||||||
|
{
|
||||||
|
if (projects[idx].GetName() != names[idx])
|
||||||
|
{
|
||||||
|
cmsys_ios::cerr << "cmVisualStudioSlnParser returned bad project #"
|
||||||
|
<< idx << "; expected \"" << names[idx] << "\", got \""
|
||||||
|
<< projects[idx].GetName() << '"'
|
||||||
|
<< cmsys_ios::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (projects[0].GetRelativePath() != "Utilities\\3rdParty")
|
||||||
|
{
|
||||||
|
cmsys_ios::cerr << "cmVisualStudioSlnParser returned bad relative path of "
|
||||||
|
<< "project 3rdParty; expected \"Utilities\\3rdParty\", "
|
||||||
|
<< "got \"" << projects[0].GetRelativePath() << '"'
|
||||||
|
<< cmsys_ios::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (projects[2].GetGUID() != "{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}")
|
||||||
|
{
|
||||||
|
cmsys_ios::cerr << "cmVisualStudioSlnParser returned bad relative path of "
|
||||||
|
<< "project CMakeLib; expected "
|
||||||
|
<< "\"{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}\", "
|
||||||
|
<< "got \"" << projects[2].GetGUID() << '"'
|
||||||
|
<< cmsys_ios::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test BOM parsing
|
||||||
|
{
|
||||||
|
cmSlnData data;
|
||||||
|
|
||||||
|
if (!parsedRight(parser, "bom", data))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (!parser.GetParseHadBOM())
|
||||||
|
{
|
||||||
|
cmsys_ios::cerr << "cmVisualStudioSlnParser didn't find BOM in bom."
|
||||||
|
<< SLN_EXTENSION
|
||||||
|
<< cmsys_ios::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!parsedRight(parser, "nobom", data))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (parser.GetParseHadBOM())
|
||||||
|
{
|
||||||
|
cmsys_ios::cerr << "cmVisualStudioSlnParser found BOM in nobom."
|
||||||
|
<< SLN_EXTENSION
|
||||||
|
<< cmsys_ios::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test invalid sln
|
||||||
|
{
|
||||||
|
{
|
||||||
|
cmSlnData data;
|
||||||
|
if (!parsedRight(parser, "err-nonexistent", data,
|
||||||
|
cmVisualStudioSlnParser::ResultErrorOpeningInput))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
cmSlnData data;
|
||||||
|
if (!parsedRight(parser, "err-empty", data,
|
||||||
|
cmVisualStudioSlnParser::ResultErrorReadingInput))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const char * const files[] =
|
||||||
|
{
|
||||||
|
"header", "projectArgs", "topLevel", "projectContents", "projectSection",
|
||||||
|
"global", "unclosed", "strayQuote", "strayParen", "strayQuote2"
|
||||||
|
};
|
||||||
|
for (size_t idx = 0; idx < sizeof(files) / sizeof(files[0]); ++idx)
|
||||||
|
{
|
||||||
|
cmSlnData data;
|
||||||
|
if (!parsedRight(parser, std::string("err-structure-") + files[idx], data,
|
||||||
|
cmVisualStudioSlnParser::ResultErrorInputStructure))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
cmSlnData data;
|
||||||
|
if (!parsedRight(parser, "err-data", data,
|
||||||
|
cmVisualStudioSlnParser::ResultErrorInputData))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// All is well
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
#ifndef testVisualStudioSlnParser_h
|
||||||
|
#define testVisualStudioSlnParser_h
|
||||||
|
|
||||||
|
#define SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@"
|
||||||
|
#define SLN_EXTENSION "sln-file"
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1 @@
|
||||||
|
*.sln-file -crlf whitespace=cr-at-eol
|
|
@ -0,0 +1,2 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
|
@ -0,0 +1,6 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
EndProject
|
|
@ -0,0 +1,9 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
EndGlobalSection
|
|
@ -0,0 +1,4 @@
|
||||||
|
Microsoft Visual Studio Solution2 File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
EndProject
|
|
@ -0,0 +1,4 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj"
|
||||||
|
EndProject
|
|
@ -0,0 +1,6 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous2", "Continuous2.vcxproj", "{E5071091-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
EndProject
|
||||||
|
EndProject
|
|
@ -0,0 +1,11 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{90BC31D7-A3E8-4F04-8049-2236C239A044}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProject
|
||||||
|
EndProject
|
|
@ -0,0 +1,4 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}" = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
EndProject
|
|
@ -0,0 +1,4 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}
|
||||||
|
EndProject
|
|
@ -0,0 +1,4 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}) = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
EndProject
|
|
@ -0,0 +1,4 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
EndGlobalSection
|
|
@ -0,0 +1,5 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Global
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
EndGlobalSection
|
|
@ -0,0 +1,2 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
|
@ -0,0 +1,680 @@
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1} = {B025BD09-8389-4D9F-9150-F33418A664B1}
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8} = {94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8} = {1002C8FC-7242-4A69-AF51-C59BB10BA6D8}
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48} = {0283B293-0067-4D02-ADA6-892704398F48}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B} = {48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8} = {6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84} = {A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE} = {4810B052-899E-4CA5-A0BC-2E383F8AEFAE}
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996} = {29D5FCAF-20D0-4DEF-8529-F035C249E996}
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591} = {A0421DCA-AC3E-42D0-94AC-379A21A1E591}
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E} = {C6AF7E57-CE57-4462-AE1D-BF520701480E}
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7} = {F2CAAAB3-9568-4284-B8E3-13955183A6D7}
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0} = {D8294E4A-03C5-43D7-AE35-15603F502DC0}
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1} = {A4921D15-411F-436A-B6F3-F8381652A8E1}
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {60BEB3AF-B4EF-4363-8747-C40177BC2D9C}
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C} = {ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5} = {0E9E295F-3854-415B-AE9F-7B62F17932F5}
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644} = {4BFA4D7C-C6F7-4270-9E87-B922DCE05644}
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495} = {F77AD922-B4BC-43D7-B268-865312085495}
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88} = {8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C} = {1DFA0599-77CC-4768-B47A-107EEE86C20C}
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48} = {0E45A3EF-8636-46CF-94A3-7B5CE875DE48}
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C} = {CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CMakeLib", "Source\CMakeLib.vcxproj", "{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CMakeLibTests", "Tests\CMakeLib\CMakeLibTests.vcxproj", "{B025BD09-8389-4D9F-9150-F33418A664B1}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CPackLib", "Source\CPackLib.vcxproj", "{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CTestLib", "Source\CTestLib.vcxproj", "{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Experimental", "Experimental.vcxproj", "{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INSTALL", "INSTALL.vcxproj", "{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C} = {BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LIBCURL", "Utilities\cmcurl\LIBCURL.vcxproj", "{0283B293-0067-4D02-ADA6-892704398F48}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Nightly", "Nightly.vcxproj", "{7BAF09E0-DCD4-4567-9486-79E1E5F18333}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NightlyMemoryCheck", "NightlyMemoryCheck.vcxproj", "{D0413FDA-31C5-41C2-A53A-C1B87061EC96}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PACKAGE", "PACKAGE.vcxproj", "{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C} = {BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RUN_TESTS", "RUN_TESTS.vcxproj", "{D87B08A8-638E-43FA-96C2-404B41363D3B}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{90BC31D7-A3E8-4F04-8049-2236C239A044}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmIML_test", "Utilities\KWIML\test\cmIML_test.vcxproj", "{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmake", "Source\cmake.vcxproj", "{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmbzip2", "Utilities\cmbzip2\cmbzip2.vcxproj", "{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmcldeps", "Source\cmcldeps.vcxproj", "{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmcompress", "Utilities\cmcompress\cmcompress.vcxproj", "{561AD1BB-6DD3-466D-B270-3696DEE8C26C}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmcurl", "Utilities\cmcurl\cmcurl.vcxproj", "{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmexpat", "Utilities\cmexpat\cmexpat.vcxproj", "{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmlibarchive", "Utilities\cmlibarchive\libarchive\cmlibarchive.vcxproj", "{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsys", "Source\kwsys\cmsys.vcxproj", "{BDB424DC-15B3-4A06-A1E2-3D61380F359F}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE} = {4810B052-899E-4CA5-A0BC-2E383F8AEFAE}
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996} = {29D5FCAF-20D0-4DEF-8529-F035C249E996}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysEncodeExecutable", "Source\kwsys\cmsysEncodeExecutable.vcxproj", "{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysProcessFwd9x", "Source\kwsys\cmsysProcessFwd9x.vcxproj", "{29D5FCAF-20D0-4DEF-8529-F035C249E996}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestDynload", "Source\kwsys\cmsysTestDynload.vcxproj", "{A0421DCA-AC3E-42D0-94AC-379A21A1E591}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestProcess", "Source\kwsys\cmsysTestProcess.vcxproj", "{C6AF7E57-CE57-4462-AE1D-BF520701480E}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {60BEB3AF-B4EF-4363-8747-C40177BC2D9C}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestSharedForward", "Source\kwsys\cmsysTestSharedForward.vcxproj", "{F2CAAAB3-9568-4284-B8E3-13955183A6D7}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {60BEB3AF-B4EF-4363-8747-C40177BC2D9C}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestsC", "Source\kwsys\cmsysTestsC.vcxproj", "{D8294E4A-03C5-43D7-AE35-15603F502DC0}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {60BEB3AF-B4EF-4363-8747-C40177BC2D9C}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsysTestsCxx", "Source\kwsys\cmsysTestsCxx.vcxproj", "{A4921D15-411F-436A-B6F3-F8381652A8E1}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmsys_c", "Source\kwsys\cmsys_c.vcxproj", "{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE} = {4810B052-899E-4CA5-A0BC-2E383F8AEFAE}
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996} = {29D5FCAF-20D0-4DEF-8529-F035C249E996}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmw9xcom", "Source\cmw9xcom.vcxproj", "{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {561AD1BB-6DD3-466D-B270-3696DEE8C26C}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {25A91A7A-9C4E-420C-98BD-2D1F0165DA54}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {BDB424DC-15B3-4A06-A1E2-3D61380F359F}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmzlib", "Utilities\cmzlib\cmzlib.vcxproj", "{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpack", "Source\cpack.vcxproj", "{0E9E295F-3854-415B-AE9F-7B62F17932F5}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8} = {94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ctest", "Source\ctest.vcxproj", "{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2} = {59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8} = {1002C8FC-7242-4A69-AF51-C59BB10BA6D8}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "documentation", "Utilities\documentation.vcxproj", "{F77AD922-B4BC-43D7-B268-865312085495}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8} = {6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5} = {0E9E295F-3854-415B-AE9F-7B62F17932F5}
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644} = {4BFA4D7C-C6F7-4270-9E87-B922DCE05644}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memcheck_fail", "Tests\CTestTestMemcheck\memcheck_fail.vcxproj", "{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pseudo_BC", "Tests\CTestTestMemcheck\pseudo_BC.vcxproj", "{1DFA0599-77CC-4768-B47A-107EEE86C20C}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pseudo_purify", "Tests\CTestTestMemcheck\pseudo_purify.vcxproj", "{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pseudo_valgrind", "Tests\CTestTestMemcheck\pseudo_valgrind.vcxproj", "{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_clean", "Tests\test_clean.vcxproj", "{02D16A66-6D59-4A0E-ABB3-BD12926934FE}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uninstall", "uninstall.vcxproj", "{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {90BC31D7-A3E8-4F04-8049-2236C239A044}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CMakePredefinedTargets", "CMakePredefinedTargets", "{31CE49D7-85CA-41E2-83D2-CC6962519DB6}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CTestDashboardTargets", "CTestDashboardTargets", "{BD073C58-BAED-420E-80EA-DC9F52E21AF7}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documentation", "Documentation", "{8ECAB3CD-B434-426B-B63A-115919D393BC}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{964DC7DE-990A-4CA4-8395-10D9F9CB2A23}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{7E002D15-21D1-4927-B486-82E496444441}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3rdParty", "Utilities\3rdParty", "{0984A63C-130E-4B62-9A94-AAC28A88C137}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KWSys", "Utilities\KWSys", "{EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Win9xCompat", "Utilities\Win9xCompat", "{2485E202-B981-41E0-98CA-CF363437A4E4}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
MinSizeRel|x64 = MinSizeRel|x64
|
||||||
|
RelWithDebInfo|x64 = RelWithDebInfo|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.Release|x64.Build.0 = Release|x64
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{BC04E6F9-A1E4-43BA-88B3-6FBF45FA561C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.Release|x64.Build.0 = Release|x64
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{59BCCCCD-3AD1-4491-B8F4-C5793AC007E2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1}.Release|x64.Build.0 = Release|x64
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.Release|x64.Build.0 = Release|x64
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{94EAABE8-174B-4EE9-8EDF-C5FED49A31B8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.Release|x64.Build.0 = Release|x64
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{1002C8FC-7242-4A69-AF51-C59BB10BA6D8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48}.Release|x64.Build.0 = Release|x64
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{7BAF09E0-DCD4-4567-9486-79E1E5F18333}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{7BAF09E0-DCD4-4567-9486-79E1E5F18333}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{7BAF09E0-DCD4-4567-9486-79E1E5F18333}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{7BAF09E0-DCD4-4567-9486-79E1E5F18333}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{D0413FDA-31C5-41C2-A53A-C1B87061EC96}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{D0413FDA-31C5-41C2-A53A-C1B87061EC96}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{D0413FDA-31C5-41C2-A53A-C1B87061EC96}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{D0413FDA-31C5-41C2-A53A-C1B87061EC96}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{D87B08A8-638E-43FA-96C2-404B41363D3B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{D87B08A8-638E-43FA-96C2-404B41363D3B}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{D87B08A8-638E-43FA-96C2-404B41363D3B}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{D87B08A8-638E-43FA-96C2-404B41363D3B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044}.Release|x64.Build.0 = Release|x64
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.Release|x64.Build.0 = Release|x64
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{48D43A03-3C1B-439A-9517-8F2A2B4CEC3B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.Release|x64.Build.0 = Release|x64
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{6ADE54B3-3FDA-4E76-9B87-66D95E5265A8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.Release|x64.Build.0 = Release|x64
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.Release|x64.Build.0 = Release|x64
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{A51EB64E-E1EA-4B4A-8FDC-56ADFE635E84}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.Release|x64.Build.0 = Release|x64
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.Release|x64.Build.0 = Release|x64
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.Release|x64.Build.0 = Release|x64
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.Release|x64.Build.0 = Release|x64
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.Release|x64.Build.0 = Release|x64
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.Release|x64.Build.0 = Release|x64
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.Release|x64.Build.0 = Release|x64
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.Release|x64.Build.0 = Release|x64
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.Release|x64.Build.0 = Release|x64
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.Release|x64.Build.0 = Release|x64
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.Release|x64.Build.0 = Release|x64
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1}.Release|x64.Build.0 = Release|x64
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.Release|x64.Build.0 = Release|x64
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.Release|x64.Build.0 = Release|x64
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.Release|x64.Build.0 = Release|x64
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.Release|x64.Build.0 = Release|x64
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{0E9E295F-3854-415B-AE9F-7B62F17932F5}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.Release|x64.Build.0 = Release|x64
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{4BFA4D7C-C6F7-4270-9E87-B922DCE05644}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495}.Release|x64.Build.0 = Release|x64
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.Release|x64.Build.0 = Release|x64
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{8DF3790D-AF1B-4505-BA5B-4D61EF9FBE88}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.Release|x64.Build.0 = Release|x64
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{1DFA0599-77CC-4768-B47A-107EEE86C20C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.Release|x64.Build.0 = Release|x64
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{0E45A3EF-8636-46CF-94A3-7B5CE875DE48}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.Release|x64.Build.0 = Release|x64
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{CAEF2D10-B14D-4E0C-8B79-8AC767B12F7C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
{02D16A66-6D59-4A0E-ABB3-BD12926934FE}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{02D16A66-6D59-4A0E-ABB3-BD12926934FE}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{02D16A66-6D59-4A0E-ABB3-BD12926934FE}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{02D16A66-6D59-4A0E-ABB3-BD12926934FE}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{B5A9B8B7-53AC-46D7-9ADE-76F708A7189C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(NestedProjects) = preSolution
|
||||||
|
{3B126B2D-DEAA-4CDF-9F44-28D3600F5754} = {31CE49D7-85CA-41E2-83D2-CC6962519DB6}
|
||||||
|
{4C488FF0-7C06-47FE-A8FD-67DAD51A3E85} = {31CE49D7-85CA-41E2-83D2-CC6962519DB6}
|
||||||
|
{D87B08A8-638E-43FA-96C2-404B41363D3B} = {31CE49D7-85CA-41E2-83D2-CC6962519DB6}
|
||||||
|
{90BC31D7-A3E8-4F04-8049-2236C239A044} = {31CE49D7-85CA-41E2-83D2-CC6962519DB6}
|
||||||
|
{E5071092-DBFB-49E2-AF0F-E8B0FDEF6C89} = {BD073C58-BAED-420E-80EA-DC9F52E21AF7}
|
||||||
|
{B28E8445-DFD2-46EA-BA6C-C2A1864F2FB1} = {BD073C58-BAED-420E-80EA-DC9F52E21AF7}
|
||||||
|
{7BAF09E0-DCD4-4567-9486-79E1E5F18333} = {BD073C58-BAED-420E-80EA-DC9F52E21AF7}
|
||||||
|
{D0413FDA-31C5-41C2-A53A-C1B87061EC96} = {BD073C58-BAED-420E-80EA-DC9F52E21AF7}
|
||||||
|
{F77AD922-B4BC-43D7-B268-865312085495} = {8ECAB3CD-B434-426B-B63A-115919D393BC}
|
||||||
|
{B025BD09-8389-4D9F-9150-F33418A664B1} = {964DC7DE-990A-4CA4-8395-10D9F9CB2A23}
|
||||||
|
{0984A63C-130E-4B62-9A94-AAC28A88C137} = {7E002D15-21D1-4927-B486-82E496444441}
|
||||||
|
{EF1DFA45-6F7A-4760-8EB5-69A8A221FC54} = {7E002D15-21D1-4927-B486-82E496444441}
|
||||||
|
{2485E202-B981-41E0-98CA-CF363437A4E4} = {7E002D15-21D1-4927-B486-82E496444441}
|
||||||
|
{0283B293-0067-4D02-ADA6-892704398F48} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||||
|
{1C5345F9-9C47-4F4B-9760-7A74C9D35DE0} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||||
|
{561AD1BB-6DD3-466D-B270-3696DEE8C26C} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||||
|
{1342243A-C3D9-45A0-B4BC-65A8F16BCC9D} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||||
|
{459BD82A-588C-4BFD-B3E6-1E4E3BC1B1E3} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||||
|
{25A91A7A-9C4E-420C-98BD-2D1F0165DA54} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||||
|
{0B7FB622-7A90-490C-B4E4-2DE3112BB5E0} = {0984A63C-130E-4B62-9A94-AAC28A88C137}
|
||||||
|
{BDB424DC-15B3-4A06-A1E2-3D61380F359F} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{4810B052-899E-4CA5-A0BC-2E383F8AEFAE} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{29D5FCAF-20D0-4DEF-8529-F035C249E996} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{A0421DCA-AC3E-42D0-94AC-379A21A1E591} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{C6AF7E57-CE57-4462-AE1D-BF520701480E} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{F2CAAAB3-9568-4284-B8E3-13955183A6D7} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{D8294E4A-03C5-43D7-AE35-15603F502DC0} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{A4921D15-411F-436A-B6F3-F8381652A8E1} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{60BEB3AF-B4EF-4363-8747-C40177BC2D9C} = {EF1DFA45-6F7A-4760-8EB5-69A8A221FC54}
|
||||||
|
{ACC30B92-8B65-4A9D-9BF2-6BBD0B008C8C} = {2485E202-B981-41E0-98CA-CF363437A4E4}
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
|
@ -1495,6 +1495,29 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
|
||||||
unset(_last_test)
|
unset(_last_test)
|
||||||
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSExcludeFromDefaultBuild")
|
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSExcludeFromDefaultBuild")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_TEST_GENERATOR MATCHES "Visual Studio ([0-5]|[6-9][0-9])")
|
||||||
|
if(CMAKE_TEST_MAKEPROGRAM MATCHES "[mM][sS][bB][uU][iI][lL][dD]\\.[eE][xX][eE]")
|
||||||
|
set(MSBUILD_EXECUTABLE "${CMAKE_TEST_MAKEPROGRAM}")
|
||||||
|
else()
|
||||||
|
set(_FDIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;FrameworkDir32]")
|
||||||
|
set(_FVER "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;FrameworkVer32]")
|
||||||
|
find_program(MSBUILD_EXECUTABLE NAMES msbuild HINTS ${_FDIR}/${_FVER})
|
||||||
|
endif()
|
||||||
|
if(MSBUILD_EXECUTABLE)
|
||||||
|
add_test(NAME VSProjectInSubdir COMMAND ${CMAKE_CTEST_COMMAND}
|
||||||
|
--build-and-test
|
||||||
|
"${CMake_SOURCE_DIR}/Tests/VSProjectInSubdir"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/VSProjectInSubdir"
|
||||||
|
--build-two-config
|
||||||
|
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||||
|
--build-generator-toolset "${CMAKE_TEST_GENERATOR_TOOLSET}"
|
||||||
|
--build-makeprogram "${MSBUILD_EXECUTABLE}"
|
||||||
|
--build-project VSProjectInSubdir
|
||||||
|
--build-target test)
|
||||||
|
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSProjectInSubdir")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
|
@ -1637,6 +1660,20 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
|
||||||
# -S "${CMake_BINARY_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake"
|
# -S "${CMake_BINARY_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake"
|
||||||
# )
|
# )
|
||||||
|
|
||||||
|
# A test for ctest_build() with targets in subdirectories
|
||||||
|
if(CMAKE_TEST_GENERATOR_TOOLSET)
|
||||||
|
set(CMAKE_TEST_GENERATOR_TOOLSET_SELECTION "-T;${CMAKE_TEST_GENERATOR_TOOLSET};")
|
||||||
|
else()
|
||||||
|
set(CMAKE_TEST_GENERATOR_TOOLSET_SELECTION)
|
||||||
|
endif()
|
||||||
|
configure_file("${CMake_SOURCE_DIR}/Tests/CTestBuildCommandProjectInSubdir/CTestBuildCommandProjectInSubdir.cmake.in"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/CTestBuildCommandProjectInSubdir/CTestBuildCommandProjectInSubdir.cmake" @ONLY)
|
||||||
|
unset(CMAKE_TEST_GENERATOR_TOOLSET_SELECTION)
|
||||||
|
add_test(CTest.BuildCommand.ProjectInSubdir
|
||||||
|
${CMAKE_CTEST_COMMAND} -S "${CMake_BINARY_DIR}/Tests/CTestBuildCommandProjectInSubdir/CTestBuildCommandProjectInSubdir.cmake"
|
||||||
|
-DCMAKE_MAKE_PROGRAM:FILEPATH=${CMAKE_TEST_MAKEPROGRAM})
|
||||||
|
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CTestBuildCommandProjectInSubdir/Nested")
|
||||||
|
|
||||||
set(CTEST_TEST_UPDATE 1)
|
set(CTEST_TEST_UPDATE 1)
|
||||||
if(CTEST_TEST_UPDATE)
|
if(CTEST_TEST_UPDATE)
|
||||||
# Test CTest Update with Subversion
|
# Test CTest Update with Subversion
|
||||||
|
@ -2085,6 +2122,15 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
|
||||||
|
|
||||||
add_test(CTestBatchTest ${CMAKE_CTEST_COMMAND} -B)
|
add_test(CTestBatchTest ${CMAKE_CTEST_COMMAND} -B)
|
||||||
|
|
||||||
|
configure_file(
|
||||||
|
"${CMake_SOURCE_DIR}/Tests/CTestTestFdSetSize/test.cmake.in"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/CTestTestFdSetSize/test.cmake"
|
||||||
|
@ONLY ESCAPE_QUOTES)
|
||||||
|
add_test(CTestTestFdSetSize ${CMAKE_CTEST_COMMAND}
|
||||||
|
-S "${CMake_BINARY_DIR}/Tests/CTestTestFdSetSize/test.cmake" -j20 -V --timeout 120
|
||||||
|
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestFdSetSize/testOutput.log"
|
||||||
|
)
|
||||||
|
|
||||||
# Use macro, not function so that build can still be driven by CMake 2.4.
|
# Use macro, not function so that build can still be driven by CMake 2.4.
|
||||||
# After 2.6 is required, this could be a function without the extra 'set'
|
# After 2.6 is required, this could be a function without the extra 'set'
|
||||||
# calls.
|
# calls.
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
cmake_minimum_required(VERSION 2.8.10)
|
||||||
|
|
||||||
|
set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/VSProjectInSubdir")
|
||||||
|
set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestBuildCommandProjectInSubdir/Nested")
|
||||||
|
set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
|
||||||
|
set(CTEST_PROJECT_NAME "VSProjectInSubdir")
|
||||||
|
set(CTEST_BUILD_CONFIGURATION "@CTestTest_CONFIG@")
|
||||||
|
|
||||||
|
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
||||||
|
ctest_start(Experimental)
|
||||||
|
ctest_configure(OPTIONS "@CMAKE_TEST_GENERATOR_TOOLSET_SELECTION@-DCMAKE_MAKE_PROGRAM:FILEPATH=@CMAKE_TEST_MAKEPROGRAM@")
|
||||||
|
ctest_build(TARGET test)
|
|
@ -0,0 +1,9 @@
|
||||||
|
cmake_minimum_required (VERSION 2.8.10)
|
||||||
|
project (CTestTestFdSetSize)
|
||||||
|
include (CTest)
|
||||||
|
|
||||||
|
add_executable (Sleep sleep.c)
|
||||||
|
|
||||||
|
foreach (index RANGE 1 20)
|
||||||
|
add_test (TestSleep${index} Sleep)
|
||||||
|
endforeach ()
|
|
@ -0,0 +1 @@
|
||||||
|
set(CTEST_PROJECT_NAME "CTestTestFdSetSize")
|
|
@ -0,0 +1,16 @@
|
||||||
|
#if defined(_WIN32)
|
||||||
|
# include <windows.h>
|
||||||
|
#else
|
||||||
|
# include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* sleeps for 0.1 second */
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
Sleep(100);
|
||||||
|
#else
|
||||||
|
usleep(100 * 1000);
|
||||||
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
cmake_minimum_required(VERSION 2.8.10)
|
||||||
|
|
||||||
|
# Settings:
|
||||||
|
set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
|
||||||
|
set(CTEST_SITE "@SITE@")
|
||||||
|
set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-FdSetSize")
|
||||||
|
|
||||||
|
set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestFdSetSize")
|
||||||
|
set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestFdSetSize")
|
||||||
|
set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
|
||||||
|
set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
|
||||||
|
set(CTEST_CMAKE_GENERATOR_TOOLSET "@CMAKE_TEST_GENERATOR_TOOLSET@")
|
||||||
|
set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
|
||||||
|
set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
|
||||||
|
set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
|
||||||
|
|
||||||
|
ctest_start(Experimental)
|
||||||
|
ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||||
|
message("build")
|
||||||
|
ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||||
|
message("test")
|
||||||
|
ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" PARALLEL_LEVEL 20 RETURN_VALUE res)
|
||||||
|
message("done")
|
|
@ -634,86 +634,6 @@ int main()
|
||||||
cmPassed("WHILE command is working");
|
cmPassed("WHILE command is working");
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------
|
|
||||||
// Test FIND_FILE, FIND_PATH and various GET_FILENAME_COMPONENT combinations
|
|
||||||
|
|
||||||
#ifndef FILENAME_VAR_PATH_NAME
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"FILENAME_VAR_PATH_NAME is not defined.");
|
|
||||||
#else
|
|
||||||
if((strcmp(FILENAME_VAR_PATH_NAME, "Complex") == 0) ||
|
|
||||||
(strcmp(FILENAME_VAR_PATH_NAME, "ComplexOneConfig") == 0))
|
|
||||||
{
|
|
||||||
cmPassed("FILENAME_VAR_PATH_NAME == ", FILENAME_VAR_PATH_NAME);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"FILENAME_VAR_PATH_NAME == ", FILENAME_VAR_PATH_NAME);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FILENAME_VAR_NAME
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"FILENAME_VAR_NAME is not defined.");
|
|
||||||
#else
|
|
||||||
if(strcmp(FILENAME_VAR_NAME, "VarTests.cmake") != 0)
|
|
||||||
{
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"FILENAME_VAR_NAME == ", FILENAME_VAR_NAME);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cmPassed("FILENAME_VAR_NAME == ", FILENAME_VAR_NAME);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FILENAME_VAR_EXT
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"FILENAME_VAR_EXT is not defined.");
|
|
||||||
#else
|
|
||||||
if(strcmp(FILENAME_VAR_EXT, ".cmake") != 0)
|
|
||||||
{
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"FILENAME_VAR_EXT == ", FILENAME_VAR_EXT);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cmPassed("FILENAME_VAR_EXT == ", FILENAME_VAR_EXT);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FILENAME_VAR_NAME_WE
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"FILENAME_VAR_NAME_WE is not defined.");
|
|
||||||
#else
|
|
||||||
if(strcmp(FILENAME_VAR_NAME_WE, "VarTests") != 0)
|
|
||||||
{
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"FILENAME_VAR_NAME_WE == ", FILENAME_VAR_NAME_WE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cmPassed("FILENAME_VAR_NAME_WE == ", FILENAME_VAR_NAME_WE);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef PATH_VAR_NAME
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"PATH_VAR_NAME is not defined.");
|
|
||||||
#else
|
|
||||||
if((strcmp(PATH_VAR_NAME, "Complex") == 0) ||
|
|
||||||
(strcmp(PATH_VAR_NAME, "ComplexOneConfig") == 0))
|
|
||||||
{
|
|
||||||
cmPassed("PATH_VAR_NAME == ", PATH_VAR_NAME);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cmFailed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, "
|
|
||||||
"PATH_VAR_NAME == ", PATH_VAR_NAME);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
// Test LOAD_CACHE
|
// Test LOAD_CACHE
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue