Merge branch 'master' into vs12-generator
Resolve conflicts in Tests/Preprocess/CMakeLists.txt by keeping the side from 'master'.
This commit is contained in:
commit
4e5cb398ae
|
@ -34,7 +34,7 @@ if(CPACK_GENERATOR MATCHES "NSIS")
|
|||
set(CPACK_NSIS_MODIFY_PATH ON)
|
||||
endif()
|
||||
|
||||
# include the cpack options for qt dialog if they exisit
|
||||
# include the cpack options for qt dialog if they exist
|
||||
# they might not if qt was not enabled for the build
|
||||
include("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
|
||||
|
||||
|
|
669
ChangeLog.manual
669
ChangeLog.manual
|
@ -1,3 +1,672 @@
|
|||
Changes in CMake 2.8.11.1 (since 2.8.11)
|
||||
----------------------------------------
|
||||
Brad King (5):
|
||||
ExternalData: Do not re-stage staged object files
|
||||
try_compile: Fix quoting of libraries in generated CMakeLists.txt
|
||||
KWSys: Fix SystemTools::FileIsDirectory with long paths (#14176)
|
||||
FindBoost: Fix handling of \ in input paths (#14179)
|
||||
Xcode: Fix framework search paths in STATIC library targets (#14191)
|
||||
|
||||
Modestas Vainius (1):
|
||||
Fix test failures caused by regexp-sensitive characters in the build paths
|
||||
|
||||
Stephen Kelly (9):
|
||||
include_directories: Fix handling of empty or space-only entries
|
||||
try_compile: Trim whitespace from LINK_LIBRARIES entries
|
||||
cmTarget: Remove some hardcoding of transitive property names.
|
||||
GenexEval: Extract a getLinkedTargetsContent from TargetPropertyNode.
|
||||
GenexEval: Fix evaluation of INCLUDE_DIRECTORIES target property.
|
||||
GenexEval: Test evaluation of INCLUDE_DIRECTORIES target property.
|
||||
FindQt4: Don't fail if certain Qt modules are unavailable.
|
||||
Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules.
|
||||
Genex: Fix the HEAD target used for evaluated expressions
|
||||
|
||||
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)
|
||||
----------------------------------------------
|
||||
Alex Neundorf (1):
|
||||
|
|
|
@ -6,10 +6,9 @@ set(AM_MOC_OPTIONS @_moc_options@)
|
|||
set(AM_CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE "@CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE@")
|
||||
set(AM_CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@/")
|
||||
set(AM_CMAKE_SOURCE_DIR "@CMAKE_SOURCE_DIR@/")
|
||||
set(AM_QT_MOC_EXECUTABLE "@QT_MOC_EXECUTABLE@")
|
||||
set(AM_QT_MOC_EXECUTABLE "@_qt_moc_executable@")
|
||||
set(AM_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@/")
|
||||
set(AM_CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@/")
|
||||
set(AM_QT_VERSION_MAJOR "@QT_VERSION_MAJOR@" )
|
||||
set(AM_Qt5Core_VERSION_MAJOR "@Qt5Core_VERSION_MAJOR@" )
|
||||
set(AM_QT_VERSION_MAJOR "@_target_qt_version@")
|
||||
set(AM_TARGET_NAME @_moc_target_name@)
|
||||
set(AM_RELAXED_MODE "@_moc_relaxed_mode@")
|
||||
|
|
|
@ -55,7 +55,7 @@ if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
|
|||
TEST_BIG_ENDIAN(CMAKE_WORDS_BIGENDIAN)
|
||||
include (FindX11)
|
||||
|
||||
if("${X11_X11_INCLUDE_PATH}" MATCHES "^/usr/include$")
|
||||
if("${X11_X11_INCLUDE_PATH}" STREQUAL "/usr/include")
|
||||
set (CMAKE_X_CFLAGS "" CACHE STRING "X11 extra flags.")
|
||||
else()
|
||||
set (CMAKE_X_CFLAGS "-I${X11_X11_INCLUDE_PATH}" CACHE STRING
|
||||
|
|
|
@ -160,10 +160,9 @@
|
|||
# define COMPILER_ID "ADSP"
|
||||
|
||||
/* IAR Systems compiler for embedded systems.
|
||||
http://www.iar.com
|
||||
Not supported yet by CMake
|
||||
#elif defined(__IAR_SYSTEMS_ICC__)
|
||||
# define COMPILER_ID "IAR" */
|
||||
http://www.iar.com */
|
||||
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
|
||||
/* sdcc, the small devices C compiler for embedded systems,
|
||||
http://sdcc.sourceforge.net */
|
||||
|
|
|
@ -161,6 +161,11 @@
|
|||
#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# 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)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
# if defined(_SGI_COMPILER_VERSION)
|
||||
|
|
|
@ -15,6 +15,6 @@
|
|||
# determine the compiler to use for ASM using AT&T syntax, e.g. GNU as
|
||||
|
||||
set(ASM_DIALECT "-ATT")
|
||||
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ${_CMAKE_TOOLCHAIN_PREFIX}gas ${_CMAKE_TOOLCHAIN_PREFIX}as)
|
||||
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gas ${_CMAKE_TOOLCHAIN_PREFIX}as)
|
||||
include(CMakeDetermineASMCompiler)
|
||||
set(ASM_DIALECT)
|
||||
|
|
|
@ -39,8 +39,8 @@ if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
|||
endif()
|
||||
endif()
|
||||
else() # some specific assembler "dialect"
|
||||
if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
|
||||
message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT must be preset !")
|
||||
if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT AND NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST)
|
||||
message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT or CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST must be preset !")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -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_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)
|
||||
CMAKE_DETERMINE_COMPILER_ID_VENDOR(ASM${ASM_DIALECT})
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
# Find the nasm assembler. yasm (http://www.tortall.net/projects/yasm/) is nasm compatible
|
||||
|
||||
set(CMAKE_ASM_NASM_COMPILER_INIT nasm yasm)
|
||||
set(CMAKE_ASM_NASM_COMPILER_LIST nasm yasm)
|
||||
|
||||
if(NOT CMAKE_ASM_NASM_COMPILER)
|
||||
find_program(CMAKE_ASM_NASM_COMPILER nasm
|
||||
|
|
|
@ -120,6 +120,13 @@ if(NOT CMAKE_C_COMPILER_ID_RUN)
|
|||
set(CMAKE_C_COMPILER_ID)
|
||||
file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
|
||||
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)
|
||||
CMAKE_DETERMINE_COMPILER_ID(C CFLAGS CMakeCCompilerId.c)
|
||||
|
||||
|
|
|
@ -116,6 +116,13 @@ if(NOT CMAKE_CXX_COMPILER_ID_RUN)
|
|||
set(CMAKE_CXX_COMPILER_ID)
|
||||
file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
|
||||
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)
|
||||
CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS CMakeCXXCompilerId.cpp)
|
||||
|
||||
|
|
|
@ -28,6 +28,9 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
|
|||
if(DEFINED CMAKE_${lang}_VERBOSE_FLAG)
|
||||
set(CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_${lang}_VERBOSE_FLAG}")
|
||||
endif()
|
||||
if(CMAKE_${lang}_COMPILER_TARGET)
|
||||
set(CMAKE_FLAGS "${CMAKE_FLAGS} -DCMAKE_${lang}_COMPILER_TARGET=${CMAKE_${lang}_COMPILER_TARGET}")
|
||||
endif()
|
||||
try_compile(CMAKE_${lang}_ABI_COMPILED
|
||||
${CMAKE_BINARY_DIR} ${src}
|
||||
CMAKE_FLAGS "${CMAKE_FLAGS}"
|
||||
|
|
|
@ -131,6 +131,8 @@ Id flags: ${testflags}
|
|||
elseif("${id_arch}" STREQUAL "Itanium")
|
||||
set(id_machine_10 MachineIA64)
|
||||
set(id_arch ia64)
|
||||
elseif("${id_arch}" STREQUAL "ARM")
|
||||
set(id_machine_10 MachineARM)
|
||||
else()
|
||||
set(id_machine_6 x86)
|
||||
set(id_machine_10 MachineX86)
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
# determine the compiler to use for C programs
|
||||
# NOTE, a generator may set CMAKE_C_COMPILER before
|
||||
# determine the compiler to use for RC programs
|
||||
# NOTE, a generator may set CMAKE_RC_COMPILER before
|
||||
# loading this file to force a compiler.
|
||||
# use environment variable CCC first if defined by user, next use
|
||||
# the cmake variable CMAKE_GENERATOR_CC which can be defined by a generator
|
||||
# use environment variable RC first if defined by user, next use
|
||||
# the cmake variable CMAKE_GENERATOR_RC which can be defined by a generator
|
||||
# as a default compiler
|
||||
if(NOT CMAKE_RC_COMPILER)
|
||||
# prefer the environment variable CC
|
||||
# prefer the environment variable RC
|
||||
if($ENV{RC} MATCHES ".+")
|
||||
get_filename_component(CMAKE_RC_COMPILER_INIT $ENV{RC} PROGRAM PROGRAM_ARGS CMAKE_RC_FLAGS_ENV_INIT)
|
||||
if(CMAKE_RC_FLAGS_ENV_INIT)
|
||||
|
|
|
@ -1,32 +1,25 @@
|
|||
# - Includes a public function for assisting users in trying to determine the
|
||||
# Visual Studio service pack in use.
|
||||
#
|
||||
# Sets the passed in variable to one of the following values or an empty
|
||||
# string if unknown.
|
||||
# vc80
|
||||
# vc80sp1
|
||||
# vc90
|
||||
# vc90sp1
|
||||
# vc100
|
||||
# vc100sp1
|
||||
# vc110
|
||||
# - Determine the Visual Studio service pack of the 'cl' in use.
|
||||
# The functionality of this module has been superseded by the platform
|
||||
# variable CMAKE_<LANG>_COMPILER_VERSION that contains the compiler version
|
||||
# number.
|
||||
#
|
||||
# Usage:
|
||||
# ===========================
|
||||
#
|
||||
# if(MSVC)
|
||||
# include(CMakeDetermineVSServicePack)
|
||||
# DetermineVSServicePack( my_service_pack )
|
||||
#
|
||||
# if( my_service_pack )
|
||||
# message(STATUS "Detected: ${my_service_pack}")
|
||||
# endif()
|
||||
# endif()
|
||||
#
|
||||
# ===========================
|
||||
# Function DetermineVSServicePack sets the given variable to one of the
|
||||
# following values or an empty string if unknown:
|
||||
# vc80, vc80sp1
|
||||
# vc90, vc90sp1
|
||||
# vc100, vc100sp1
|
||||
# vc110, vc110sp1, vc110sp2
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2009-2011 Kitware, Inc.
|
||||
# Copyright 2009-2013 Kitware, Inc.
|
||||
# Copyright 2009-2010 Philip Lowman <philip@yhbt.com>
|
||||
# Copyright 2010-2011 Aaron C. meadows <cmake@shadowguarddev.com>
|
||||
#
|
||||
|
@ -57,6 +50,10 @@ function(_DetermineVSServicePackFromCompiler _OUT_VAR _cl_version)
|
|||
set(_version "vc100sp1")
|
||||
elseif(${_cl_version} VERSION_EQUAL "17.00.50727.1")
|
||||
set(_version "vc110")
|
||||
elseif(${_cl_version} VERSION_EQUAL "17.00.51106.1")
|
||||
set(_version "vc110sp1")
|
||||
elseif(${_cl_version} VERSION_EQUAL "17.00.60315.1")
|
||||
set(_version "vc110sp2")
|
||||
else()
|
||||
set(_version "")
|
||||
endif()
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# NAME = name of the package
|
||||
# COMPILER_ID = the CMake compiler ID for which the result is, i.e. GNU/Intel/Clang/MSVC, etc.
|
||||
# LANGUAGE = language for which the result will be used, i.e. C/CXX/Fortan/ASM
|
||||
# MODE = EXIST : only check for existance of the given package
|
||||
# MODE = EXIST : only check for existence of the given package
|
||||
# COMPILE : print the flags needed for compiling an object file which uses the given package
|
||||
# LINK : print the flags needed for linking when using the given package
|
||||
# QUIET = if TRUE, don't print anything
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
# MY_INSTALL_CONFIGURATIONS = "" (was not used)
|
||||
# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
|
||||
#
|
||||
# You can the continue and process these variables.
|
||||
# You can then continue and process these variables.
|
||||
#
|
||||
# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
|
||||
# another recognized keyword follows, this is interpreted as the beginning of
|
||||
|
|
|
@ -26,10 +26,11 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var obj
|
|||
set(linker "CMAKE_LINKER-NOTFOUND")
|
||||
if(CMAKE_LINKER)
|
||||
get_filename_component(linker ${CMAKE_LINKER} NAME)
|
||||
string(REGEX REPLACE "([][+.*?()^$])" "\\\\\\1" linker "${linker}")
|
||||
endif()
|
||||
# Construct a regex to match linker lines. It must match both the
|
||||
# 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(log "${log} link line regex: [${linker_regex}]\n")
|
||||
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@
|
||||
|
||||
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_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_SYSTEM_LOADED 1)
|
||||
|
|
|
@ -263,8 +263,8 @@
|
|||
#
|
||||
##variable
|
||||
# CPACK_PACKAGE_INSTALL_REGISTRY_KEY - Registry key used when
|
||||
# installing this project. This is only used
|
||||
# by installer for Windows.
|
||||
# installing this project. This is only used by installer for Windows.
|
||||
# The default value is based on the installation directory.
|
||||
##end
|
||||
##variable
|
||||
# CPACK_CREATE_DESKTOP_LINKS - List of desktop links to create.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
##end
|
||||
##module
|
||||
# - PackageMaker CPack generator (Mac OS X).
|
||||
# The following variable is specific to installers build on Mac OS X
|
||||
# The following variable is specific to installers built on Mac OS X
|
||||
# using PackageMaker:
|
||||
##end
|
||||
#
|
||||
|
|
|
@ -163,6 +163,8 @@
|
|||
# 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.
|
||||
# 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
|
||||
##variable
|
||||
# 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
|
||||
# section.
|
||||
##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.
|
||||
|
@ -666,6 +686,30 @@ if(CPACK_RPM_PACKAGE_RELOCATABLE)
|
|||
endforeach()
|
||||
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)
|
||||
# We should not forget to include symlinks (thus -o -type l)
|
||||
# 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}")
|
||||
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
|
||||
# - 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)
|
||||
file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
|
||||
"# -*- rpm-spec -*-
|
||||
|
@ -902,9 +953,9 @@ mv \"\@CPACK_TOPLEVEL_DIRECTORY\@/tmpBBroot\" $RPM_BUILD_ROOT
|
|||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
${CPACK_RPM_INSTALL_FILES}
|
||||
${CPACK_RPM_ABSOLUTE_INSTALL_FILES}
|
||||
${CPACK_RPM_USER_INSTALL_FILES}
|
||||
\@CPACK_RPM_INSTALL_FILES\@
|
||||
\@CPACK_RPM_ABSOLUTE_INSTALL_FILES\@
|
||||
\@CPACK_RPM_USER_INSTALL_FILES\@
|
||||
|
||||
%changelog
|
||||
\@CPACK_RPM_SPEC_CHANGELOG\@
|
||||
|
|
|
@ -84,13 +84,13 @@ if(BUILD_TESTING)
|
|||
endmacro()
|
||||
|
||||
macro(SET_IF_SET var val)
|
||||
if(NOT "${val}" MATCHES "^$")
|
||||
if(NOT "${val}" STREQUAL "")
|
||||
set("${var}" "${val}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(SET_IF_SET_AND_NOT_SET var val)
|
||||
if(NOT "${val}" MATCHES "^$")
|
||||
if(NOT "${val}" STREQUAL "")
|
||||
SET_IF_NOT_SET("${var}" "${val}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
|
|
@ -26,6 +26,12 @@ include(CheckCSourceCompiles)
|
|||
macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
|
||||
set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
|
||||
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}
|
||||
# Some compilers do not fail with a bad flag
|
||||
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 "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}")
|
||||
endmacro ()
|
||||
|
|
|
@ -26,6 +26,13 @@ include(CheckCXXSourceCompiles)
|
|||
macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
|
||||
set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
|
||||
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}
|
||||
# Some compilers do not fail with a bad flag
|
||||
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 "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}")
|
||||
endmacro ()
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# Check that the <function> is provided by libraries on the system and
|
||||
# store the result in a <variable>. This does not verify that any
|
||||
# system header file declares the function, only that it can be found
|
||||
# at link time (considure using CheckSymbolExists).
|
||||
# at link time (consider using CheckSymbolExists).
|
||||
#
|
||||
# The following variables may be set before calling this macro to
|
||||
# modify the way the check is run:
|
||||
|
|
|
@ -15,4 +15,4 @@
|
|||
message(SEND_ERROR
|
||||
"Modules/CheckSizeOf.cmake has been removed. "
|
||||
"Use Modules/CheckTypeSize.cmake instead. This "
|
||||
"compatability check may be removed before the next release!")
|
||||
"compatibility check may be removed before the next release!")
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
include(Compiler/Clang)
|
||||
__compiler_clang(CXX)
|
||||
|
||||
set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
|
||||
|
|
|
@ -24,4 +24,6 @@ macro(__compiler_clang lang)
|
|||
__compiler_gnu(${lang})
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
|
||||
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
|
||||
set(CMAKE_${lang}_COMPILE_OPTION_TARGET "-target ")
|
||||
endmacro()
|
||||
|
|
|
@ -1,2 +1,12 @@
|
|||
include(Compiler/GNU)
|
||||
__compiler_gnu(CXX)
|
||||
|
||||
if (WIN32)
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.6)
|
||||
set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fno-keep-inline-dllexport")
|
||||
endif()
|
||||
else()
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.2)
|
||||
set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -25,8 +25,12 @@ macro(__compiler_gnu lang)
|
|||
if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.4)
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
|
||||
endif()
|
||||
if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.2)
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
|
||||
endif()
|
||||
set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
|
||||
set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
|
||||
set(CMAKE_SYSROOT_FLAG "--sysroot=")
|
||||
|
||||
# Older versions of gcc (< 4.5) contain a bug causing them to report a missing
|
||||
# header file as a warning if depfiles are enabled, causing check_header_file
|
||||
|
|
|
@ -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)
|
|
@ -6,5 +6,9 @@ set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
|
|||
set(CMAKE_C_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
|
||||
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
|
||||
set(CMAKE_C_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
|
||||
set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
|
||||
|
|
|
@ -6,5 +6,9 @@ set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
|
|||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.0)
|
||||
set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
|
||||
set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
2C18F0B415DC1DC700593670 = {
|
||||
fileEncoding = 30;
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = @id_type@;
|
||||
explicitFileType = @id_type@;
|
||||
path = @id_src@;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
objects = {
|
||||
|
||||
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; };
|
||||
|
||||
08FB7794FE84155DC02AAC07 = {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
objects = {
|
||||
|
||||
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 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
|
@ -391,7 +391,7 @@ function(_ExternalData_arg target arg options var_file)
|
|||
# Regular expression to match associated files.
|
||||
string(REGEX REPLACE "^REGEX:" "" regex "${opt}")
|
||||
list(APPEND associated_regex "${regex}")
|
||||
elseif("x${opt}" MATCHES "^x:$")
|
||||
elseif(opt STREQUAL ":")
|
||||
# Activate series matching.
|
||||
set(series_option "${opt}")
|
||||
elseif("x${opt}" MATCHES "^[^][:/*?]+$")
|
||||
|
@ -551,7 +551,10 @@ function(_ExternalData_arg_find_files pattern regex)
|
|||
set(relname "${entry}")
|
||||
set(alg "")
|
||||
endif()
|
||||
if("x${relname}" MATCHES "^x${regex}$" AND NOT IS_DIRECTORY "${top_src}/${entry}")
|
||||
if("x${relname}" MATCHES "^x${regex}$" # matches
|
||||
AND NOT IS_DIRECTORY "${top_src}/${entry}" # not a directory
|
||||
AND NOT "x${relname}" MATCHES "(^x|/)\\.ExternalData_" # not staged obj
|
||||
)
|
||||
set(name "${top_src}/${relname}")
|
||||
set(file "${top_bin}/${relname}")
|
||||
if(alg)
|
||||
|
|
|
@ -1251,10 +1251,10 @@ function(_ep_add_download_command name)
|
|||
get_filename_component(work_dir "${source_dir}" PATH)
|
||||
set(comment "Performing download step (SVN checkout) for '${name}'")
|
||||
set(svn_user_pw_args "")
|
||||
if(svn_username)
|
||||
if(DEFINED svn_username)
|
||||
set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
|
||||
endif()
|
||||
if(svn_password)
|
||||
if(DEFINED svn_password)
|
||||
set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
|
||||
endif()
|
||||
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_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
|
||||
set(svn_user_pw_args "")
|
||||
if(svn_username)
|
||||
if(DEFINED svn_username)
|
||||
set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
|
||||
endif()
|
||||
if(svn_password)
|
||||
if(DEFINED svn_password)
|
||||
set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
|
||||
endif()
|
||||
if(svn_trust_cert)
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
# Boost_LIBRARY_DIR - Directory containing Boost libraries
|
||||
# Boost_<C>_LIBRARY_DEBUG - Component <C> library debug variant
|
||||
# Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
|
||||
# Users may set the these hints or results as cache entries. Projects should
|
||||
# Users may set these hints or results as cache entries. Projects should
|
||||
# not read these entries directly but instead use the above result variables.
|
||||
# Note that some hint names start in upper-case "BOOST". One may specify
|
||||
# these as environment variables if they are not specified as CMake variables
|
||||
|
@ -154,7 +154,7 @@
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Before we go searching, check whether boost-cmake is avaialble, unless the
|
||||
# Before we go searching, check whether boost-cmake is available, unless the
|
||||
# user specifically asked NOT to search for boost-cmake.
|
||||
#
|
||||
# If Boost_DIR is set, this behaves as any find_package call would. If not,
|
||||
|
@ -247,7 +247,7 @@ macro(_Boost_ADJUST_LIB_VARS basename)
|
|||
endif()
|
||||
|
||||
endif()
|
||||
# Make variables changeble to the advanced user
|
||||
# Make variables changeable to the advanced user
|
||||
mark_as_advanced(
|
||||
Boost_${basename}_LIBRARY_RELEASE
|
||||
Boost_${basename}_LIBRARY_DEBUG
|
||||
|
@ -930,9 +930,13 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
|
|||
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
|
||||
"Searching for ${UPPERCOMPONENT}_LIBRARY_RELEASE: ${_boost_RELEASE_NAMES}")
|
||||
endif()
|
||||
|
||||
# Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
|
||||
string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS}")
|
||||
|
||||
_Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
|
||||
NAMES ${_boost_RELEASE_NAMES}
|
||||
HINTS ${_boost_LIBRARY_SEARCH_DIRS}
|
||||
HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
|
||||
NAMES_PER_DIR
|
||||
DOC "${_boost_docstring_release}"
|
||||
)
|
||||
|
@ -962,9 +966,13 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
|
|||
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
|
||||
"Searching for ${UPPERCOMPONENT}_LIBRARY_DEBUG: ${_boost_DEBUG_NAMES}")
|
||||
endif()
|
||||
|
||||
# Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
|
||||
string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS}")
|
||||
|
||||
_Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
|
||||
NAMES ${_boost_DEBUG_NAMES}
|
||||
HINTS ${_boost_LIBRARY_SEARCH_DIRS}
|
||||
HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
|
||||
NAMES_PER_DIR
|
||||
DOC "${_boost_docstring_debug}"
|
||||
)
|
||||
|
@ -1014,7 +1022,12 @@ if(Boost_FOUND)
|
|||
# We were unable to find some libraries, so generate a sensible
|
||||
# error message that lists the libraries we were unable to find.
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON}\nThe following Boost libraries could not be found:\n")
|
||||
"${Boost_ERROR_REASON}\nCould not find the following")
|
||||
if(Boost_USE_STATIC_LIBS)
|
||||
set(Boost_ERROR_REASON "${Boost_ERROR_REASON} static")
|
||||
endif()
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON} Boost libraries:\n")
|
||||
foreach(COMPONENT ${_Boost_MISSING_COMPONENTS})
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON} boost_${COMPONENT}\n")
|
||||
|
|
|
@ -920,8 +920,14 @@ function(CUDA_COMPUTE_BUILD_PATH path build_path)
|
|||
if (IS_ABSOLUTE "${bpath}")
|
||||
# Absolute paths are generally unnessary, especially if something like
|
||||
# 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}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# This recipie is from cmLocalGenerator::CreateSafeUniqueObjectFileName in the
|
||||
# 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.
|
||||
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.
|
||||
# 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)
|
||||
list(REMOVE_DUPLICATES CUDA_NVCC_INCLUDE_DIRECTORIES)
|
||||
if(CUDA_NVCC_INCLUDE_DIRECTORIES)
|
||||
foreach(dir ${CUDA_NVCC_INCLUDE_DIRECTORIES})
|
||||
list(APPEND CUDA_NVCC_INCLUDE_ARGS -I${dir})
|
||||
|
|
|
@ -63,7 +63,7 @@ if (${depend_text} MATCHES ".+")
|
|||
if (EXISTS "/${file}")
|
||||
set(file "/${file}")
|
||||
else()
|
||||
message(WARNING " Removing non-existant dependency file: ${file}")
|
||||
message(WARNING " Removing non-existent dependency file: ${file}")
|
||||
set(file "")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -45,7 +45,7 @@ if(APPLE)
|
|||
set( FLTK2_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
|
||||
endif()
|
||||
|
||||
# If FLTK2_INCLUDE_DIR is already defined we assigne its value to FLTK2_DIR
|
||||
# If FLTK2_INCLUDE_DIR is already defined we assign its value to FLTK2_DIR
|
||||
if(FLTK2_INCLUDE_DIR)
|
||||
set(FLTK2_DIR ${FLTK2_INCLUDE_DIR})
|
||||
else()
|
||||
|
|
|
@ -50,6 +50,9 @@ find_path(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
|
|||
/usr/local/X11R6
|
||||
/usr/local/X11
|
||||
/usr/freeware
|
||||
ENV GTKMM_BASEPATH
|
||||
[HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
|
||||
PATH_SUFFIXES include/freetype2 include
|
||||
)
|
||||
|
||||
|
@ -61,6 +64,9 @@ find_path(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
|
|||
/usr/local/X11R6
|
||||
/usr/local/X11
|
||||
/usr/freeware
|
||||
ENV GTKMM_BASEPATH
|
||||
[HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
|
||||
PATH_SUFFIXES include/freetype2 include
|
||||
)
|
||||
|
||||
|
@ -74,6 +80,9 @@ find_library(FREETYPE_LIBRARY
|
|||
/usr/local/X11R6
|
||||
/usr/local/X11
|
||||
/usr/freeware
|
||||
ENV GTKMM_BASEPATH
|
||||
[HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
|
||||
)
|
||||
|
||||
# set the user variables
|
||||
|
|
|
@ -164,6 +164,7 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
|
|||
cairo
|
||||
cairomm-1.0
|
||||
gdk-pixbuf-2.0
|
||||
gthread-2.0
|
||||
gdkmm-2.4
|
||||
giomm-2.4
|
||||
gtk-2.0
|
||||
|
@ -460,9 +461,13 @@ foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
|
|||
_GTK2_FIND_INCLUDE_DIR(GTK2_PANGO_INCLUDE_DIR pango/pango.h)
|
||||
_GTK2_FIND_LIBRARY (GTK2_PANGO_LIBRARY pango false true)
|
||||
|
||||
_GTK2_FIND_LIBRARY (GTK2_PANGOCAIRO_LIBRARY pangocairo false true)
|
||||
|
||||
_GTK2_FIND_INCLUDE_DIR(GTK2_GDK_PIXBUF_INCLUDE_DIR gdk-pixbuf/gdk-pixbuf.h)
|
||||
_GTK2_FIND_LIBRARY (GTK2_GDK_PIXBUF_LIBRARY gdk_pixbuf false true)
|
||||
|
||||
_GTK2_FIND_LIBRARY (GTK2_GTHREAD_LIBRARY gthread false true)
|
||||
|
||||
_GTK2_FIND_LIBRARY (GTK2_GIO_LIBRARY gio false true)
|
||||
|
||||
_GTK2_FIND_INCLUDE_DIR(GTK2_ATK_INCLUDE_DIR atk/atk.h)
|
||||
|
@ -489,8 +494,6 @@ foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
|
|||
_GTK2_FIND_INCLUDE_DIR(GTK2_PANGOMMCONFIG_INCLUDE_DIR pangommconfig.h)
|
||||
_GTK2_FIND_LIBRARY (GTK2_PANGOMM_LIBRARY pangomm true true)
|
||||
|
||||
_GTK2_FIND_LIBRARY (GTK2_PANGOCAIRO_LIBRARY pangocairo true true)
|
||||
|
||||
_GTK2_FIND_INCLUDE_DIR(GTK2_CAIROMM_INCLUDE_DIR cairomm/cairomm.h)
|
||||
_GTK2_FIND_INCLUDE_DIR(GTK2_CAIROMMCONFIG_INCLUDE_DIR cairommconfig.h)
|
||||
_GTK2_FIND_LIBRARY (GTK2_CAIROMM_LIBRARY cairomm true true)
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#
|
||||
# USE_ITK_FILE - The full path to the UseITK.cmake file.
|
||||
# This is provided for backward
|
||||
# compatability. Use ITK_USE_FILE
|
||||
# compatibility. Use ITK_USE_FILE
|
||||
# instead.
|
||||
|
||||
#=============================================================================
|
||||
|
@ -52,6 +52,6 @@ if(NOT ITK_FOUND)
|
|||
endif()
|
||||
|
||||
if(ITK_FOUND)
|
||||
# Set USE_ITK_FILE for backward-compatability.
|
||||
# Set USE_ITK_FILE for backward-compatibility.
|
||||
set(USE_ITK_FILE ${ITK_USE_FILE})
|
||||
endif()
|
||||
|
|
|
@ -81,7 +81,7 @@ function(FIND_IMAGEMAGICK_API component header)
|
|||
${ImageMagick_INCLUDE_DIRS}
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include"
|
||||
PATH_SUFFIXES
|
||||
ImageMagick
|
||||
ImageMagick ImageMagick-6
|
||||
DOC "Path to the ImageMagick include dir."
|
||||
)
|
||||
find_library(ImageMagick_${component}_LIBRARY
|
||||
|
|
|
@ -86,7 +86,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/GetPrerequisites.cmake)
|
|||
#
|
||||
# The compilers are detected in this order:
|
||||
#
|
||||
# 1. Try to find the most generic availble MPI compiler, as this is usually set up by
|
||||
# 1. Try to find the most generic available MPI compiler, as this is usually set up by
|
||||
# cluster admins. e.g., if plain old mpicc is available, we'll use it and assume it's
|
||||
# the right compiler.
|
||||
#
|
||||
|
|
|
@ -28,16 +28,18 @@
|
|||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
if (WIN32)
|
||||
if (CYGWIN)
|
||||
set(_OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY)
|
||||
|
||||
if (CYGWIN)
|
||||
|
||||
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_glu_LIBRARY glu32 )
|
||||
|
||||
else ()
|
||||
elseif (WIN32)
|
||||
|
||||
if(BORLAND)
|
||||
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")
|
||||
endif()
|
||||
|
||||
endif ()
|
||||
|
||||
else ()
|
||||
|
||||
if (APPLE)
|
||||
elseif (APPLE)
|
||||
|
||||
find_library(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL 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")
|
||||
list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
|
||||
|
||||
else()
|
||||
else()
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "HP-UX")
|
||||
# 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.
|
||||
|
@ -90,6 +89,7 @@ else ()
|
|||
/opt/graphics/OpenGL/include /usr/X11R6/include
|
||||
${_OPENGL_INCLUDE_PATH}
|
||||
)
|
||||
list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
|
||||
|
||||
find_path(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
|
||||
/usr/share/doc/NVIDIA_GLX-1.0/include
|
||||
|
@ -111,18 +111,15 @@ else ()
|
|||
# On Unix OpenGL most certainly always requires X11.
|
||||
# Feel free to tighten up these conditions if you don't
|
||||
# think this is always true.
|
||||
# It's not true on OSX.
|
||||
|
||||
if (OPENGL_gl_LIBRARY)
|
||||
if(NOT X11_FOUND)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/FindX11.cmake)
|
||||
endif()
|
||||
if (X11_FOUND)
|
||||
if (NOT APPLE)
|
||||
set (OPENGL_LIBRARIES ${X11_LIBRARIES})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
find_library(OPENGL_glu_LIBRARY
|
||||
NAMES GLU MesaGLU
|
||||
|
@ -132,7 +129,6 @@ else ()
|
|||
/usr/shlib /usr/X11R6/lib
|
||||
)
|
||||
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
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
|
||||
# all listed variables are TRUE
|
||||
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(
|
||||
OPENGL_INCLUDE_DIR
|
||||
|
|
|
@ -140,10 +140,10 @@ if(WIN32 AND NOT CYGWIN)
|
|||
|
||||
set( OPENSSL_LIBRARIES ${SSL_EAY_LIBRARY} ${LIB_EAY_LIBRARY} )
|
||||
elseif(MINGW)
|
||||
# same player, for MingW
|
||||
# same player, for MinGW
|
||||
set(LIB_EAY_NAMES libeay32)
|
||||
set(SSL_EAY_NAMES ssleay32)
|
||||
if(CMAKE_CROSS_COMPILING)
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
list(APPEND LIB_EAY_NAMES crypto)
|
||||
list(APPEND SSL_EAY_NAMES ssl)
|
||||
endif()
|
||||
|
|
|
@ -156,6 +156,16 @@ function(_protobuf_find_libraries name filename)
|
|||
endif()
|
||||
endfunction()
|
||||
|
||||
# Internal function: find threads library
|
||||
function(_protobuf_find_threads)
|
||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
find_package(Threads)
|
||||
if(Threads_FOUND)
|
||||
list(APPEND PROTOBUF_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
set(PROTOBUF_LIBRARIES "${PROTOBUF_LIBRARIES}" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# Main.
|
||||
#
|
||||
|
@ -190,6 +200,9 @@ if(MSVC)
|
|||
set(CMAKE_FIND_LIBRARY_PREFIXES "${PROTOBUF_ORIG_FIND_LIBRARY_PREFIXES}")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
_protobuf_find_threads()
|
||||
endif()
|
||||
|
||||
# Find the include directory
|
||||
find_path(PROTOBUF_INCLUDE_DIR
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
# You should have a look on the AUTOMOC property for targets to achieve the same results.
|
||||
#
|
||||
# macro QT4_ADD_DBUS_INTERFACE(outfiles interface basename)
|
||||
# Create a the interface header and implementation files with the
|
||||
# Create the interface header and implementation files with the
|
||||
# given basename from the given interface xml file and add it to
|
||||
# the list of sources.
|
||||
#
|
||||
|
@ -171,7 +171,7 @@
|
|||
# in: ts_files
|
||||
# generates commands to create .qm from .ts - files. The generated
|
||||
# filenames can be found in qm_files. The ts_files
|
||||
# must exists and are not updated in any way.
|
||||
# must exist and are not updated in any way.
|
||||
#
|
||||
# function QT4_USE_MODULES( target [link_type] modules...)
|
||||
# Make <target> use the <modules> from Qt. Using a Qt module means
|
||||
|
@ -495,7 +495,7 @@ macro (_QT4_ADJUST_LIB_VARS _camelCaseBasename)
|
|||
set(QT_INCLUDES "${QT_${basename}_INCLUDE_DIR}" ${QT_INCLUDES})
|
||||
endif ()
|
||||
|
||||
# Make variables changeble to the advanced user
|
||||
# Make variables changeable to the advanced user
|
||||
mark_as_advanced(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
|
||||
endmacro ()
|
||||
|
||||
|
@ -635,10 +635,10 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
|
|||
)
|
||||
endif()
|
||||
|
||||
# try dropping a hint if trying to use Visual Studio with Qt built by mingw
|
||||
# try dropping a hint if trying to use Visual Studio with Qt built by MinGW
|
||||
if(NOT QT_QTCORE_LIBRARY_RELEASE AND MSVC)
|
||||
if(EXISTS ${QT_LIBRARY_DIR_TMP}/libqtmain.a)
|
||||
message( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by mingw. Those compilers do not produce code compatible with each other.")
|
||||
message( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by MinGW. Those compilers do not produce code compatible with each other.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -657,8 +657,11 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
|
|||
message(WARNING "${QT_QMAKE_EXECUTABLE} reported QT_INSTALL_LIBS as \"${QT_LIBRARY_DIR_TMP}\" "
|
||||
"but QtCore could not be found there. "
|
||||
"Qt is NOT installed correctly for the target build environment.")
|
||||
set(Qt4_FOUND FALSE)
|
||||
if(Qt4_FIND_REQUIRED)
|
||||
message( FATAL_ERROR "Could NOT find QtCore. Check ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log for more details.")
|
||||
else()
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -771,7 +774,7 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
|
|||
endif()
|
||||
endif ()
|
||||
|
||||
# Make variables changeble to the advanced user
|
||||
# Make variables changeable to the advanced user
|
||||
mark_as_advanced( QT_LIBRARY_DIR QT_DOC_DIR QT_MKSPECS_DIR
|
||||
QT_PLUGINS_DIR QT_TRANSLATIONS_DIR)
|
||||
|
||||
|
@ -881,17 +884,21 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
|
|||
endforeach()
|
||||
|
||||
if(Q_WS_WIN)
|
||||
set(QT_MODULES ${QT_MODULES} QAxContainer QAxServer)
|
||||
if (QT_QAXCONTAINER_FOUND)
|
||||
set(QT_MODULES ${QT_MODULES} QAxContainer)
|
||||
# Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR
|
||||
find_path(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt
|
||||
PATHS ${QT_HEADERS_DIR}/ActiveQt
|
||||
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
endif()
|
||||
if (QT_QAXSERVER_FOUND)
|
||||
find_path(QT_QAXSERVER_INCLUDE_DIR ActiveQt
|
||||
PATHS ${QT_HEADERS_DIR}/ActiveQt
|
||||
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Set QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR
|
||||
find_path(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR QDesignerComponents
|
||||
|
@ -1051,15 +1058,19 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
|
|||
if(Q_WS_WIN)
|
||||
_QT4_ADJUST_LIB_VARS(qtmain)
|
||||
|
||||
if(QT_QAXSERVER_FOUND)
|
||||
_QT4_ADJUST_LIB_VARS(QAxServer)
|
||||
set_property(TARGET Qt4::QAxServer PROPERTY
|
||||
INTERFACE_QT4_NO_LINK_QTMAIN ON
|
||||
)
|
||||
set_property(TARGET Qt4::QAxServer APPEND PROPERTY
|
||||
COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN)
|
||||
endif()
|
||||
|
||||
if(QT_QAXCONTAINER_FOUND)
|
||||
_QT4_ADJUST_LIB_VARS(QAxContainer)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Only public dependencies are listed here.
|
||||
# Eg, QtDBus links to QtXml, but users of QtDBus do not need to
|
||||
|
@ -1080,7 +1091,9 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
|
|||
_qt4_add_target_depends(QtWebKit Gui Network)
|
||||
|
||||
_qt4_add_target_private_depends(Qt3Support Xml)
|
||||
if(QT_VERSION VERSION_GREATER 4.6)
|
||||
_qt4_add_target_private_depends(QtSvg Xml)
|
||||
endif()
|
||||
_qt4_add_target_private_depends(QtDBus Xml)
|
||||
_qt4_add_target_private_depends(QtUiTools Xml Gui)
|
||||
_qt4_add_target_private_depends(QtHelp Sql Xml Network)
|
||||
|
@ -1090,8 +1103,12 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION)
|
|||
_qt4_add_target_private_depends(QtDeclarative XmlPatterns Svg Sql Gui)
|
||||
_qt4_add_target_private_depends(QtMultimedia Gui)
|
||||
_qt4_add_target_private_depends(QtOpenGL Gui)
|
||||
if(QT_QAXSERVER_FOUND)
|
||||
_qt4_add_target_private_depends(QAxServer Gui)
|
||||
endif()
|
||||
if(QT_QAXCONTAINER_FOUND)
|
||||
_qt4_add_target_private_depends(QAxContainer Gui)
|
||||
endif()
|
||||
_qt4_add_target_private_depends(phonon Gui)
|
||||
if(QT_QTDBUS_FOUND)
|
||||
_qt4_add_target_private_depends(phonon DBus)
|
||||
|
|
|
@ -93,7 +93,7 @@ else()
|
|||
COMPILE_OUTPUT_VARIABLE OUTPUT)
|
||||
|
||||
if(THREADS_HAVE_PTHREAD_ARG)
|
||||
if(THREADS_PTHREAD_ARG MATCHES "^2$")
|
||||
if(THREADS_PTHREAD_ARG STREQUAL "2")
|
||||
set(Threads_FOUND TRUE)
|
||||
message(STATUS "Check if compiler accepts -pthread - yes")
|
||||
else()
|
||||
|
|
|
@ -51,7 +51,7 @@ if("${VTK_FIND_VERSION}" VERSION_LESS 4.1)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# Construct consitent error messages for use below.
|
||||
# Construct consistent error messages for use below.
|
||||
set(VTK_DIR_DESCRIPTION "directory containing VTKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/vtk for an installation.")
|
||||
if(_VTK_40_ALLOW)
|
||||
set(VTK_DIR_DESCRIPTION "${VTK_DIR_DESCRIPTION} For VTK 4.0, this is the location of UseVTK.cmake. This is either the root of the build tree or PREFIX/include/vtk for an installation.")
|
||||
|
@ -127,7 +127,7 @@ endif()
|
|||
|
||||
#-----------------------------------------------------------------------------
|
||||
if(VTK_FOUND)
|
||||
# Set USE_VTK_FILE for backward-compatability.
|
||||
# Set USE_VTK_FILE for backward-compatibility.
|
||||
set(USE_VTK_FILE ${VTK_USE_FILE})
|
||||
else()
|
||||
# VTK not found, explain to the user how to specify its location.
|
||||
|
|
|
@ -68,6 +68,7 @@ if (UNIX)
|
|||
/usr/openwin/include
|
||||
/usr/openwin/share/include
|
||||
/opt/graphics/OpenGL/include
|
||||
/opt/X11/include
|
||||
)
|
||||
|
||||
set(X11_LIB_SEARCH_PATH
|
||||
|
@ -75,6 +76,7 @@ if (UNIX)
|
|||
/usr/X11R6/lib
|
||||
/usr/X11R7/lib
|
||||
/usr/openwin/lib
|
||||
/opt/X11/lib
|
||||
)
|
||||
|
||||
find_path(X11_X11_INCLUDE_PATH X11/X.h ${X11_INC_SEARCH_PATH})
|
||||
|
|
|
@ -53,7 +53,7 @@ if(XMLRPC_FOUND)
|
|||
endif()
|
||||
|
||||
# Parse the include flags.
|
||||
if("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
|
||||
if("${XMLRPC_C_CONFIG_RESULT}" STREQUAL "0")
|
||||
# Convert the compile flags to a CMake list.
|
||||
string(REGEX REPLACE " +" ";"
|
||||
XMLRPC_C_CONFIG_CFLAGS "${XMLRPC_C_CONFIG_CFLAGS}")
|
||||
|
@ -91,7 +91,7 @@ if(XMLRPC_FOUND)
|
|||
endif()
|
||||
|
||||
# Parse the library names and directories.
|
||||
if("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
|
||||
if("${XMLRPC_C_CONFIG_RESULT}" STREQUAL "0")
|
||||
string(REGEX REPLACE " +" ";"
|
||||
XMLRPC_C_CONFIG_LIBS "${XMLRPC_C_CONFIG_LIBS}")
|
||||
|
||||
|
|
|
@ -458,7 +458,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
|
|||
wxWidgets-2.5.2
|
||||
wxWidgets-2.5.1
|
||||
wxWidgets
|
||||
DOC "wxWidgets base/installation directory?"
|
||||
DOC "wxWidgets base/installation directory"
|
||||
)
|
||||
|
||||
# If wxWidgets_ROOT_DIR changed, clear lib dir.
|
||||
|
@ -492,7 +492,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
|
|||
PATHS
|
||||
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_dll # prefer shared
|
||||
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_lib
|
||||
DOC "Path to wxWidgets libraries?"
|
||||
DOC "Path to wxWidgets libraries"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
else()
|
||||
|
@ -509,7 +509,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
|
|||
PATHS
|
||||
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_lib # prefer static
|
||||
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_dll
|
||||
DOC "Path to wxWidgets libraries?"
|
||||
DOC "Path to wxWidgets libraries"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
endif()
|
||||
|
@ -703,6 +703,7 @@ else()
|
|||
#-----------------------------------------------------------------
|
||||
# Support cross-compiling, only search in the target platform.
|
||||
find_program(wxWidgets_CONFIG_EXECUTABLE wx-config
|
||||
DOC "Location of wxWidgets library configuration provider binary (wx-config)."
|
||||
ONLY_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
|
||||
|
@ -843,6 +844,7 @@ set(wxWidgets_FOUND ${WXWIDGETS_FOUND})
|
|||
# Resource file compiler.
|
||||
find_program(wxWidgets_wxrc_EXECUTABLE wxrc
|
||||
${wxWidgets_ROOT_DIR}/utils/wxrc/vc_msw
|
||||
DOC "Location of wxWidgets resource file compiler binary (wxrc)"
|
||||
)
|
||||
|
||||
#
|
||||
|
|
|
@ -321,7 +321,7 @@ if(WIN32_STYLE_FIND)
|
|||
rpcrt4
|
||||
wsock32
|
||||
)
|
||||
## HACK: feed in to optimized / debug libaries if both were FOUND.
|
||||
## HACK: feed in to optimized / debug libraries if both were FOUND.
|
||||
set(WXWINDOWS_STATIC_DEBUG_LIBS ${WXWINDOWS_STATIC_DEBUG_LIBS}
|
||||
wxbase26d
|
||||
wxbase26d_net
|
||||
|
@ -354,7 +354,7 @@ if(WIN32_STYLE_FIND)
|
|||
##
|
||||
|
||||
## if there is at least one shared lib available
|
||||
## let user choose wether to use shared or static wxwindows libs
|
||||
## let user choose whether to use shared or static wxwindows libs
|
||||
if(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
|
||||
## default value OFF because wxWindows MSVS default build is static
|
||||
option(WXWINDOWS_USE_SHARED_LIBS
|
||||
|
@ -606,7 +606,7 @@ else()
|
|||
../wx/bin
|
||||
../../wx/bin )
|
||||
|
||||
# check wether wx-config was found:
|
||||
# check whether wx-config was found:
|
||||
if(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
|
||||
|
||||
# use shared/static wx lib?
|
||||
|
|
|
@ -267,6 +267,7 @@ macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY)
|
|||
if(_GEH_EXPORT_MACRO_NAME)
|
||||
set(EXPORT_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_EXPORT_MACRO_NAME})
|
||||
endif()
|
||||
string(MAKE_C_IDENTIFIER ${EXPORT_MACRO_NAME} EXPORT_MACRO_NAME)
|
||||
if(_GEH_EXPORT_FILE_NAME)
|
||||
if(IS_ABSOLUTE ${_GEH_EXPORT_FILE_NAME})
|
||||
set(EXPORT_FILE_NAME ${_GEH_EXPORT_FILE_NAME})
|
||||
|
@ -277,12 +278,15 @@ macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY)
|
|||
if(_GEH_DEPRECATED_MACRO_NAME)
|
||||
set(DEPRECATED_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_DEPRECATED_MACRO_NAME})
|
||||
endif()
|
||||
string(MAKE_C_IDENTIFIER ${DEPRECATED_MACRO_NAME} DEPRECATED_MACRO_NAME)
|
||||
if(_GEH_NO_EXPORT_MACRO_NAME)
|
||||
set(NO_EXPORT_MACRO_NAME ${_GEH_PREFIX_NAME}${_GEH_NO_EXPORT_MACRO_NAME})
|
||||
endif()
|
||||
string(MAKE_C_IDENTIFIER ${NO_EXPORT_MACRO_NAME} NO_EXPORT_MACRO_NAME)
|
||||
if(_GEH_STATIC_DEFINE)
|
||||
set(STATIC_DEFINE ${_GEH_PREFIX_NAME}${_GEH_STATIC_DEFINE})
|
||||
endif()
|
||||
string(MAKE_C_IDENTIFIER ${STATIC_DEFINE} STATIC_DEFINE)
|
||||
|
||||
if(_GEH_DEFINE_NO_DEPRECATED)
|
||||
set(DEFINE_NO_DEPRECATED TRUE)
|
||||
|
@ -292,6 +296,7 @@ macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY)
|
|||
set(NO_DEPRECATED_MACRO_NAME
|
||||
${_GEH_PREFIX_NAME}${_GEH_NO_DEPRECATED_MACRO_NAME})
|
||||
endif()
|
||||
string(MAKE_C_IDENTIFIER ${NO_DEPRECATED_MACRO_NAME} NO_DEPRECATED_MACRO_NAME)
|
||||
|
||||
set(INCLUDE_GUARD_NAME "${EXPORT_MACRO_NAME}_H")
|
||||
|
||||
|
@ -300,6 +305,7 @@ macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY)
|
|||
if(NOT EXPORT_IMPORT_CONDITION)
|
||||
set(EXPORT_IMPORT_CONDITION ${TARGET_LIBRARY}_EXPORTS)
|
||||
endif()
|
||||
string(MAKE_C_IDENTIFIER ${EXPORT_IMPORT_CONDITION} EXPORT_IMPORT_CONDITION)
|
||||
|
||||
configure_file("${_GENERATE_EXPORT_HEADER_MODULE_DIR}/exportheader.cmake.in"
|
||||
"${EXPORT_FILE_NAME}" @ONLY)
|
||||
|
@ -307,11 +313,9 @@ endmacro()
|
|||
|
||||
function(GENERATE_EXPORT_HEADER TARGET_LIBRARY)
|
||||
get_property(type TARGET ${TARGET_LIBRARY} PROPERTY TYPE)
|
||||
if(${type} STREQUAL "MODULE")
|
||||
message(WARNING "This macro should not be used with libraries of type MODULE")
|
||||
return()
|
||||
endif()
|
||||
if(NOT ${type} STREQUAL "STATIC_LIBRARY" AND NOT ${type} STREQUAL "SHARED_LIBRARY")
|
||||
if(NOT ${type} STREQUAL "STATIC_LIBRARY"
|
||||
AND NOT ${type} STREQUAL "SHARED_LIBRARY"
|
||||
AND NOT ${type} STREQUAL "MODULE_LIBRARY")
|
||||
message(WARNING "This macro can only be used with libraries")
|
||||
return()
|
||||
endif()
|
||||
|
|
|
@ -916,7 +916,9 @@ Function .onInit
|
|||
;Run the uninstaller
|
||||
uninst:
|
||||
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
|
||||
uninst_failed:
|
||||
|
|
|
@ -30,6 +30,11 @@ set(CMAKE_SHARED_MODULE_SUFFIX ".so")
|
|||
set(CMAKE_MODULE_EXISTS 1)
|
||||
set(CMAKE_DL_LIBS "")
|
||||
|
||||
# Enable rpath support for 10.5 and greater where it is known to work.
|
||||
if("${DARWIN_MAJOR_VERSION}" GREATER 8)
|
||||
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
|
||||
set(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
|
||||
set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
|
||||
|
@ -207,12 +212,8 @@ if("${CMAKE_BACKWARDS_COMPATIBILITY}" MATCHES "^1\\.[0-6]$")
|
|||
"${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -flat_namespace -undefined suppress")
|
||||
endif()
|
||||
|
||||
if(NOT XCODE)
|
||||
# Enable shared library versioning. This flag is not actually referenced
|
||||
# but the fact that the setting exists will cause the generators to support
|
||||
# soname computation.
|
||||
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
|
||||
endif()
|
||||
# Enable shared library versioning.
|
||||
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
|
||||
|
||||
# Xcode does not support -isystem yet.
|
||||
if(XCODE)
|
||||
|
|
|
@ -13,6 +13,9 @@ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
|
|||
set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
|
||||
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
|
||||
set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
|
||||
# http://www.qnx.com/developers/docs/6.4.0/neutrino/utilities/q/qcc.html#examples
|
||||
set(CMAKE_C_COMPILE_OPTION_TARGET "-V")
|
||||
set(CMAKE_CXX_COMPILE_OPTION_TARGET "-V")
|
||||
|
||||
# Shared libraries with no builtin soname may not be linked safely by
|
||||
# specifying the file path.
|
||||
|
|
|
@ -78,23 +78,24 @@ set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_SHARED_LINKER_FLAGS_R
|
|||
macro(__embarcadero_language lang)
|
||||
set(CMAKE_${lang}_COMPILE_OPTIONS_DLL "${_tD}") # Note: This variable is a ';' separated list
|
||||
set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "${_tD}") # ... while this is a space separated string.
|
||||
set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 1)
|
||||
|
||||
# compile a source file into an object file
|
||||
# place <DEFINES> outside the response file because Borland refuses
|
||||
# to parse quotes from the response file.
|
||||
set(CMAKE_${lang}_COMPILE_OBJECT
|
||||
"<CMAKE_${lang}_COMPILER> ${_tR} <DEFINES> ${CMAKE_START_TEMP_FILE}-DWIN32 -o<OBJECT> <FLAGS> ${_COMPILE_${lang}} <SOURCE>${CMAKE_END_TEMP_FILE}"
|
||||
"<CMAKE_${lang}_COMPILER> ${_tR} <DEFINES> -DWIN32 -o<OBJECT> <FLAGS> ${_COMPILE_${lang}} <SOURCE>"
|
||||
)
|
||||
|
||||
set(CMAKE_${lang}_LINK_EXECUTABLE
|
||||
"<CMAKE_${lang}_COMPILER> ${_tR} -e<TARGET> ${CMAKE_START_TEMP_FILE}<LINK_FLAGS> <FLAGS> <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
|
||||
"<CMAKE_${lang}_COMPILER> ${_tR} -e<TARGET> <LINK_FLAGS> <FLAGS> ${CMAKE_START_TEMP_FILE} <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
|
||||
# "implib -c -w <TARGET_IMPLIB> <TARGET>"
|
||||
)
|
||||
|
||||
# place <DEFINES> outside the response file because Borland refuses
|
||||
# to parse quotes from the response file.
|
||||
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
|
||||
"cpp32 <DEFINES> ${CMAKE_START_TEMP_FILE}-DWIN32 <FLAGS> -o<PREPROCESSED_SOURCE> ${_COMPILE_${lang}} <SOURCE>${CMAKE_END_TEMP_FILE}"
|
||||
"cpp32 <DEFINES> -DWIN32 <FLAGS> -o<PREPROCESSED_SOURCE> ${_COMPILE_${lang}} <SOURCE>"
|
||||
)
|
||||
# Borland >= 5.6 allows -P option for cpp32, <= 5.5 does not
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ endif()
|
|||
|
||||
macro(__windows_compiler_intel lang)
|
||||
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
|
||||
"<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)
|
||||
|
@ -91,7 +91,7 @@ macro(__windows_compiler_intel lang)
|
|||
set(CMAKE_${lang}_CREATE_SHARED_MODULE "${CMAKE_${lang}_CREATE_SHARED_LIBRARY}")
|
||||
set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
|
||||
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_DEBUG_INIT "/D_DEBUG /MDd /Zi /Od /RTC1")
|
||||
set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "/DNDEBUG /MD /O1")
|
||||
|
|
|
@ -22,7 +22,7 @@ set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
|
|||
set(CMAKE_LINK_LIBRARY_FLAG "")
|
||||
set(MSVC 1)
|
||||
|
||||
# hack: if a new cmake (which uses CMAKE__LINKER) runs on an old build tree
|
||||
# hack: if a new cmake (which uses CMAKE_LINKER) runs on an old build tree
|
||||
# (where link was hardcoded) and where CMAKE_LINKER isn't in the cache
|
||||
# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
|
||||
# hardcode CMAKE_LINKER here to link, so it behaves as it did before, Alex
|
||||
|
@ -52,9 +52,6 @@ if(CMAKE_GENERATOR MATCHES "Visual Studio 6")
|
|||
endif()
|
||||
if(NOT CMAKE_NO_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
set (CMAKE_NO_BUILD_TYPE 1)
|
||||
set (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
|
||||
"Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
|
||||
mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
|
||||
endif()
|
||||
|
||||
# make sure to enable languages after setting configuration types
|
||||
|
@ -231,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}_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
|
||||
"<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
|
||||
|
@ -240,7 +237,7 @@ macro(__windows_compiler_msvc lang)
|
|||
set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
|
||||
set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||
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_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od ${_RTC1}")
|
||||
|
|
|
@ -38,8 +38,6 @@ if(CMAKE_GENERATOR MATCHES "Visual Studio 6")
|
|||
endif()
|
||||
if(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
|
||||
set (CMAKE_NO_BUILD_TYPE 1)
|
||||
set (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
|
||||
"Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
|
||||
endif()
|
||||
# does the compiler support pdbtype and is it the newer compiler
|
||||
|
||||
|
|
|
@ -77,11 +77,13 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}")
|
|||
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
|
||||
# Project install destination.
|
||||
"${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
|
||||
)
|
||||
|
||||
|
|
|
@ -21,15 +21,20 @@
|
|||
######################################
|
||||
|
||||
|
||||
macro (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options)
|
||||
macro (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options _qt4_target)
|
||||
set(${_qt4_files})
|
||||
set(${_qt4_options})
|
||||
set(_QT4_DOING_OPTIONS FALSE)
|
||||
set(_QT4_DOING_TARGET FALSE)
|
||||
foreach(_currentArg ${ARGN})
|
||||
if ("${_currentArg}" STREQUAL "OPTIONS")
|
||||
if ("x${_currentArg}" STREQUAL "xOPTIONS")
|
||||
set(_QT4_DOING_OPTIONS TRUE)
|
||||
elseif ("x${_currentArg}" STREQUAL "xTARGET")
|
||||
set(_QT4_DOING_TARGET TRUE)
|
||||
else ()
|
||||
if(_QT4_DOING_OPTIONS)
|
||||
if(_QT4_DOING_TARGET)
|
||||
set(${_qt4_target} "${_currentArg}")
|
||||
elseif(_QT4_DOING_OPTIONS)
|
||||
list(APPEND ${_qt4_options} "${_currentArg}")
|
||||
else()
|
||||
list(APPEND ${_qt4_files} "${_currentArg}")
|
||||
|
@ -92,9 +97,8 @@ endmacro()
|
|||
|
||||
|
||||
# helper macro to set up a moc rule
|
||||
macro (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options)
|
||||
macro (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target)
|
||||
# For Windows, create a parameters file to work around command line length limit
|
||||
if (WIN32)
|
||||
# Pass the parameters in a file. Set the working directory to
|
||||
# be that containing the parameters file and reference it by
|
||||
# just the file name. This is necessary because the moc tool on
|
||||
|
@ -108,18 +112,34 @@ macro (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options)
|
|||
set (_moc_parameters_file ${outfile}_parameters)
|
||||
set (_moc_parameters ${moc_flags} ${moc_options} -o "${outfile}" "${infile}")
|
||||
string (REPLACE ";" "\n" _moc_parameters "${_moc_parameters}")
|
||||
file (WRITE ${_moc_parameters_file} "${_moc_parameters}")
|
||||
|
||||
set(targetincludes)
|
||||
set(targetdefines)
|
||||
if(moc_target)
|
||||
list(APPEND targetincludes "$<TARGET_PROPERTY:${moc_target},INCLUDE_DIRECTORIES>")
|
||||
list(APPEND targetdefines "$<TARGET_PROPERTY:${moc_target},COMPILE_DEFINITIONS>")
|
||||
|
||||
set(targetincludes "$<$<BOOL:${targetincludes}>:-I$<JOIN:${targetincludes},\n-I>\n>")
|
||||
set(targetdefines "$<$<BOOL:${targetdefines}>:-D$<JOIN:${targetdefines},\n-D>\n>")
|
||||
|
||||
file (GENERATE
|
||||
OUTPUT ${_moc_parameters_file}
|
||||
CONTENT "${targetdefines}${targetincludes}${targetoptions}${_moc_parameters}\n"
|
||||
CONDITION 1
|
||||
)
|
||||
|
||||
set(targetincludes)
|
||||
set(targetdefines)
|
||||
else()
|
||||
file(WRITE ${_moc_parameters_file} "${_moc_parameters}\n")
|
||||
endif()
|
||||
|
||||
set(_moc_extra_parameters_file @${_moc_parameters_file})
|
||||
add_custom_command(OUTPUT ${outfile}
|
||||
COMMAND ${QT_MOC_EXECUTABLE} @${_moc_outfile_name}_parameters
|
||||
COMMAND ${QT_MOC_EXECUTABLE} ${_moc_extra_parameters_file}
|
||||
DEPENDS ${infile}
|
||||
${_moc_working_dir}
|
||||
VERBATIM)
|
||||
else ()
|
||||
add_custom_command(OUTPUT ${outfile}
|
||||
COMMAND ${QT_MOC_EXECUTABLE}
|
||||
ARGS ${moc_flags} ${moc_options} -o ${outfile} ${infile}
|
||||
DEPENDS ${infile} VERBATIM)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
|
||||
|
@ -131,7 +151,11 @@ macro (QT4_GENERATE_MOC infile outfile )
|
|||
if(NOT IS_ABSOLUTE "${outfile}")
|
||||
set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
|
||||
endif()
|
||||
QT4_CREATE_MOC_COMMAND(${abs_infile} ${_outfile} "${moc_flags}" "")
|
||||
|
||||
if ("x${ARGV2}" STREQUAL "xTARGET")
|
||||
set(moc_target ${ARGV3})
|
||||
endif()
|
||||
QT4_CREATE_MOC_COMMAND(${abs_infile} ${_outfile} "${moc_flags}" "" "${moc_target}")
|
||||
set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOMOC TRUE) # dont run automoc on this file
|
||||
endmacro ()
|
||||
|
||||
|
@ -141,12 +165,12 @@ endmacro ()
|
|||
macro (QT4_WRAP_CPP outfiles )
|
||||
# get include dirs
|
||||
QT4_GET_MOC_FLAGS(moc_flags)
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options moc_target ${ARGN})
|
||||
|
||||
foreach (it ${moc_files})
|
||||
get_filename_component(it ${it} ABSOLUTE)
|
||||
QT4_MAKE_OUTPUT_FILE(${it} moc_ cxx outfile)
|
||||
QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}")
|
||||
QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}" "${moc_target}")
|
||||
set(${outfiles} ${${outfiles}} ${outfile})
|
||||
endforeach()
|
||||
|
||||
|
@ -156,7 +180,7 @@ endmacro ()
|
|||
# QT4_WRAP_UI(outfiles inputfile ... )
|
||||
|
||||
macro (QT4_WRAP_UI outfiles )
|
||||
QT4_EXTRACT_OPTIONS(ui_files ui_options ${ARGN})
|
||||
QT4_EXTRACT_OPTIONS(ui_files ui_options ui_target ${ARGN})
|
||||
|
||||
foreach (it ${ui_files})
|
||||
get_filename_component(outfile ${it} NAME_WE)
|
||||
|
@ -175,7 +199,7 @@ endmacro ()
|
|||
# QT4_ADD_RESOURCES(outfiles inputfile ... )
|
||||
|
||||
macro (QT4_ADD_RESOURCES outfiles )
|
||||
QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN})
|
||||
QT4_EXTRACT_OPTIONS(rcc_files rcc_options rcc_target ${ARGN})
|
||||
|
||||
foreach (it ${rcc_files})
|
||||
get_filename_component(outfilename ${it} NAME_WE)
|
||||
|
@ -270,7 +294,7 @@ endmacro()
|
|||
|
||||
|
||||
macro(QT4_GENERATE_DBUS_INTERFACE _header) # _customName OPTIONS -some -options )
|
||||
QT4_EXTRACT_OPTIONS(_customName _qt4_dbus_options ${ARGN})
|
||||
QT4_EXTRACT_OPTIONS(_customName _qt4_dbus_options _qt4_dbus_target ${ARGN})
|
||||
|
||||
get_filename_component(_in_file ${_header} ABSOLUTE)
|
||||
get_filename_component(_basename ${_header} NAME_WE)
|
||||
|
@ -366,7 +390,7 @@ macro(QT4_AUTOMOC)
|
|||
set(_header ${_abs_PATH}/${_basename}.h)
|
||||
endif()
|
||||
set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
|
||||
QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "")
|
||||
QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "" "")
|
||||
MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
|
||||
endforeach ()
|
||||
endif()
|
||||
|
@ -376,7 +400,7 @@ endmacro()
|
|||
|
||||
|
||||
macro(QT4_CREATE_TRANSLATION _qm_files)
|
||||
QT4_EXTRACT_OPTIONS(_lupdate_files _lupdate_options ${ARGN})
|
||||
QT4_EXTRACT_OPTIONS(_lupdate_files _lupdate_options _lupdate_target ${ARGN})
|
||||
set(_my_sources)
|
||||
set(_my_dirs)
|
||||
set(_my_tsfiles)
|
||||
|
@ -451,14 +475,22 @@ function(qt4_use_modules _target _link_type)
|
|||
endif()
|
||||
foreach(_module ${modules})
|
||||
string(TOUPPER ${_module} _ucmodule)
|
||||
set(_targetPrefix QT_QT${_ucmodule})
|
||||
if (_ucmodule STREQUAL QAXCONTAINER OR _ucmodule STREQUAL QAXSERVER)
|
||||
if (NOT QT_Q${_ucmodule}_FOUND)
|
||||
message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
|
||||
endif()
|
||||
set(_targetPrefix QT_Q${_ucmodule})
|
||||
else()
|
||||
if (NOT QT_QT${_ucmodule}_FOUND)
|
||||
message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
|
||||
endif()
|
||||
if ("${_ucmodule}" STREQUAL "MAIN")
|
||||
message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.")
|
||||
endif()
|
||||
target_link_libraries(${_target} ${link_type} ${QT_QT${_ucmodule}_LIBRARY})
|
||||
set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${QT_QT${_ucmodule}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
|
||||
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${QT_QT${_ucmodule}_COMPILE_DEFINITIONS})
|
||||
endif()
|
||||
target_link_libraries(${_target} ${link_type} ${${_targetPrefix}_LIBRARIES})
|
||||
set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${${_targetPrefix}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
|
||||
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${${_targetPrefix}_COMPILE_DEFINITIONS})
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
|
|
@ -62,7 +62,7 @@ macro( select_library_configurations basename )
|
|||
# if the generator supports configuration types or CMAKE_BUILD_TYPE
|
||||
# is set, then set optimized and debug options.
|
||||
if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
||||
set( ${basename}_LIBRARY )
|
||||
set( ${basename}_LIBRARY "" )
|
||||
foreach( _libname IN LISTS ${basename}_LIBRARY_RELEASE )
|
||||
list( APPEND ${basename}_LIBRARY optimized "${_libname}" )
|
||||
endforeach()
|
||||
|
|
|
@ -132,10 +132,10 @@ macro(ECOS_ADJUST_DIRECTORY _target_FILES )
|
|||
endmacro()
|
||||
|
||||
# the default ecos config file name
|
||||
# maybe in the future also out-of-source builds may be possible
|
||||
# maybe in future also out-of-source builds may be possible
|
||||
set(ECOS_CONFIG_FILE ecos.ecc)
|
||||
|
||||
#creates the dependancy from all source files on the ecos target.ld,
|
||||
#creates the dependency from all source files on the ecos target.ld,
|
||||
#adds the command for compiling ecos
|
||||
macro(ECOS_ADD_TARGET_LIB)
|
||||
# when building out-of-source, create the ecos/ subdir
|
||||
|
|
|
@ -6,6 +6,10 @@
|
|||
# add_jar(target_name
|
||||
# [SOURCES] source1 [source2 ...] [resource1 ...]
|
||||
# [INCLUDE_JARS jar1 [jar2 ...]]
|
||||
# [ENTRY_POINT entry]
|
||||
# [VERSION version]
|
||||
# [OUTPUT_NAME name]
|
||||
# [OUTPUT_DIR dir]
|
||||
# )
|
||||
#
|
||||
# This command creates a <target_name>.jar. It compiles the given source files
|
||||
|
@ -17,6 +21,9 @@
|
|||
# listed as sources are ignored (as they have been since the first version of
|
||||
# this module).
|
||||
#
|
||||
# The default OUTPUT_DIR can also be changed by setting the variable
|
||||
# CMAKE_JAVA_TARGET_OUTPUT_DIR.
|
||||
#
|
||||
# Additional instructions:
|
||||
# To add compile flags to the target you can set these flags with
|
||||
# the following variable:
|
||||
|
@ -30,32 +37,30 @@
|
|||
#
|
||||
# To use a different output name for the target you can set it with:
|
||||
#
|
||||
# set(CMAKE_JAVA_TARGET_OUTPUT_NAME shibboleet.jar)
|
||||
# add_jar(foobar foobar.java)
|
||||
# add_jar(foobar foobar.java OUTPUT_NAME shibboleet.jar)
|
||||
#
|
||||
# To use a different output directory than CMAKE_CURRENT_BINARY_DIR
|
||||
# you can set it with:
|
||||
#
|
||||
# set(CMAKE_JAVA_TARGET_OUTPUT_DIR ${PROJECT_BINARY_DIR}/bin)
|
||||
# add_jar(foobar foobar.java OUTPUT_DIR ${PROJECT_BINARY_DIR}/bin)
|
||||
#
|
||||
# To define an entry point in your jar you can set it with:
|
||||
# To define an entry point in your jar you can set it with the ENTRY_POINT
|
||||
# named argument:
|
||||
#
|
||||
# set(CMAKE_JAVA_JAR_ENTRY_POINT com/examples/MyProject/Main)
|
||||
# add_jar(example ENTRY_POINT com/examples/MyProject/Main)
|
||||
#
|
||||
# To add a VERSION to the target output name you can set it using
|
||||
# CMAKE_JAVA_TARGET_VERSION. This will create a jar file with the name
|
||||
# shibboleet-1.0.0.jar and will create a symlink shibboleet.jar
|
||||
# the VERSION named argument to add_jar. This will create a jar file with the
|
||||
# name shibboleet-1.0.0.jar and will create a symlink shibboleet.jar
|
||||
# pointing to the jar with the version information.
|
||||
#
|
||||
# set(CMAKE_JAVA_TARGET_VERSION 1.2.0)
|
||||
# add_jar(shibboleet shibbotleet.java)
|
||||
# add_jar(shibboleet shibbotleet.java VERSION 1.2.0)
|
||||
#
|
||||
# If the target is a JNI library, utilize the following commands to
|
||||
# create a JNI symbolic link:
|
||||
#
|
||||
# set(CMAKE_JNI_TARGET TRUE)
|
||||
# set(CMAKE_JAVA_TARGET_VERSION 1.2.0)
|
||||
# add_jar(shibboleet shibbotleet.java)
|
||||
# add_jar(shibboleet shibbotleet.java VERSION 1.2.0)
|
||||
# install_jar(shibboleet ${LIB_INSTALL_DIR}/shibboleet)
|
||||
# install_jni_symlink(shibboleet ${JAVA_LIB_INSTALL_DIR})
|
||||
#
|
||||
|
@ -216,23 +221,50 @@ set(_JAVA_SYMLINK_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaSymlinks.cmake)
|
|||
|
||||
function(add_jar _TARGET_NAME)
|
||||
|
||||
cmake_parse_arguments(_add_jar "" "" "SOURCES;INCLUDE_JARS" ${ARGN})
|
||||
# In CMake < 2.8.12, add_jar used variables which were set prior to calling
|
||||
# add_jar for customizing the behavior of add_jar. In order to be backwards
|
||||
# compatible, check if any of those variables are set, and use them to
|
||||
# initialize values of the named arguments. (Giving the corresponding named
|
||||
# argument will override the value set here.)
|
||||
#
|
||||
# New features should use named arguments only.
|
||||
if(DEFINED CMAKE_JAVA_TARGET_VERSION)
|
||||
set(_add_jar_VERSION "${CMAKE_JAVA_TARGET_VERSION}")
|
||||
endif()
|
||||
if(DEFINED CMAKE_JAVA_TARGET_OUTPUT_DIR)
|
||||
set(_add_jar_OUTPUT_DIR "${CMAKE_JAVA_TARGET_OUTPUT_DIR}")
|
||||
endif()
|
||||
if(DEFINED CMAKE_JAVA_TARGET_OUTPUT_NAME)
|
||||
set(_add_jar_OUTPUT_NAME "${CMAKE_JAVA_TARGET_OUTPUT_NAME}")
|
||||
# reset
|
||||
set(CMAKE_JAVA_TARGET_OUTPUT_NAME)
|
||||
endif()
|
||||
if(DEFINED CMAKE_JAVA_JAR_ENTRY_POINT)
|
||||
set(_add_jar_ENTRY_POINT "${CMAKE_JAVA_JAR_ENTRY_POINT}")
|
||||
endif()
|
||||
|
||||
cmake_parse_arguments(_add_jar
|
||||
""
|
||||
"VERSION;OUTPUT_DIR;OUTPUT_NAME;ENTRY_POINT"
|
||||
"SOURCES;INCLUDE_JARS"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
set(_JAVA_SOURCE_FILES ${_add_jar_SOURCES} ${_add_jar_UNPARSED_ARGUMENTS})
|
||||
|
||||
if (NOT DEFINED CMAKE_JAVA_TARGET_OUTPUT_DIR)
|
||||
set(CMAKE_JAVA_TARGET_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
if (NOT DEFINED _add_jar_OUTPUT_DIR)
|
||||
set(_add_jar_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
endif()
|
||||
|
||||
if (CMAKE_JAVA_JAR_ENTRY_POINT)
|
||||
if (_add_jar_ENTRY_POINT)
|
||||
set(_ENTRY_POINT_OPTION e)
|
||||
set(_ENTRY_POINT_VALUE ${CMAKE_JAVA_JAR_ENTRY_POINT})
|
||||
set(_ENTRY_POINT_VALUE ${_add_jar_ENTRY_POINT})
|
||||
endif ()
|
||||
|
||||
if (LIBRARY_OUTPUT_PATH)
|
||||
set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH})
|
||||
else ()
|
||||
set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${CMAKE_JAVA_TARGET_OUTPUT_DIR})
|
||||
set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${_add_jar_OUTPUT_DIR})
|
||||
endif ()
|
||||
|
||||
set(CMAKE_JAVA_INCLUDE_PATH
|
||||
|
@ -242,7 +274,7 @@ function(add_jar _TARGET_NAME)
|
|||
${CMAKE_JAVA_LIBRARY_OUTPUT_PATH}
|
||||
)
|
||||
|
||||
if (WIN32 AND NOT CYGWIN)
|
||||
if (WIN32 AND NOT CYGWIN AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
|
||||
set(CMAKE_JAVA_INCLUDE_FLAG_SEP ";")
|
||||
else ()
|
||||
set(CMAKE_JAVA_INCLUDE_FLAG_SEP ":")
|
||||
|
@ -252,20 +284,18 @@ function(add_jar _TARGET_NAME)
|
|||
set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${CMAKE_JAVA_TARGET_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
|
||||
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${_add_jar_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
|
||||
|
||||
set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}.jar")
|
||||
if (CMAKE_JAVA_TARGET_OUTPUT_NAME AND CMAKE_JAVA_TARGET_VERSION)
|
||||
set(_JAVA_TARGET_OUTPUT_NAME "${CMAKE_JAVA_TARGET_OUTPUT_NAME}-${CMAKE_JAVA_TARGET_VERSION}.jar")
|
||||
set(_JAVA_TARGET_OUTPUT_LINK "${CMAKE_JAVA_TARGET_OUTPUT_NAME}.jar")
|
||||
elseif (CMAKE_JAVA_TARGET_VERSION)
|
||||
set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}-${CMAKE_JAVA_TARGET_VERSION}.jar")
|
||||
if (_add_jar_OUTPUT_NAME AND _add_jar_VERSION)
|
||||
set(_JAVA_TARGET_OUTPUT_NAME "${_add_jar_OUTPUT_NAME}-${_add_jar_VERSION}.jar")
|
||||
set(_JAVA_TARGET_OUTPUT_LINK "${_add_jar_OUTPUT_NAME}.jar")
|
||||
elseif (_add_jar_VERSION)
|
||||
set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}-${_add_jar_VERSION}.jar")
|
||||
set(_JAVA_TARGET_OUTPUT_LINK "${_TARGET_NAME}.jar")
|
||||
elseif (CMAKE_JAVA_TARGET_OUTPUT_NAME)
|
||||
set(_JAVA_TARGET_OUTPUT_NAME "${CMAKE_JAVA_TARGET_OUTPUT_NAME}.jar")
|
||||
elseif (_add_jar_OUTPUT_NAME)
|
||||
set(_JAVA_TARGET_OUTPUT_NAME "${_add_jar_OUTPUT_NAME}.jar")
|
||||
endif ()
|
||||
# reset
|
||||
set(CMAKE_JAVA_TARGET_OUTPUT_NAME)
|
||||
|
||||
set(_JAVA_CLASS_FILES)
|
||||
set(_JAVA_COMPILE_FILES)
|
||||
|
@ -279,7 +309,7 @@ function(add_jar _TARGET_NAME)
|
|||
get_filename_component(_JAVA_FULL ${_JAVA_SOURCE_FILE} ABSOLUTE)
|
||||
|
||||
if (_JAVA_EXT MATCHES ".java")
|
||||
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${CMAKE_JAVA_TARGET_OUTPUT_DIR} ${_JAVA_FULL})
|
||||
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${_add_jar_OUTPUT_DIR} ${_JAVA_FULL})
|
||||
file(RELATIVE_PATH _JAVA_REL_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${_JAVA_FULL})
|
||||
string(LENGTH ${_JAVA_REL_BINARY_PATH} _BIN_LEN)
|
||||
string(LENGTH ${_JAVA_REL_SOURCE_PATH} _SRC_LEN)
|
||||
|
@ -364,7 +394,7 @@ function(add_jar _TARGET_NAME)
|
|||
|
||||
# create the jar file
|
||||
set(_JAVA_JAR_OUTPUT_PATH
|
||||
${CMAKE_JAVA_TARGET_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_NAME})
|
||||
${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_NAME})
|
||||
if (CMAKE_JNI_TARGET)
|
||||
add_custom_command(
|
||||
OUTPUT ${_JAVA_JAR_OUTPUT_PATH}
|
||||
|
@ -372,12 +402,12 @@ function(add_jar _TARGET_NAME)
|
|||
-cf${_ENTRY_POINT_OPTION} ${_JAVA_JAR_OUTPUT_PATH} ${_ENTRY_POINT_VALUE}
|
||||
${_JAVA_RESOURCE_FILES} @java_class_filelist
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-D_JAVA_TARGET_DIR=${CMAKE_JAVA_TARGET_OUTPUT_DIR}
|
||||
-D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
|
||||
-D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_TARGET_OUTPUT_NAME}
|
||||
-D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
|
||||
-P ${_JAVA_SYMLINK_SCRIPT}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-D_JAVA_TARGET_DIR=${CMAKE_JAVA_TARGET_OUTPUT_DIR}
|
||||
-D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
|
||||
-D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_JAR_OUTPUT_PATH}
|
||||
-D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
|
||||
-P ${_JAVA_SYMLINK_SCRIPT}
|
||||
|
@ -392,7 +422,7 @@ function(add_jar _TARGET_NAME)
|
|||
-cf${_ENTRY_POINT_OPTION} ${_JAVA_JAR_OUTPUT_PATH} ${_ENTRY_POINT_VALUE}
|
||||
${_JAVA_RESOURCE_FILES} @java_class_filelist
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-D_JAVA_TARGET_DIR=${CMAKE_JAVA_TARGET_OUTPUT_DIR}
|
||||
-D_JAVA_TARGET_DIR=${_add_jar_OUTPUT_DIR}
|
||||
-D_JAVA_TARGET_OUTPUT_NAME=${_JAVA_TARGET_OUTPUT_NAME}
|
||||
-D_JAVA_TARGET_OUTPUT_LINK=${_JAVA_TARGET_OUTPUT_LINK}
|
||||
-P ${_JAVA_SYMLINK_SCRIPT}
|
||||
|
@ -420,7 +450,7 @@ function(add_jar _TARGET_NAME)
|
|||
PROPERTY
|
||||
INSTALL_FILES
|
||||
${_JAVA_JAR_OUTPUT_PATH}
|
||||
${CMAKE_JAVA_TARGET_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
|
||||
${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
|
||||
)
|
||||
|
||||
if (CMAKE_JNI_TARGET)
|
||||
|
@ -429,7 +459,7 @@ function(add_jar _TARGET_NAME)
|
|||
${_TARGET_NAME}
|
||||
PROPERTY
|
||||
JNI_SYMLINK
|
||||
${CMAKE_JAVA_TARGET_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
|
||||
${_add_jar_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
|
|
@ -11,7 +11,11 @@
|
|||
#=============================================================================
|
||||
include(CheckIncludeFile)
|
||||
# Check if we can build support for ELF parsing.
|
||||
CHECK_INCLUDE_FILE("elf.h" HAVE_ELF_H)
|
||||
if(CMAKE_CXX_PLATFORM_ID MATCHES "OpenBSD")
|
||||
CHECK_INCLUDE_FILES("stdint.h;elf_abi.h" HAVE_ELF_H)
|
||||
else()
|
||||
CHECK_INCLUDE_FILE("elf.h" HAVE_ELF_H)
|
||||
endif()
|
||||
if(HAVE_ELF_H)
|
||||
set(CMAKE_USE_ELF_PARSER 1)
|
||||
else()
|
||||
|
@ -113,7 +117,8 @@ endif()
|
|||
set(SRCS
|
||||
cmStandardIncludes.cxx
|
||||
cmArchiveWrite.cxx
|
||||
cmBootstrapCommands.cxx
|
||||
cmBootstrapCommands1.cxx
|
||||
cmBootstrapCommands2.cxx
|
||||
cmCacheManager.cxx
|
||||
cmCacheManager.h
|
||||
cmCommands.cxx
|
||||
|
@ -359,6 +364,10 @@ if (WIN32)
|
|||
cmLocalVisualStudio7Generator.h
|
||||
cmLocalVisualStudioGenerator.cxx
|
||||
cmLocalVisualStudioGenerator.h
|
||||
cmVisualStudioSlnData.h
|
||||
cmVisualStudioSlnData.cxx
|
||||
cmVisualStudioSlnParser.h
|
||||
cmVisualStudioSlnParser.cxx
|
||||
cmVisualStudioWCEPlatformParser.h
|
||||
cmVisualStudioWCEPlatformParser.cxx
|
||||
cmWin32ProcessExecution.cxx
|
||||
|
@ -539,7 +548,8 @@ endif()
|
|||
add_executable(cmake cmakemain.cxx)
|
||||
target_link_libraries(cmake CMakeLib)
|
||||
|
||||
# Build special executable for running programs on Windows 98
|
||||
# Build special executable for running programs on Windows 98.
|
||||
# Included on any Windows (unconditional packaging required!).
|
||||
if(WIN32)
|
||||
if(NOT UNIX)
|
||||
add_executable(cmw9xcom cmw9xcom.cxx)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# CMake version number components.
|
||||
set(CMake_VERSION_MAJOR 2)
|
||||
set(CMake_VERSION_MINOR 8)
|
||||
set(CMake_VERSION_PATCH 10)
|
||||
set(CMake_VERSION_TWEAK 20130515)
|
||||
set(CMake_VERSION_PATCH 11)
|
||||
set(CMake_VERSION_TWEAK 20130628)
|
||||
#set(CMake_VERSION_RC 1)
|
||||
|
|
|
@ -60,7 +60,7 @@ void cmCPackDocumentVariables::DefineVariables(cmake* cm)
|
|||
"It is usually invoked like this:\n"
|
||||
" make DESTDIR=/home/john install\n"
|
||||
"which will install the concerned software using the"
|
||||
" installation prefix, e.g. \"/usr/local\" pre-pended with "
|
||||
" installation prefix, e.g. \"/usr/local\" prepended with "
|
||||
"the DESTDIR value which finally gives \"/home/john/usr/local\"."
|
||||
" When preparing a package, CPack first installs the items to be "
|
||||
"packaged in a local (to the build tree) directory by using the "
|
||||
|
|
|
@ -638,7 +638,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
|
|||
= this->MakefileMap->GetDefinition("CMAKE_MAKE_PROGRAM");
|
||||
std::string buildCommand
|
||||
= globalGenerator->GenerateBuildCommand(cmakeMakeProgram,
|
||||
installProjectName.c_str(), 0,
|
||||
installProjectName.c_str(), 0, 0,
|
||||
globalGenerator->GetPreinstallTargetName(),
|
||||
buildConfig, false, false);
|
||||
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
||||
|
|
|
@ -130,10 +130,11 @@ cmCTestGenericHandler* cmCTestBuildCommand::InitializeHandler()
|
|||
cmakeBuildConfiguration = config;
|
||||
}
|
||||
|
||||
std::string dir = this->CTest->GetCTestConfiguration("BuildDirectory");
|
||||
std::string buildCommand
|
||||
= this->GlobalGenerator->
|
||||
GenerateBuildCommand(cmakeMakeProgram,
|
||||
cmakeProjectName,
|
||||
cmakeProjectName, dir.c_str(),
|
||||
cmakeBuildAdditionalFlags, cmakeBuildTarget,
|
||||
cmakeBuildConfiguration, true, false);
|
||||
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
|
||||
|
|
|
@ -31,32 +31,6 @@ cmCTestGenericHandler* cmCTestConfigureCommand::InitializeHandler()
|
|||
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() )
|
||||
{
|
||||
this->SetError("Build directory not specified. Either use BUILD "
|
||||
|
|
|
@ -70,19 +70,6 @@ bool cmCTestHandlerCommand
|
|||
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] )
|
||||
{
|
||||
this->CTest->SetCTestConfiguration("BuildDirectory",
|
||||
|
@ -119,6 +106,20 @@ bool cmCTestHandlerCommand
|
|||
cmSystemTools::CollapseFullPath(
|
||||
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->CTest->GetDropSiteCDash() && this->CTest->GetDartVersion() <= 1)
|
||||
|
|
|
@ -43,8 +43,7 @@ static CatToErrorType cmCTestMemCheckBoundsChecker[] = {
|
|||
{0,0}
|
||||
};
|
||||
|
||||
// parse the xml file storing the installed version of Xcode on
|
||||
// the machine
|
||||
// parse the xml file containing the results of last BoundsChecker run
|
||||
class cmBoundsCheckerParser : public cmXMLParser
|
||||
{
|
||||
public:
|
||||
|
@ -461,13 +460,6 @@ bool cmCTestMemCheckHandler::InitializeMemoryChecking()
|
|||
return false;
|
||||
}
|
||||
|
||||
if ( this->MemoryTester[0] == '\"' &&
|
||||
this->MemoryTester[this->MemoryTester.size()-1] == '\"' )
|
||||
{
|
||||
this->MemoryTester
|
||||
= this->MemoryTester.substr(1, this->MemoryTester.size()-2);
|
||||
}
|
||||
|
||||
// Setup the options
|
||||
std::string memoryTesterOptions;
|
||||
if ( this->CTest->GetCTestConfiguration(
|
||||
|
@ -491,13 +483,13 @@ bool cmCTestMemCheckHandler::InitializeMemoryChecking()
|
|||
switch ( this->MemoryTesterStyle )
|
||||
{
|
||||
case cmCTestMemCheckHandler::VALGRIND:
|
||||
{
|
||||
if ( this->MemoryTesterOptions.empty() )
|
||||
{
|
||||
this->MemoryTesterOptions.push_back("-q");
|
||||
this->MemoryTesterOptions.push_back("--tool=memcheck");
|
||||
this->MemoryTesterOptions.push_back("--leak-check=yes");
|
||||
this->MemoryTesterOptions.push_back("--show-reachable=yes");
|
||||
this->MemoryTesterOptions.push_back("--workaround-gcc296-bugs=yes");
|
||||
this->MemoryTesterOptions.push_back("--num-callers=50");
|
||||
}
|
||||
if ( this->CTest->GetCTestConfiguration(
|
||||
|
@ -516,7 +508,11 @@ bool cmCTestMemCheckHandler::InitializeMemoryChecking()
|
|||
+ this->CTest->GetCTestConfiguration("MemoryCheckSuppressionFile");
|
||||
this->MemoryTesterOptions.push_back(suppressions);
|
||||
}
|
||||
std::string outputFile = "--log-file="
|
||||
+ this->MemoryTesterOutputFile;
|
||||
this->MemoryTesterOptions.push_back(outputFile);
|
||||
break;
|
||||
}
|
||||
case cmCTestMemCheckHandler::PURIFY:
|
||||
{
|
||||
std::string outputFile;
|
||||
|
@ -948,6 +944,21 @@ cmCTestMemCheckHandler::PostProcessPurifyTest(cmCTestTestResult& res)
|
|||
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
|
||||
"PostProcessPurifyTest for : "
|
||||
<< res.Name.c_str() << std::endl);
|
||||
appendMemTesterOutput(res);
|
||||
}
|
||||
|
||||
void
|
||||
cmCTestMemCheckHandler::PostProcessValgrindTest(cmCTestTestResult& res)
|
||||
{
|
||||
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
|
||||
"PostProcessValgrindTest for : "
|
||||
<< res.Name.c_str() << std::endl);
|
||||
appendMemTesterOutput(res);
|
||||
}
|
||||
|
||||
void
|
||||
cmCTestMemCheckHandler::appendMemTesterOutput(cmCTestTestResult& res)
|
||||
{
|
||||
if ( !cmSystemTools::FileExists(this->MemoryTesterOutputFile.c_str()) )
|
||||
{
|
||||
std::string log = "Cannot find memory tester output file: "
|
||||
|
|
|
@ -119,6 +119,10 @@ private:
|
|||
|
||||
void PostProcessPurifyTest(cmCTestTestResult& res);
|
||||
void PostProcessBoundsCheckerTest(cmCTestTestResult& res);
|
||||
void PostProcessValgrindTest(cmCTestTestResult& res);
|
||||
|
||||
///! append MemoryTesterOutputFile to the test log
|
||||
void appendMemTesterOutput(cmCTestTestHandler::cmCTestTestResult& res);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -166,6 +166,7 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
|
|||
{
|
||||
found = true;
|
||||
reason = "Required regular expression found.";
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( !found )
|
||||
|
@ -196,6 +197,7 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
|
|||
reason += passIt->second;
|
||||
reason += "]";
|
||||
forceFail = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -384,13 +386,19 @@ void cmCTestRunTest::MemCheckPostProcess()
|
|||
<< this->TestResult.Name.c_str() << std::endl);
|
||||
cmCTestMemCheckHandler * handler = static_cast<cmCTestMemCheckHandler*>
|
||||
(this->TestHandler);
|
||||
if(handler->MemoryTesterStyle == cmCTestMemCheckHandler::BOUNDS_CHECKER)
|
||||
{
|
||||
handler->PostProcessBoundsCheckerTest(this->TestResult);
|
||||
}
|
||||
else if(handler->MemoryTesterStyle == cmCTestMemCheckHandler::PURIFY)
|
||||
switch ( handler->MemoryTesterStyle )
|
||||
{
|
||||
case cmCTestMemCheckHandler::VALGRIND:
|
||||
handler->PostProcessValgrindTest(this->TestResult);
|
||||
break;
|
||||
case cmCTestMemCheckHandler::PURIFY:
|
||||
handler->PostProcessPurifyTest(this->TestResult);
|
||||
break;
|
||||
case cmCTestMemCheckHandler::BOUNDS_CHECKER:
|
||||
handler->PostProcessBoundsCheckerTest(this->TestResult);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -82,7 +82,6 @@ bool cmCTestSubdirCommand
|
|||
std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
|
||||
for ( it = args.begin(); it != args.end(); ++ it )
|
||||
{
|
||||
cmSystemTools::ChangeDirectory(cwd.c_str());
|
||||
std::string fname;
|
||||
|
||||
if(cmSystemTools::FileIsFullPath(it->c_str()))
|
||||
|
@ -116,7 +115,6 @@ bool cmCTestSubdirCommand
|
|||
else
|
||||
{
|
||||
// No CTestTestfile? Who cares...
|
||||
cmSystemTools::ChangeDirectory(cwd.c_str());
|
||||
continue;
|
||||
}
|
||||
fname += "/";
|
||||
|
@ -133,6 +131,7 @@ bool cmCTestSubdirCommand
|
|||
return false;
|
||||
}
|
||||
}
|
||||
cmSystemTools::ChangeDirectory(cwd.c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1363,7 +1362,7 @@ void cmCTestTestHandler
|
|||
tempPath += filename;
|
||||
attempted.push_back(tempPath);
|
||||
attemptedConfigs.push_back(ctest->GetConfigType());
|
||||
// If the file is an OSX bundle then the configtyp
|
||||
// If the file is an OSX bundle then the configtype
|
||||
// will be at the start of the path
|
||||
tempPath = ctest->GetConfigType();
|
||||
tempPath += "/";
|
||||
|
@ -1374,7 +1373,7 @@ void cmCTestTestHandler
|
|||
}
|
||||
else
|
||||
{
|
||||
// no config specified to try some options
|
||||
// no config specified - try some options...
|
||||
tempPath = filepath;
|
||||
tempPath += "Release/";
|
||||
tempPath += filename;
|
||||
|
|
|
@ -175,6 +175,14 @@ int cmProcess::GetNextOutputLine(std::string& line, double timeout)
|
|||
// Record exit information.
|
||||
this->ExitValue = cmsysProcess_GetExitValue(this->Process);
|
||||
this->TotalTime = cmSystemTools::GetTime() - this->StartTime;
|
||||
// Because of a processor clock scew the runtime may become slightly
|
||||
// negative. If someone changed the system clock while the process was
|
||||
// running this may be even more. Make sure not to report a negative
|
||||
// duration here.
|
||||
if (this->TotalTime <= 0.0)
|
||||
{
|
||||
this->TotalTime = 0.0;
|
||||
}
|
||||
// std::cerr << "Time to run: " << this->TotalTime << "\n";
|
||||
return cmsysProcess_Pipe_None;
|
||||
}
|
||||
|
|
|
@ -176,7 +176,7 @@ static int FE_Delete_Previous(FORM *);
|
|||
#define Address_Of_Current_Position_In_Buffer(form) \
|
||||
Address_Of_Current_Position_In_Nth_Buffer(form,0)
|
||||
|
||||
/* Logic to decide wether or not a field is actually a field with
|
||||
/* Logic to decide whether or not a field is actually a field with
|
||||
vertical or horizontal scrolling */
|
||||
#define Is_Scroll_Field(field) \
|
||||
(((field)->drows > (field)->rows) || \
|
||||
|
@ -2100,7 +2100,7 @@ static int Insert_String(FORM *form, int row, char *txt, int len)
|
|||
| the wrapping.
|
||||
|
|
||||
| Return Values : E_OK - no wrapping required or wrapping
|
||||
| was successfull
|
||||
| was successful
|
||||
| E_REQUEST_DENIED -
|
||||
| E_SYSTEM_ERROR - some system error
|
||||
+--------------------------------------------------------------------------*/
|
||||
|
@ -3825,7 +3825,7 @@ int set_field_buffer(FIELD * field, int buffer, const char * value)
|
|||
(int)(1 + (vlen-len)/((field->rows+field->nrow)*field->cols))))
|
||||
RETURN(E_SYSTEM_ERROR);
|
||||
|
||||
/* in this case we also have to check, wether or not the remaining
|
||||
/* in this case we also have to check, whether or not the remaining
|
||||
characters in value are also printable for buffer 0. */
|
||||
if (buffer==0)
|
||||
{
|
||||
|
|
|
@ -101,7 +101,7 @@ static void Free_Enum_Type(void * argp)
|
|||
| const unsigned char * buf,
|
||||
| bool ccase )
|
||||
|
|
||||
| Description : Check wether or not the text in 'buf' matches the
|
||||
| Description : Check whether or not the text in 'buf' matches the
|
||||
| text in 's', at least partial.
|
||||
|
|
||||
| Return Values : NOMATCH - buffer doesn't match
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include <QShortcut>
|
||||
#include <QKeySequence>
|
||||
#include <QMacInstallDialog.h>
|
||||
#include <QInputDialog>
|
||||
|
||||
#include "QCMake.h"
|
||||
#include "QCMakeCacheView.h"
|
||||
|
@ -122,6 +123,22 @@ CMakeSetupDialog::CMakeSetupDialog()
|
|||
QObject::connect(this->InstallForCommandLineAction, SIGNAL(triggered(bool)),
|
||||
this, SLOT(doInstallForCommandLine()));
|
||||
#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"));
|
||||
this->SuppressDevWarningsAction =
|
||||
OptionsMenu->addAction(tr("&Suppress dev Warnings (-Wno-dev)"));
|
||||
|
@ -154,10 +171,6 @@ CMakeSetupDialog::CMakeSetupDialog()
|
|||
QObject::connect(a, SIGNAL(triggered(bool)),
|
||||
this, SLOT(doHelp()));
|
||||
|
||||
QShortcut* filterShortcut = new QShortcut(QKeySequence::Find, this);
|
||||
QObject::connect(filterShortcut, SIGNAL(activated()),
|
||||
this, SLOT(startSearch()));
|
||||
|
||||
this->setAcceptDrops(true);
|
||||
|
||||
// get the saved binary directories
|
||||
|
@ -172,6 +185,10 @@ CMakeSetupDialog::CMakeSetupDialog()
|
|||
this->Output->setFont(outputFont);
|
||||
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
|
||||
this->CMakeThread = new QCMakeThread(this);
|
||||
QObject::connect(this->CMakeThread, SIGNAL(cmakeInitialized()),
|
||||
|
@ -637,7 +654,13 @@ void CMakeSetupDialog::showProgress(const QString& /*msg*/, float percent)
|
|||
void CMakeSetupDialog::error(const QString& msg)
|
||||
{
|
||||
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)
|
||||
|
@ -1149,4 +1172,134 @@ void CMakeSetupDialog::setSearchFilter(const QString& 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 doGenerateInternal();
|
||||
void exitLoop(int);
|
||||
void doOutputContextMenu(const QPoint &);
|
||||
void doOutputFindDialog();
|
||||
void doOutputFindNext(bool directionForward = true);
|
||||
void doOutputFindPrev();
|
||||
void doOutputErrorNext();
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -106,6 +111,7 @@ protected:
|
|||
QTextCharFormat MessageFormat;
|
||||
|
||||
QStringList AddVariableCompletions;
|
||||
QStringList FindHistory;
|
||||
|
||||
QEventLoop LocalLoop;
|
||||
|
||||
|
|
|
@ -107,7 +107,10 @@
|
|||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Search:</string>
|
||||
<string>S&earch:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>Search</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -177,7 +177,7 @@ QModelIndex QCMakeCacheView::moveCursor(CursorAction act,
|
|||
void QCMakeCacheView::setShowAdvanced(bool s)
|
||||
{
|
||||
#if QT_VERSION >= 040300
|
||||
// new 4.3 api that needs to be called. what about an older Qt?
|
||||
// new 4.3 API that needs to be called. what about an older Qt?
|
||||
this->SearchFilter->invalidate();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2013 Stephen Kelly <steveire@gmail.com>
|
||||
|
||||
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 "cmAddCompileOptionsCommand.h"
|
||||
|
||||
bool cmAddCompileOptionsCommand
|
||||
::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
|
||||
{
|
||||
if(args.size() < 1 )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
for(std::vector<std::string>::const_iterator i = args.begin();
|
||||
i != args.end(); ++i)
|
||||
{
|
||||
this->Makefile->AddCompileOption(i->c_str());
|
||||
}
|
||||
return true;
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2013 Stephen Kelly <steveire@gmail.com>
|
||||
|
||||
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 cmAddCompileOptionsCommand_h
|
||||
#define cmAddCompileOptionsCommand_h
|
||||
|
||||
#include "cmCommand.h"
|
||||
#include "cmDocumentGeneratorExpressions.h"
|
||||
|
||||
class cmAddCompileOptionsCommand : public cmCommand
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* This is a virtual constructor for the command.
|
||||
*/
|
||||
virtual cmCommand* Clone()
|
||||
{
|
||||
return new cmAddCompileOptionsCommand;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is called when the command is first encountered in
|
||||
* the CMakeLists.txt file.
|
||||
*/
|
||||
virtual bool InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus &status);
|
||||
|
||||
/**
|
||||
* The name of the command as specified in CMakeList.txt.
|
||||
*/
|
||||
virtual const char* GetName() const {return "add_compile_options";}
|
||||
|
||||
/**
|
||||
* Succinct documentation.
|
||||
*/
|
||||
virtual const char* GetTerseDocumentation() const
|
||||
{
|
||||
return "Adds options to the compilation of source files.";
|
||||
}
|
||||
|
||||
/**
|
||||
* More documentation.
|
||||
*/
|
||||
virtual const char* GetFullDocumentation() const
|
||||
{
|
||||
return
|
||||
" add_compile_options(<option> ...)\n"
|
||||
"Adds options to the compiler command line for sources in the "
|
||||
"current directory and below. This command can be used to add any "
|
||||
"options, but alternative commands exist to add preprocessor "
|
||||
"definitions or include directories. "
|
||||
"See documentation of the directory and target COMPILE_OPTIONS "
|
||||
"properties for details. "
|
||||
"Arguments to add_compile_options may use \"generator "
|
||||
"expressions\" with the syntax \"$<...>\". "
|
||||
CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS
|
||||
CM_DOCUMENT_LANGUAGE_GENERATOR_EXPRESSIONS
|
||||
;
|
||||
}
|
||||
|
||||
cmTypeMacro(cmAddCompileOptionsCommand, cmCommand);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -63,7 +63,7 @@ public:
|
|||
"but it was originally intended to add preprocessor definitions. "
|
||||
"Flags beginning in -D or /D that look like preprocessor definitions "
|
||||
"are automatically added to the COMPILE_DEFINITIONS property for "
|
||||
"the current directory. Definitions with non-trival values may be "
|
||||
"the current directory. Definitions with non-trivial values may be "
|
||||
"left in the set of flags instead of being converted for reasons of "
|
||||
"backwards compatibility. See documentation of the directory, "
|
||||
"target, and source file COMPILE_DEFINITIONS properties for details "
|
||||
|
@ -73,8 +73,6 @@ public:
|
|||
}
|
||||
|
||||
cmTypeMacro(cmAddDefinitionsCommand, cmCommand);
|
||||
private:
|
||||
bool ParseDefinition(std::string const& def);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ public:
|
|||
" add_subdirectory(source_dir [binary_dir] \n"
|
||||
" [EXCLUDE_FROM_ALL])\n"
|
||||
"Add a subdirectory to the build. The source_dir specifies the "
|
||||
"directory in which the source CmakeLists.txt and code files are "
|
||||
"directory in which the source CMakeLists.txt and code files are "
|
||||
"located. If it is a relative "
|
||||
"path it will be evaluated with respect to the current "
|
||||
"directory (the typical usage), but it may also be an absolute path. "
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2009 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.
|
||||
============================================================================*/
|
||||
// This file is used to compile all the commands
|
||||
// that CMake knows about at compile time.
|
||||
// This is sort of a boot strapping approach since you would
|
||||
// like to have CMake to build CMake.
|
||||
#include "cmCommands.h"
|
||||
#include "cmAddCustomCommandCommand.cxx"
|
||||
#include "cmAddCustomTargetCommand.cxx"
|
||||
#include "cmAddDefinitionsCommand.cxx"
|
||||
#include "cmAddDependenciesCommand.cxx"
|
||||
#include "cmAddExecutableCommand.cxx"
|
||||
#include "cmAddLibraryCommand.cxx"
|
||||
#include "cmAddSubDirectoryCommand.cxx"
|
||||
#include "cmAddTestCommand.cxx"
|
||||
#include "cmBreakCommand.cxx"
|
||||
#include "cmBuildCommand.cxx"
|
||||
#include "cmCMakeMinimumRequired.cxx"
|
||||
#include "cmCMakePolicyCommand.cxx"
|
||||
#include "cmCommandArgumentsHelper.cxx"
|
||||
#include "cmConfigureFileCommand.cxx"
|
||||
#include "cmCoreTryCompile.cxx"
|
||||
#include "cmCreateTestSourceList.cxx"
|
||||
#include "cmDefinePropertyCommand.cxx"
|
||||
#include "cmElseCommand.cxx"
|
||||
#include "cmEnableLanguageCommand.cxx"
|
||||
#include "cmEnableTestingCommand.cxx"
|
||||
#include "cmEndForEachCommand.cxx"
|
||||
#include "cmEndFunctionCommand.cxx"
|
||||
#include "cmEndIfCommand.cxx"
|
||||
#include "cmEndMacroCommand.cxx"
|
||||
#include "cmEndWhileCommand.cxx"
|
||||
#include "cmExecProgramCommand.cxx"
|
||||
#include "cmExecuteProcessCommand.cxx"
|
||||
#include "cmExternalMakefileProjectGenerator.cxx"
|
||||
#include "cmFindBase.cxx"
|
||||
#include "cmFindCommon.cxx"
|
||||
#include "cmFileCommand.cxx"
|
||||
#include "cmFindFileCommand.cxx"
|
||||
#include "cmFindLibraryCommand.cxx"
|
||||
#include "cmFindPackageCommand.cxx"
|
||||
#include "cmFindPathCommand.cxx"
|
||||
#include "cmFindProgramCommand.cxx"
|
||||
#include "cmForEachCommand.cxx"
|
||||
#include "cmFunctionCommand.cxx"
|
||||
|
||||
void GetBootstrapCommands1(std::list<cmCommand*>& commands)
|
||||
{
|
||||
commands.push_back(new cmAddCustomCommandCommand);
|
||||
commands.push_back(new cmAddCustomTargetCommand);
|
||||
commands.push_back(new cmAddDefinitionsCommand);
|
||||
commands.push_back(new cmAddDependenciesCommand);
|
||||
commands.push_back(new cmAddExecutableCommand);
|
||||
commands.push_back(new cmAddLibraryCommand);
|
||||
commands.push_back(new cmAddSubDirectoryCommand);
|
||||
commands.push_back(new cmAddTestCommand);
|
||||
commands.push_back(new cmBreakCommand);
|
||||
commands.push_back(new cmBuildCommand);
|
||||
commands.push_back(new cmCMakeMinimumRequired);
|
||||
commands.push_back(new cmCMakePolicyCommand);
|
||||
commands.push_back(new cmConfigureFileCommand);
|
||||
commands.push_back(new cmCreateTestSourceList);
|
||||
commands.push_back(new cmDefinePropertyCommand);
|
||||
commands.push_back(new cmElseCommand);
|
||||
commands.push_back(new cmEnableLanguageCommand);
|
||||
commands.push_back(new cmEnableTestingCommand);
|
||||
commands.push_back(new cmEndForEachCommand);
|
||||
commands.push_back(new cmEndFunctionCommand);
|
||||
commands.push_back(new cmEndIfCommand);
|
||||
commands.push_back(new cmEndMacroCommand);
|
||||
commands.push_back(new cmEndWhileCommand);
|
||||
commands.push_back(new cmExecProgramCommand);
|
||||
commands.push_back(new cmExecuteProcessCommand);
|
||||
commands.push_back(new cmFileCommand);
|
||||
commands.push_back(new cmFindFileCommand);
|
||||
commands.push_back(new cmFindLibraryCommand);
|
||||
commands.push_back(new cmFindPackageCommand);
|
||||
commands.push_back(new cmFindPathCommand);
|
||||
commands.push_back(new cmFindProgramCommand);
|
||||
commands.push_back(new cmForEachCommand);
|
||||
commands.push_back(new cmFunctionCommand);
|
||||
}
|
|
@ -14,44 +14,7 @@
|
|||
// This is sort of a boot strapping approach since you would
|
||||
// like to have CMake to build CMake.
|
||||
#include "cmCommands.h"
|
||||
#include "cmAddCustomCommandCommand.cxx"
|
||||
#include "cmAddCustomTargetCommand.cxx"
|
||||
#include "cmAddDefinitionsCommand.cxx"
|
||||
#include "cmAddDependenciesCommand.cxx"
|
||||
#include "cmAddExecutableCommand.cxx"
|
||||
#include "cmAddLibraryCommand.cxx"
|
||||
#include "cmAddSubDirectoryCommand.cxx"
|
||||
#include "cmAddTestCommand.cxx"
|
||||
#include "cmBreakCommand.cxx"
|
||||
#include "cmBuildCommand.cxx"
|
||||
#include "cmCMakeMinimumRequired.cxx"
|
||||
#include "cmCMakePolicyCommand.cxx"
|
||||
#include "cmCommandArgumentsHelper.cxx"
|
||||
#include "cmConfigureFileCommand.cxx"
|
||||
#include "cmCoreTryCompile.cxx"
|
||||
#include "cmCreateTestSourceList.cxx"
|
||||
#include "cmDefinePropertyCommand.cxx"
|
||||
#include "cmElseCommand.cxx"
|
||||
#include "cmEnableLanguageCommand.cxx"
|
||||
#include "cmEnableTestingCommand.cxx"
|
||||
#include "cmEndForEachCommand.cxx"
|
||||
#include "cmEndFunctionCommand.cxx"
|
||||
#include "cmEndIfCommand.cxx"
|
||||
#include "cmEndMacroCommand.cxx"
|
||||
#include "cmEndWhileCommand.cxx"
|
||||
#include "cmExecProgramCommand.cxx"
|
||||
#include "cmExecuteProcessCommand.cxx"
|
||||
#include "cmExternalMakefileProjectGenerator.cxx"
|
||||
#include "cmFindBase.cxx"
|
||||
#include "cmFindCommon.cxx"
|
||||
#include "cmFileCommand.cxx"
|
||||
#include "cmFindFileCommand.cxx"
|
||||
#include "cmFindLibraryCommand.cxx"
|
||||
#include "cmFindPackageCommand.cxx"
|
||||
#include "cmFindPathCommand.cxx"
|
||||
#include "cmFindProgramCommand.cxx"
|
||||
#include "cmForEachCommand.cxx"
|
||||
#include "cmFunctionCommand.cxx"
|
||||
#include "cmGeneratorExpressionEvaluationFile.cxx"
|
||||
#include "cmGetCMakePropertyCommand.cxx"
|
||||
#include "cmGetDirectoryPropertyCommand.cxx"
|
||||
#include "cmGetFilenameComponentCommand.cxx"
|
||||
|
@ -95,41 +58,8 @@
|
|||
#include "cmUnsetCommand.cxx"
|
||||
#include "cmWhileCommand.cxx"
|
||||
|
||||
void GetBootstrapCommands(std::list<cmCommand*>& commands)
|
||||
void GetBootstrapCommands2(std::list<cmCommand*>& commands)
|
||||
{
|
||||
commands.push_back(new cmAddCustomCommandCommand);
|
||||
commands.push_back(new cmAddCustomTargetCommand);
|
||||
commands.push_back(new cmAddDefinitionsCommand);
|
||||
commands.push_back(new cmAddDependenciesCommand);
|
||||
commands.push_back(new cmAddExecutableCommand);
|
||||
commands.push_back(new cmAddLibraryCommand);
|
||||
commands.push_back(new cmAddSubDirectoryCommand);
|
||||
commands.push_back(new cmAddTestCommand);
|
||||
commands.push_back(new cmBreakCommand);
|
||||
commands.push_back(new cmBuildCommand);
|
||||
commands.push_back(new cmCMakeMinimumRequired);
|
||||
commands.push_back(new cmCMakePolicyCommand);
|
||||
commands.push_back(new cmConfigureFileCommand);
|
||||
commands.push_back(new cmCreateTestSourceList);
|
||||
commands.push_back(new cmDefinePropertyCommand);
|
||||
commands.push_back(new cmElseCommand);
|
||||
commands.push_back(new cmEnableLanguageCommand);
|
||||
commands.push_back(new cmEnableTestingCommand);
|
||||
commands.push_back(new cmEndForEachCommand);
|
||||
commands.push_back(new cmEndFunctionCommand);
|
||||
commands.push_back(new cmEndIfCommand);
|
||||
commands.push_back(new cmEndMacroCommand);
|
||||
commands.push_back(new cmEndWhileCommand);
|
||||
commands.push_back(new cmExecProgramCommand);
|
||||
commands.push_back(new cmExecuteProcessCommand);
|
||||
commands.push_back(new cmFileCommand);
|
||||
commands.push_back(new cmFindFileCommand);
|
||||
commands.push_back(new cmFindLibraryCommand);
|
||||
commands.push_back(new cmFindPackageCommand);
|
||||
commands.push_back(new cmFindPathCommand);
|
||||
commands.push_back(new cmFindProgramCommand);
|
||||
commands.push_back(new cmForEachCommand);
|
||||
commands.push_back(new cmFunctionCommand);
|
||||
commands.push_back(new cmGetCMakePropertyCommand);
|
||||
commands.push_back(new cmGetDirectoryPropertyCommand);
|
||||
commands.push_back(new cmGetFilenameComponentCommand);
|
|
@ -122,7 +122,7 @@ bool cmBuildCommand
|
|||
//
|
||||
std::string makecommand = this->Makefile->GetLocalGenerator()
|
||||
->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());
|
||||
|
||||
|
@ -153,7 +153,7 @@ bool cmBuildCommand
|
|||
|
||||
std::string makecommand = this->Makefile->GetLocalGenerator()
|
||||
->GetGlobalGenerator()->GenerateBuildCommand
|
||||
(makeprogram.c_str(), this->Makefile->GetProjectName(), 0,
|
||||
(makeprogram.c_str(), this->Makefile->GetProjectName(), 0, 0,
|
||||
0, configType.c_str(), true, false);
|
||||
|
||||
if(cacheValue)
|
||||
|
|
|
@ -0,0 +1,126 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 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 "cmCMakeHostSystemInformationCommand.h"
|
||||
|
||||
#include <cmsys/ios/sstream>
|
||||
|
||||
// cmCMakeHostSystemInformation
|
||||
bool cmCMakeHostSystemInformationCommand
|
||||
::InitialPass(std::vector<std::string> const &args, cmExecutionStatus &)
|
||||
{
|
||||
size_t current_index = 0;
|
||||
|
||||
if(args.size() < (current_index + 2) || args[current_index] != "RESULT")
|
||||
{
|
||||
this->SetError("missing RESULT specification.");
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string variable = args[current_index + 1];
|
||||
current_index += 2;
|
||||
|
||||
if(args.size() < (current_index + 2) || args[current_index] != "QUERY")
|
||||
{
|
||||
this->SetError("missing QUERY specification");
|
||||
return false;
|
||||
}
|
||||
|
||||
cmsys::SystemInformation info;
|
||||
info.RunCPUCheck();
|
||||
info.RunOSCheck();
|
||||
info.RunMemoryCheck();
|
||||
|
||||
std::string result_list;
|
||||
for(size_t i = current_index + 1; i < args.size(); ++i)
|
||||
{
|
||||
std::string key = args[i];
|
||||
if(i != current_index + 1)
|
||||
{
|
||||
result_list += ";";
|
||||
}
|
||||
std::string value;
|
||||
if(!this->GetValue(info, key, value)) return false;
|
||||
|
||||
result_list += value;
|
||||
}
|
||||
|
||||
this->Makefile->AddDefinition(variable.c_str(), result_list.c_str());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cmCMakeHostSystemInformationCommand
|
||||
::GetValue(cmsys::SystemInformation &info,
|
||||
std::string const& key, std::string &value)
|
||||
{
|
||||
if(key == "NUMBER_OF_LOGICAL_CORES")
|
||||
{
|
||||
value = this->ValueToString(info.GetNumberOfLogicalCPU());
|
||||
}
|
||||
else if(key == "NUMBER_OF_PHYSICAL_CORES")
|
||||
{
|
||||
value = this->ValueToString(info.GetNumberOfPhysicalCPU());
|
||||
}
|
||||
else if(key == "HOSTNAME")
|
||||
{
|
||||
value = this->ValueToString(info.GetHostname());
|
||||
}
|
||||
else if(key == "FQDN")
|
||||
{
|
||||
value = this->ValueToString(info.GetFullyQualifiedDomainName());
|
||||
}
|
||||
else if(key == "TOTAL_VIRTUAL_MEMORY")
|
||||
{
|
||||
value = this->ValueToString(info.GetTotalVirtualMemory());
|
||||
}
|
||||
else if(key == "AVAILABLE_VIRTUAL_MEMORY")
|
||||
{
|
||||
value = this->ValueToString(info.GetAvailableVirtualMemory());
|
||||
}
|
||||
else if(key == "TOTAL_PHYSICAL_MEMORY")
|
||||
{
|
||||
value = this->ValueToString(info.GetTotalPhysicalMemory());
|
||||
}
|
||||
else if(key == "AVAILABLE_PHYSICAL_MEMORY")
|
||||
{
|
||||
value = this->ValueToString(info.GetAvailablePhysicalMemory());
|
||||
}
|
||||
else
|
||||
{
|
||||
std::string e = "does not recognize <key> " + key;
|
||||
this->SetError(e.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string cmCMakeHostSystemInformationCommand
|
||||
::ValueToString(size_t value) const
|
||||
{
|
||||
cmsys_ios::stringstream tmp;
|
||||
tmp << value;
|
||||
return tmp.str();
|
||||
}
|
||||
|
||||
std::string cmCMakeHostSystemInformationCommand
|
||||
::ValueToString(const char *value) const
|
||||
{
|
||||
std::string safe_string = value ? value : "";
|
||||
return safe_string;
|
||||
}
|
||||
|
||||
std::string cmCMakeHostSystemInformationCommand
|
||||
::ValueToString(std::string const& value) const
|
||||
{
|
||||
return value;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue