[Cmake-commits] CMake branch, next, updated. v3.4.0-1349-gfa843e7
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via fa843e7614ccf613e7709cefbcaa8935616d5900 (commit) via 973e97cd31edd3bbf6326a81f9dcb1712392b40e (commit) from 2acc0abc0c34ab7ca49777c8e64ed455c48e8ce2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fa843e7614ccf613e7709cefbcaa8935616d5900 commit fa843e7614ccf613e7709cefbcaa8935616d5900 Merge: 2acc0ab 973e97c Author: Chuck AtkinsAuthorDate: Fri Nov 13 11:18:01 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 11:18:01 2015 -0500 Merge topic 'add-cray-linux-platform' into next 973e97cd Cray: New platform file for Cray Linux Environment and PrgEnv https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=973e97cd31edd3bbf6326a81f9dcb1712392b40e commit 973e97cd31edd3bbf6326a81f9dcb1712392b40e Author: Chuck Atkins AuthorDate: Fri Nov 13 10:13:24 2015 -0600 Commit: Chuck Atkins CommitDate: Fri Nov 13 10:13:24 2015 -0600 Cray: New platform file for Cray Linux Environment and PrgEnv diff --git a/Modules/Platform/CrayLinuxEnvironment.cmake b/Modules/Platform/CrayLinuxEnvironment.cmake new file mode 100644 index 000..b7be431 --- /dev/null +++ b/Modules/Platform/CrayLinuxEnvironment.cmake @@ -0,0 +1,111 @@ +# Compute Node Linux doesn't quite work the same as native Linux so all of this +# needs to be custom. We use the variables defined through Cray's environment +# modules to set up the right paths for things. + +# Guard against multiple inclusions +if(__CrayLinuxEnvironment) + return() +endif() +set(__CrayLinuxEnvironment 1) + +set(UNIX 1) + +if(DEFINED ENV{CRAYOS_VERSION}) + set(CMAKE_SYSTEM_VERSION "$ENV{CRAYOS_VERSION}") +elseif(DEFINED ENV{XTOS_VERSION}) + set(CMAKE_SYSTEM_VERSION "$ENV{XTOS_VERSION}") +else() + message(FATAL_ERROR "Neither the CRAYXC or CRAYXT CMake variables are defined. Thjis platform file should not be used directly but instead only from the CrayPrgEnv toolchain file") +endif() +message(STATUS "Cray Linux Environment ${CMAKE_SYSTEM_VERSION}") + +# All cray systems are x86 CPUs and have been for quite some time +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_SHARED_LIBRARY_PREFIX "lib") +set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") +set(CMAKE_STATIC_LIBRARY_PREFIX "lib") +set(CMAKE_STATIC_LIBRARY_SUFFIX ".a") + +set(CMAKE_FIND_LIBRARY_PREFIXES "lib") +set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a") +set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE) + +set(CMAKE_DL_LIBS dl) + +# Note: Much of this is pulled from UnixPaths.cmake but adjusted to the Cray +# environment accordingly + +# Get the install directory of the running cmake to the search directories +# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up +get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH) +get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) + + +# Note: Some cray's have the SYSROOT_DIR variable defined, pointing to a copy +# of the NIDs userland. If so, then we'll use it. Otherwise, just assume +# the userland from the login node is ok + +# List common installation prefixes. These will be used for all +# search types. +list(APPEND CMAKE_SYSTEM_PREFIX_PATH + # Standard + $ENV{SYSROOT_DIR}/usr/local $ENV{SYSROOT_DIR}/usr $ENV{SYSROOT_DIR}/ + + # CMake install location + "${_CMAKE_INSTALL_DIR}" + ) +if (NOT CMAKE_FIND_NO_INSTALL_PREFIX) + list(APPEND CMAKE_SYSTEM_PREFIX_PATH +# Project install destination. +"${CMAKE_INSTALL_PREFIX}" + ) + if(CMAKE_STAGING_PREFIX) +list(APPEND CMAKE_SYSTEM_PREFIX_PATH + # User-supplied staging prefix. + "${CMAKE_STAGING_PREFIX}" +) + endif() +endif() + +list(APPEND CMAKE_SYSTEM_INCLUDE_PATH + $ENV{SYSROOT_DIR}/usr/include + $ENV{SYSROOT_DIR}/usr/include/X11 +) +list(APPEND CMAKE_SYSTEM_LIBRARY_PATH + $ENV{SYSROOT_DIR}/usr/local/lib64 + $ENV{SYSROOT_DIR}/usr/lib64 + $ENV{SYSROOT_DIR}/lib64 +) + +list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + $ENV{SYSROOT_DIR}/usr/local/lib64 + $ENV{SYSROOT_DIR}/usr/lib64 + $ENV{SYSROOT_DIR}/lib64 +) +list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES + $ENV{SYSROOT_DIR}/usr/include +) +list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES + $ENV{SYSROOT_DIR}/usr/include +) +list(APPEND CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES + $ENV{SYSROOT_DIR}/usr/include +) + +# Enable use of lib64 search path variants by default. +set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE) + +# Check to see if we're using the cray
[Cmake-commits] CMake branch, next, updated. v3.4.0-1351-g1c2a51a
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 1c2a51a800691344234f5500919c0b005f2196ec (commit) via 30b10c7d6d4d570855a01376295d3125d8fad6ea (commit) from fa843e7614ccf613e7709cefbcaa8935616d5900 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1c2a51a800691344234f5500919c0b005f2196ec commit 1c2a51a800691344234f5500919c0b005f2196ec Merge: fa843e7 30b10c7 Author: Chuck AtkinsAuthorDate: Fri Nov 13 11:53:23 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 11:53:23 2015 -0500 Merge topic 'add-cray-linux-platform' into next 30b10c7d Cray: Make use of "_" consistent in private variable names https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=30b10c7d6d4d570855a01376295d3125d8fad6ea commit 30b10c7d6d4d570855a01376295d3125d8fad6ea Author: Chuck Atkins AuthorDate: Fri Nov 13 10:52:09 2015 -0600 Commit: Chuck Atkins CommitDate: Fri Nov 13 10:52:09 2015 -0600 Cray: Make use of "_" consistent in private variable names diff --git a/Modules/Platform/CrayLinuxEnvironment.cmake b/Modules/Platform/CrayLinuxEnvironment.cmake index b7be431..404dad9 100644 --- a/Modules/Platform/CrayLinuxEnvironment.cmake +++ b/Modules/Platform/CrayLinuxEnvironment.cmake @@ -38,8 +38,8 @@ set(CMAKE_DL_LIBS dl) # Get the install directory of the running cmake to the search directories # CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up -get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH) -get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) +get_filename_component(__cmake_install_dir "${CMAKE_ROOT}" PATH) +get_filename_component(__cmake_install_dir "${__cmake_install_dir}" PATH) # Note: Some cray's have the SYSROOT_DIR variable defined, pointing to a copy @@ -53,7 +53,7 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH $ENV{SYSROOT_DIR}/usr/local $ENV{SYSROOT_DIR}/usr $ENV{SYSROOT_DIR}/ # CMake install location - "${_CMAKE_INSTALL_DIR}" + "${__cmake_install_dir}" ) if (NOT CMAKE_FIND_NO_INSTALL_PREFIX) list(APPEND CMAKE_SYSTEM_PREFIX_PATH @@ -97,7 +97,6 @@ list(APPEND CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE) # Check to see if we're using the cray compiler wrapers and load accordingly if we are -# Make sure we have the appropriate environment loaded if(DEFINED ENV{CRAYPE_DIR}) set(_CRAYPE_ROOT "$ENV{CRAYPE_DIR}") elseif(DEFINED ENV{ASYNCPE_DIR}) diff --git a/Modules/Platform/CrayPrgEnv-ToolChain.cmake b/Modules/Platform/CrayPrgEnv-ToolChain.cmake index a2fe598..53c6490 100644 --- a/Modules/Platform/CrayPrgEnv-ToolChain.cmake +++ b/Modules/Platform/CrayPrgEnv-ToolChain.cmake @@ -5,8 +5,10 @@ endif() set(__CrayPrgEnv 1) if(DEFINED ENV{CRAYPE_VERSION}) message(STATUS "Cray Programming Environment $ENV{CRAYPE_VERSION}") + set(__verbose_flag "-craype-verbose") elseif(DEFINED ENV{ASYNCPE_VERSION}) message(STATUS "Cray Programming Environment $ENV{ASYNCPE_VERSION}") + set(__verbose_flag "-v") else() message(STATUS "Cray Programming Environment") endif() @@ -16,11 +18,11 @@ if(NOT __CrayLinuxEnvironment) endif() # Flags for the Cray wrappers -foreach(_lang C CXX Fortran) - set(CMAKE_STATIC_LIBRARY_LINK_${_lang}_FLAGS "-static") - set(CMAKE_SHARED_LIBRARY_${_lang}_FLAGS "") - set(CMAKE_SHARED_LIBRARY_CREATE_${_lang}_FLAGS "-shared") - set(CMAKE_SHARED_LIBRARY_LINK_${_lang}_FLAGS "-dynamic") +foreach(__lang C CXX Fortran) + set(CMAKE_STATIC_LIBRARY_LINK_${__lang}_FLAGS "-static") + set(CMAKE_SHARED_LIBRARY_${__lang}_FLAGS "") + set(CMAKE_SHARED_LIBRARY_CREATE_${__lang}_FLAGS "-shared") + set(CMAKE_SHARED_LIBRARY_LINK_${__lang}_FLAGS "-dynamic") endforeach() # If the link type is not explicitly specified in the environment then @@ -35,42 +37,53 @@ if(NOT ((CMAKE_C_FLAGS MATCHES "(^| )-dynamic($| )") OR endif() # Parse the implicit directories used by the wrappers -get_property(_LANGS GLOBAL PROPERTY ENABLED_LANGUAGES) -foreach(_lang IN LISTS _LANGS) +get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES) +foreach(__lang IN LISTS __langs) + if(__lang STREQUAL "C") +set(__empty_fname empty.c) + elseif(__lang STREQUAL CXX) +set(__empty_fname empty.cxx) + elseif(__lang STREQUAL Fortran) +set(__empty_fname empty.f90) + else() +continue() + endif() + execute_process( -COMMAND ${CMAKE_${_lang}_COMPILER} -craype-verbose /dev/null -OUTPUT_VARIABLE _CRAY_FLAGS +COMMAND
[Cmake-commits] CMake branch, next, updated. v3.4.0-1353-g3be554f
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 3be554f2cbc3cfa45458df87d0f25e50927c6006 (commit) via b66c5e52b235e032fcc01773ae6e3e91cb0caa2d (commit) from 1c2a51a800691344234f5500919c0b005f2196ec (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3be554f2cbc3cfa45458df87d0f25e50927c6006 commit 3be554f2cbc3cfa45458df87d0f25e50927c6006 Merge: 1c2a51a b66c5e5 Author: Chuck AtkinsAuthorDate: Fri Nov 13 11:54:05 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 11:54:05 2015 -0500 Merge topic 'add-cray-linux-platform' into next b66c5e52 Cray: New platform file for Cray Linux Environment and PrgEnv https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b66c5e52b235e032fcc01773ae6e3e91cb0caa2d commit b66c5e52b235e032fcc01773ae6e3e91cb0caa2d Author: Chuck Atkins AuthorDate: Fri Nov 13 10:13:24 2015 -0600 Commit: Chuck Atkins CommitDate: Fri Nov 13 11:53:39 2015 -0500 Cray: New platform file for Cray Linux Environment and PrgEnv diff --git a/Modules/Platform/CrayLinuxEnvironment.cmake b/Modules/Platform/CrayLinuxEnvironment.cmake new file mode 100644 index 000..404dad9 --- /dev/null +++ b/Modules/Platform/CrayLinuxEnvironment.cmake @@ -0,0 +1,110 @@ +# Compute Node Linux doesn't quite work the same as native Linux so all of this +# needs to be custom. We use the variables defined through Cray's environment +# modules to set up the right paths for things. + +# Guard against multiple inclusions +if(__CrayLinuxEnvironment) + return() +endif() +set(__CrayLinuxEnvironment 1) + +set(UNIX 1) + +if(DEFINED ENV{CRAYOS_VERSION}) + set(CMAKE_SYSTEM_VERSION "$ENV{CRAYOS_VERSION}") +elseif(DEFINED ENV{XTOS_VERSION}) + set(CMAKE_SYSTEM_VERSION "$ENV{XTOS_VERSION}") +else() + message(FATAL_ERROR "Neither the CRAYXC or CRAYXT CMake variables are defined. Thjis platform file should not be used directly but instead only from the CrayPrgEnv toolchain file") +endif() +message(STATUS "Cray Linux Environment ${CMAKE_SYSTEM_VERSION}") + +# All cray systems are x86 CPUs and have been for quite some time +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_SHARED_LIBRARY_PREFIX "lib") +set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") +set(CMAKE_STATIC_LIBRARY_PREFIX "lib") +set(CMAKE_STATIC_LIBRARY_SUFFIX ".a") + +set(CMAKE_FIND_LIBRARY_PREFIXES "lib") +set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a") +set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE) + +set(CMAKE_DL_LIBS dl) + +# Note: Much of this is pulled from UnixPaths.cmake but adjusted to the Cray +# environment accordingly + +# Get the install directory of the running cmake to the search directories +# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up +get_filename_component(__cmake_install_dir "${CMAKE_ROOT}" PATH) +get_filename_component(__cmake_install_dir "${__cmake_install_dir}" PATH) + + +# Note: Some cray's have the SYSROOT_DIR variable defined, pointing to a copy +# of the NIDs userland. If so, then we'll use it. Otherwise, just assume +# the userland from the login node is ok + +# List common installation prefixes. These will be used for all +# search types. +list(APPEND CMAKE_SYSTEM_PREFIX_PATH + # Standard + $ENV{SYSROOT_DIR}/usr/local $ENV{SYSROOT_DIR}/usr $ENV{SYSROOT_DIR}/ + + # CMake install location + "${__cmake_install_dir}" + ) +if (NOT CMAKE_FIND_NO_INSTALL_PREFIX) + list(APPEND CMAKE_SYSTEM_PREFIX_PATH +# Project install destination. +"${CMAKE_INSTALL_PREFIX}" + ) + if(CMAKE_STAGING_PREFIX) +list(APPEND CMAKE_SYSTEM_PREFIX_PATH + # User-supplied staging prefix. + "${CMAKE_STAGING_PREFIX}" +) + endif() +endif() + +list(APPEND CMAKE_SYSTEM_INCLUDE_PATH + $ENV{SYSROOT_DIR}/usr/include + $ENV{SYSROOT_DIR}/usr/include/X11 +) +list(APPEND CMAKE_SYSTEM_LIBRARY_PATH + $ENV{SYSROOT_DIR}/usr/local/lib64 + $ENV{SYSROOT_DIR}/usr/lib64 + $ENV{SYSROOT_DIR}/lib64 +) + +list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + $ENV{SYSROOT_DIR}/usr/local/lib64 + $ENV{SYSROOT_DIR}/usr/lib64 + $ENV{SYSROOT_DIR}/lib64 +) +list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES + $ENV{SYSROOT_DIR}/usr/include +) +list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES + $ENV{SYSROOT_DIR}/usr/include +) +list(APPEND CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES + $ENV{SYSROOT_DIR}/usr/include +) + +# Enable use of lib64 search path variants by default. +set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE) + +# Check to see if we're using the
[Cmake-commits] CMake branch, next, updated. v3.4.0-1359-gcf94531
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via cf9453139841a31e07f5d5bbda87a08dc05e1a59 (commit) via da0ddf16cae7757380c898656f71936a67a4c2f1 (commit) via ae0f52aa32424dfa446d9449cd30a570c0ca4bec (commit) from c3181e513d998593ac6c3d8a0baba5257302e32f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cf9453139841a31e07f5d5bbda87a08dc05e1a59 commit cf9453139841a31e07f5d5bbda87a08dc05e1a59 Merge: c3181e5 da0ddf1 Author: Chuck AtkinsAuthorDate: Fri Nov 13 14:40:40 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 14:40:40 2015 -0500 Merge topic 'add-cray-linux-platform' into next da0ddf16 Cray: Added documentation for cross compiling on a Cray ae0f52aa Cray: New platform file for Cray Linux Environment and PrgEnv https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=da0ddf16cae7757380c898656f71936a67a4c2f1 commit da0ddf16cae7757380c898656f71936a67a4c2f1 Author: Chuck Atkins AuthorDate: Fri Nov 13 14:37:56 2015 -0500 Commit: Chuck Atkins CommitDate: Fri Nov 13 14:40:28 2015 -0500 Cray: Added documentation for cross compiling on a Cray diff --git a/Help/manual/cmake-toolchains.7.rst b/Help/manual/cmake-toolchains.7.rst index 492fcac..3d1973e 100644 --- a/Help/manual/cmake-toolchains.7.rst +++ b/Help/manual/cmake-toolchains.7.rst @@ -151,6 +151,34 @@ target system prefixes, whereas executables which must be run as part of the bui should be found only on the host and not on the target. This is the purpose of the ``CMAKE_FIND_ROOT_PATH_MODE_*`` variables. +Cross Compiling for the Cray Linux Environment +-- + +Cross compiling for compute nodes in the Cray Linux Environment can be done +without needing a seperate toolchain file. Specifying +``-DCMAKE_SYSTEM_NAME=CrayLinuxEnvironment`` on the CMake comamnd line will +ensure that the appropriate build settings and search paths are configured. +The platform will pull its configuration from the current environment +variables and will configure a project to use the compiler wrappers from the +Cray Programming Environment's ``PrgEnv-*`` modules if present and loaded. + +The default configuration of the Cray Programming Environment is to only +support static libraries. This can be overridden and shared libraries +enabled by setting the ``CRAYPE_LINK_TYPE`` environment variable to +``dynamic``. + +Running CMake without specifying :variable:`CMAKE_SYSTEM_NAME` will +run the configure step in host mode assuming a standard Linux environment. +If not overriden, the ``PrgEnv-*`` compiler wrappers will end up getting used, +which if targeting the either the login node or compute node, is likely not the +desired behavior. The exception to this would be if you are building directly +on a NID instead of cross-compiling from a login node. If trying to build +software for a login node, you will need to either first unload the +currently loaded ``PrgEnv-*`` module or explicitly tell CMake to use the +system compilers in ``/usr/bin`` instead of the Cray wrappers. If instead +targeting a compute node is desired, just specify the +:variable:`CMAKE_SYSTEM_NAME` as mentioned above. + Cross Compiling using Clang --- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ae0f52aa32424dfa446d9449cd30a570c0ca4bec commit ae0f52aa32424dfa446d9449cd30a570c0ca4bec Author: Chuck Atkins AuthorDate: Fri Nov 13 10:13:24 2015 -0600 Commit: Chuck Atkins CommitDate: Fri Nov 13 14:40:17 2015 -0500 Cray: New platform file for Cray Linux Environment and PrgEnv diff --git a/Modules/Platform/CrayLinuxEnvironment.cmake b/Modules/Platform/CrayLinuxEnvironment.cmake new file mode 100644 index 000..406b03a --- /dev/null +++ b/Modules/Platform/CrayLinuxEnvironment.cmake @@ -0,0 +1,111 @@ +# Compute Node Linux doesn't quite work the same as native Linux so all of this +# needs to be custom. We use the variables defined through Cray's environment +# modules to set up the right paths for things. + +# Guard against multiple inclusions +if(__CrayLinuxEnvironment) + return() +endif() +set(__CrayLinuxEnvironment 1) + +set(UNIX 1) + +if(DEFINED ENV{CRAYOS_VERSION}) + set(CMAKE_SYSTEM_VERSION "$ENV{CRAYOS_VERSION}") +elseif(DEFINED ENV{XTOS_VERSION}) + set(CMAKE_SYSTEM_VERSION "$ENV{XTOS_VERSION}") +else() + message(FATAL_ERROR "Neither the CRAYOS_VERSION or XTOS_VERSION environment variables are
[Cmake-commits] CMake branch, next, updated. v3.4.0-1356-gc3181e5
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via c3181e513d998593ac6c3d8a0baba5257302e32f (commit) via de6472a9aeb36c16414062f858fd34bb01efd652 (commit) via 66d8ec9dd1c936873ba89ac40cabe1b75b7230ed (commit) from 3be554f2cbc3cfa45458df87d0f25e50927c6006 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c3181e513d998593ac6c3d8a0baba5257302e32f commit c3181e513d998593ac6c3d8a0baba5257302e32f Merge: 3be554f de6472a Author: Chuck AtkinsAuthorDate: Fri Nov 13 14:39:58 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 14:39:58 2015 -0500 Merge topic 'add-cray-linux-platform' into next de6472a9 Cray: Added documentation for cross compiling on a Cray 66d8ec9d Cray: Give better error messages https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=de6472a9aeb36c16414062f858fd34bb01efd652 commit de6472a9aeb36c16414062f858fd34bb01efd652 Author: Chuck Atkins AuthorDate: Fri Nov 13 14:37:56 2015 -0500 Commit: Chuck Atkins CommitDate: Fri Nov 13 14:37:56 2015 -0500 Cray: Added documentation for cross compiling on a Cray diff --git a/Help/manual/cmake-toolchains.7.rst b/Help/manual/cmake-toolchains.7.rst index 492fcac..3d1973e 100644 --- a/Help/manual/cmake-toolchains.7.rst +++ b/Help/manual/cmake-toolchains.7.rst @@ -151,6 +151,34 @@ target system prefixes, whereas executables which must be run as part of the bui should be found only on the host and not on the target. This is the purpose of the ``CMAKE_FIND_ROOT_PATH_MODE_*`` variables. +Cross Compiling for the Cray Linux Environment +-- + +Cross compiling for compute nodes in the Cray Linux Environment can be done +without needing a seperate toolchain file. Specifying +``-DCMAKE_SYSTEM_NAME=CrayLinuxEnvironment`` on the CMake comamnd line will +ensure that the appropriate build settings and search paths are configured. +The platform will pull its configuration from the current environment +variables and will configure a project to use the compiler wrappers from the +Cray Programming Environment's ``PrgEnv-*`` modules if present and loaded. + +The default configuration of the Cray Programming Environment is to only +support static libraries. This can be overridden and shared libraries +enabled by setting the ``CRAYPE_LINK_TYPE`` environment variable to +``dynamic``. + +Running CMake without specifying :variable:`CMAKE_SYSTEM_NAME` will +run the configure step in host mode assuming a standard Linux environment. +If not overriden, the ``PrgEnv-*`` compiler wrappers will end up getting used, +which if targeting the either the login node or compute node, is likely not the +desired behavior. The exception to this would be if you are building directly +on a NID instead of cross-compiling from a login node. If trying to build +software for a login node, you will need to either first unload the +currently loaded ``PrgEnv-*`` module or explicitly tell CMake to use the +system compilers in ``/usr/bin`` instead of the Cray wrappers. If instead +targeting a compute node is desired, just specify the +:variable:`CMAKE_SYSTEM_NAME` as mentioned above. + Cross Compiling using Clang --- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=66d8ec9dd1c936873ba89ac40cabe1b75b7230ed commit 66d8ec9dd1c936873ba89ac40cabe1b75b7230ed Author: Chuck Atkins AuthorDate: Fri Nov 13 14:09:01 2015 -0500 Commit: Chuck Atkins CommitDate: Fri Nov 13 14:09:01 2015 -0500 Cray: Give better error messages diff --git a/Modules/Platform/CrayLinuxEnvironment.cmake b/Modules/Platform/CrayLinuxEnvironment.cmake index 404dad9..406b03a 100644 --- a/Modules/Platform/CrayLinuxEnvironment.cmake +++ b/Modules/Platform/CrayLinuxEnvironment.cmake @@ -15,11 +15,12 @@ if(DEFINED ENV{CRAYOS_VERSION}) elseif(DEFINED ENV{XTOS_VERSION}) set(CMAKE_SYSTEM_VERSION "$ENV{XTOS_VERSION}") else() - message(FATAL_ERROR "Neither the CRAYXC or CRAYXT CMake variables are defined. Thjis platform file should not be used directly but instead only from the CrayPrgEnv toolchain file") + message(FATAL_ERROR "Neither the CRAYOS_VERSION or XTOS_VERSION environment variables are defined. This platform file should be used inside the Cray Linux Environment for targeting compute nodes (NIDs)") endif() message(STATUS "Cray Linux Environment ${CMAKE_SYSTEM_VERSION}") # All cray systems are x86 CPUs and have been for
[Cmake-commits] CMake branch, next, updated. v3.4.0-1361-g1c2a640
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 1c2a6406a4311c59afeb3993982e74c7c8e38bdd (commit) via 137ba24f5d2fafefe812b592df2a96a5720c8304 (commit) from cf9453139841a31e07f5d5bbda87a08dc05e1a59 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1c2a6406a4311c59afeb3993982e74c7c8e38bdd commit 1c2a6406a4311c59afeb3993982e74c7c8e38bdd Merge: cf94531 137ba24 Author: Chuck AtkinsAuthorDate: Fri Nov 13 14:49:41 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 14:49:41 2015 -0500 Merge topic 'add-cray-linux-platform' into next 137ba24f Cray: Fix typo https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=137ba24f5d2fafefe812b592df2a96a5720c8304 commit 137ba24f5d2fafefe812b592df2a96a5720c8304 Author: Chuck Atkins AuthorDate: Fri Nov 13 14:49:17 2015 -0500 Commit: Chuck Atkins CommitDate: Fri Nov 13 14:49:17 2015 -0500 Cray: Fix typo diff --git a/Modules/Platform/CrayPrgEnv.cmake b/Modules/Platform/CrayPrgEnv.cmake index 53c6490..a78846d 100644 --- a/Modules/Platform/CrayPrgEnv.cmake +++ b/Modules/Platform/CrayPrgEnv.cmake @@ -14,7 +14,7 @@ else() endif() if(NOT __CrayLinuxEnvironment) - message(FATAL_ERROR "The CrayPrgEnv tolchain file must not be used on its own and is intented to be included by the CrayLinuxEnvironment platform file") + message(FATAL_ERROR "The CrayPrgEnv platform file must not be used on its own and is intented to be included by the CrayLinuxEnvironment platform file") endif() # Flags for the Cray wrappers --- Summary of changes: Modules/Platform/CrayPrgEnv.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.4.0-1364-gf53fe86
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via f53fe86cef5a6ff342d8ac5b931e1998e5b7744c (commit) via d0c697e47f54fcb626f3ea9385c7664deb78c637 (commit) via 030ed07d4c22542422af9ae6e226ebec6300d36f (commit) from 1c2a6406a4311c59afeb3993982e74c7c8e38bdd (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f53fe86cef5a6ff342d8ac5b931e1998e5b7744c commit f53fe86cef5a6ff342d8ac5b931e1998e5b7744c Merge: 1c2a640 d0c697e Author: Chuck AtkinsAuthorDate: Fri Nov 13 14:50:10 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 14:50:10 2015 -0500 Merge topic 'add-cray-linux-platform' into next d0c697e4 Cray: Added documentation for cross compiling on a Cray 030ed07d Cray: New platform file for Cray Linux Environment and PrgEnv https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0c697e47f54fcb626f3ea9385c7664deb78c637 commit d0c697e47f54fcb626f3ea9385c7664deb78c637 Author: Chuck Atkins AuthorDate: Fri Nov 13 14:37:56 2015 -0500 Commit: Chuck Atkins CommitDate: Fri Nov 13 14:50:00 2015 -0500 Cray: Added documentation for cross compiling on a Cray diff --git a/Help/manual/cmake-toolchains.7.rst b/Help/manual/cmake-toolchains.7.rst index 492fcac..3d1973e 100644 --- a/Help/manual/cmake-toolchains.7.rst +++ b/Help/manual/cmake-toolchains.7.rst @@ -151,6 +151,34 @@ target system prefixes, whereas executables which must be run as part of the bui should be found only on the host and not on the target. This is the purpose of the ``CMAKE_FIND_ROOT_PATH_MODE_*`` variables. +Cross Compiling for the Cray Linux Environment +-- + +Cross compiling for compute nodes in the Cray Linux Environment can be done +without needing a seperate toolchain file. Specifying +``-DCMAKE_SYSTEM_NAME=CrayLinuxEnvironment`` on the CMake comamnd line will +ensure that the appropriate build settings and search paths are configured. +The platform will pull its configuration from the current environment +variables and will configure a project to use the compiler wrappers from the +Cray Programming Environment's ``PrgEnv-*`` modules if present and loaded. + +The default configuration of the Cray Programming Environment is to only +support static libraries. This can be overridden and shared libraries +enabled by setting the ``CRAYPE_LINK_TYPE`` environment variable to +``dynamic``. + +Running CMake without specifying :variable:`CMAKE_SYSTEM_NAME` will +run the configure step in host mode assuming a standard Linux environment. +If not overriden, the ``PrgEnv-*`` compiler wrappers will end up getting used, +which if targeting the either the login node or compute node, is likely not the +desired behavior. The exception to this would be if you are building directly +on a NID instead of cross-compiling from a login node. If trying to build +software for a login node, you will need to either first unload the +currently loaded ``PrgEnv-*`` module or explicitly tell CMake to use the +system compilers in ``/usr/bin`` instead of the Cray wrappers. If instead +targeting a compute node is desired, just specify the +:variable:`CMAKE_SYSTEM_NAME` as mentioned above. + Cross Compiling using Clang --- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=030ed07d4c22542422af9ae6e226ebec6300d36f commit 030ed07d4c22542422af9ae6e226ebec6300d36f Author: Chuck Atkins AuthorDate: Fri Nov 13 10:13:24 2015 -0600 Commit: Chuck Atkins CommitDate: Fri Nov 13 14:49:53 2015 -0500 Cray: New platform file for Cray Linux Environment and PrgEnv diff --git a/Modules/Platform/CrayLinuxEnvironment.cmake b/Modules/Platform/CrayLinuxEnvironment.cmake new file mode 100644 index 000..406b03a --- /dev/null +++ b/Modules/Platform/CrayLinuxEnvironment.cmake @@ -0,0 +1,111 @@ +# Compute Node Linux doesn't quite work the same as native Linux so all of this +# needs to be custom. We use the variables defined through Cray's environment +# modules to set up the right paths for things. + +# Guard against multiple inclusions +if(__CrayLinuxEnvironment) + return() +endif() +set(__CrayLinuxEnvironment 1) + +set(UNIX 1) + +if(DEFINED ENV{CRAYOS_VERSION}) + set(CMAKE_SYSTEM_VERSION "$ENV{CRAYOS_VERSION}") +elseif(DEFINED ENV{XTOS_VERSION}) + set(CMAKE_SYSTEM_VERSION "$ENV{XTOS_VERSION}") +else() + message(FATAL_ERROR "Neither the CRAYOS_VERSION or XTOS_VERSION environment variables are
[Cmake-commits] CMake branch, next, updated. v3.4.0-1368-g73a3b5a
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 73a3b5a9c0288b5535e7d0b677b2a576dc2249e6 (commit) via 05d5d46051003f3b1d8fc89e21519ecbc7ca7ab2 (commit) from 9c717752e61305cfd522380ba7e9bcc40a95cdb9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=73a3b5a9c0288b5535e7d0b677b2a576dc2249e6 commit 73a3b5a9c0288b5535e7d0b677b2a576dc2249e6 Merge: 9c71775 05d5d46 Author: Chuck AtkinsAuthorDate: Fri Nov 13 15:23:00 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 15:23:00 2015 -0500 Merge topic 'add-cray-linux-platform' into next 05d5d460 Cray: Added documentation for cross compiling on a Cray https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=05d5d46051003f3b1d8fc89e21519ecbc7ca7ab2 commit 05d5d46051003f3b1d8fc89e21519ecbc7ca7ab2 Author: Chuck Atkins AuthorDate: Fri Nov 13 14:37:56 2015 -0500 Commit: Chuck Atkins CommitDate: Fri Nov 13 15:22:45 2015 -0500 Cray: Added documentation for cross compiling on a Cray diff --git a/Help/manual/cmake-toolchains.7.rst b/Help/manual/cmake-toolchains.7.rst index 492fcac..7b294a8 100644 --- a/Help/manual/cmake-toolchains.7.rst +++ b/Help/manual/cmake-toolchains.7.rst @@ -151,6 +151,36 @@ target system prefixes, whereas executables which must be run as part of the bui should be found only on the host and not on the target. This is the purpose of the ``CMAKE_FIND_ROOT_PATH_MODE_*`` variables. +.. _`Cray Cross-Compile`: + +Cross Compiling for the Cray Linux Environment +-- + +Cross compiling for compute nodes in the Cray Linux Environment can be done +without needing a separate toolchain file. Specifying +``-DCMAKE_SYSTEM_NAME=CrayLinuxEnvironment`` on the CMake command line will +ensure that the appropriate build settings and search paths are configured. +The platform will pull its configuration from the current environment +variables and will configure a project to use the compiler wrappers from the +Cray Programming Environment's ``PrgEnv-*`` modules if present and loaded. + +The default configuration of the Cray Programming Environment is to only +support static libraries. This can be overridden and shared libraries +enabled by setting the ``CRAYPE_LINK_TYPE`` environment variable to +``dynamic``. + +Running CMake without specifying :variable:`CMAKE_SYSTEM_NAME` will +run the configure step in host mode assuming a standard Linux environment. +If not overridden, the ``PrgEnv-*`` compiler wrappers will end up getting used, +which if targeting the either the login node or compute node, is likely not the +desired behavior. The exception to this would be if you are building directly +on a NID instead of cross-compiling from a login node. If trying to build +software for a login node, you will need to either first unload the +currently loaded ``PrgEnv-*`` module or explicitly tell CMake to use the +system compilers in ``/usr/bin`` instead of the Cray wrappers. If instead +targeting a compute node is desired, just specify the +:variable:`CMAKE_SYSTEM_NAME` as mentioned above. + Cross Compiling using Clang --- diff --git a/Help/release/dev/add-cray-linux-platform.rst b/Help/release/dev/add-cray-linux-platform.rst new file mode 100644 index 000..7000382 --- /dev/null +++ b/Help/release/dev/add-cray-linux-platform.rst @@ -0,0 +1,7 @@ +add-cray-linux-platform +--- + +* A new platform file for cross-compiling in the Cray Linux Environment to + target compute nodes was added. See + :ref:`Cross Compiling for the Cray Linux Environment ` + for usage details. --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.4.0-521-g9b41415
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 9b41415bcdda480b2984c4a21b393738b4ccfcfc (commit) from 9feb24e514f3c0f6b9a9705e17cf1917152df977 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9b41415bcdda480b2984c4a21b393738b4ccfcfc commit 9b41415bcdda480b2984c4a21b393738b4ccfcfc Author: Kitware Robot <kwro...@kitware.com> AuthorDate: Sat Nov 14 00:01:09 2015 -0500 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Sat Nov 14 00:01:09 2015 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index c38c61e..5ba8720 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 4) -set(CMake_VERSION_PATCH 20151113) +set(CMake_VERSION_PATCH 20151114) #set(CMake_VERSION_RC 1) --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.4.0-1347-g2acc0ab
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 2acc0abc0c34ab7ca49777c8e64ed455c48e8ce2 (commit) via 6f530c8dfbc217cf83b6e27e5c312b4661b2c8fb (commit) from 48c73f5a01e840039b18d79adc788708d19ffb56 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2acc0abc0c34ab7ca49777c8e64ed455c48e8ce2 commit 2acc0abc0c34ab7ca49777c8e64ed455c48e8ce2 Merge: 48c73f5 6f530c8 Author: Zack GalbreathAuthorDate: Fri Nov 13 09:36:58 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 09:36:58 2015 -0500 Merge topic 'jacoco_out_of_source' into next 6f530c8d Search for Jacoco files in the binary directory https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6f530c8dfbc217cf83b6e27e5c312b4661b2c8fb commit 6f530c8dfbc217cf83b6e27e5c312b4661b2c8fb Author: Zack Galbreath AuthorDate: Thu Oct 29 16:08:10 2015 -0400 Commit: Zack Galbreath CommitDate: Thu Oct 29 16:08:10 2015 -0400 Search for Jacoco files in the binary directory Search for Jacoco coverage files in both the source directory and the binary directory. diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx index 20807c8..d358a93 100644 --- a/Source/CTest/cmCTestCoverageHandler.cxx +++ b/Source/CTest/cmCTestCoverageHandler.cxx @@ -913,16 +913,33 @@ int cmCTestCoverageHandler::HandleJacocoCoverage( { cmParseJacocoCoverage cov = cmParseJacocoCoverage(*cont, this->CTest); - cmsys::Glob g; + + // Search in the source directory. + cmsys::Glob g1; std::vector files; - g.SetRecurse(true); + g1.SetRecurse(true); std::string SourceDir = this->CTest->GetCTestConfiguration("SourceDirectory"); std::string coverageFile = SourceDir+ "/*jacoco.xml"; - g.FindFiles(coverageFile); - files=g.GetFiles(); + g1.FindFiles(coverageFile); + files = g1.GetFiles(); + + // ...and in the binary directory. + cmsys::Glob g2; + std::vector binFiles; + g2.SetRecurse(true); + std::string binaryDir += this->CTest->GetCTestConfiguration("BuildDirectory"); + std::string binCoverageFile = binaryDir+ "/*jacoco.xml"; + g2.FindFiles(binCoverageFile); + binFiles = g2.GetFiles(); + if (!binFiles.empty()) +{ +files.insert(files.end(), binFiles.begin(), binFiles.end()); +} + if (!files.empty()) { cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, --- Summary of changes: Source/CTest/cmCTestCoverageHandler.cxx | 25 + 1 file changed, 21 insertions(+), 4 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.4.0-1336-gfaf5e0e
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via faf5e0ebdae22a8bac15d4b3fd1239e645d70ffe (commit) via f6f03ed4cc4271384ec934fd5867ccbce4e798f2 (commit) via 9f053763d769780385fbc8e3e936f1c996d2e00a (commit) via 415863e6d40f3c09d43b41ef16e0a7ffa0006063 (commit) from 3597b371f980b961baaec9990c70902ec27d0dea (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=faf5e0ebdae22a8bac15d4b3fd1239e645d70ffe commit faf5e0ebdae22a8bac15d4b3fd1239e645d70ffe Merge: 3597b37 f6f03ed Author: Gregor JasnyAuthorDate: Fri Nov 13 08:02:43 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 08:02:43 2015 -0500 Merge topic 'non-xcode-framework-layout' into next f6f03ed4 Add test for OSX/iOS Framework directory structure (#15833) 9f053763 Fix iOS Framework directory structure (#15833) 415863e6 CMake Nightly Date Stamp https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f6f03ed4cc4271384ec934fd5867ccbce4e798f2 commit f6f03ed4cc4271384ec934fd5867ccbce4e798f2 Author: Gregor Jasny AuthorDate: Fri Nov 13 12:59:18 2015 +0100 Commit: Gregor Jasny CommitDate: Fri Nov 13 13:58:53 2015 +0100 Add test for OSX/iOS Framework directory structure (#15833) diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 1a0019f..a6cbf86 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -239,6 +239,12 @@ if(XCODE_VERSION AND NOT "${XCODE_VERSION}" VERSION_LESS 3) add_RunCMake_test(XcodeProject -DXCODE_VERSION=${XCODE_VERSION}) endif() +if(NOT XCODE +AND CMAKE_C_COMPILER_ID STREQUAL "AppleClang" +AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0) + add_RunCMake_test(Framework) +endif() + add_RunCMake_test(File_Generate) add_RunCMake_test(ExportWithoutLanguage) add_RunCMake_test(target_link_libraries) diff --git a/Tests/RunCMake/Framework/CMakeLists.txt b/Tests/RunCMake/Framework/CMakeLists.txt new file mode 100644 index 000..6dd8cdf --- /dev/null +++ b/Tests/RunCMake/Framework/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.4) +project(${RunCMake_TEST} NONE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/Framework/FrameworkLayout.cmake b/Tests/RunCMake/Framework/FrameworkLayout.cmake new file mode 100644 index 000..107afdf --- /dev/null +++ b/Tests/RunCMake/Framework/FrameworkLayout.cmake @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.4) +enable_language(C) + +add_library(Framework SHARED foo.c) +set_target_properties(Framework PROPERTIES FRAMEWORK TRUE) diff --git a/Tests/RunCMake/Framework/OSXFrameworkLayout-build-check.cmake b/Tests/RunCMake/Framework/OSXFrameworkLayout-build-check.cmake new file mode 100644 index 000..27d10d8 --- /dev/null +++ b/Tests/RunCMake/Framework/OSXFrameworkLayout-build-check.cmake @@ -0,0 +1,20 @@ +set(framework-dir "${RunCMake_TEST_BINARY_DIR}/Framework.framework") +set(plist-file "${framework-dir}/Resources/Info.plist") +set(framework-library "${framework-dir}/Framework") +set(framework-versions "${framework-dir}/Versions") + +if(NOT IS_DIRECTORY ${framework-dir}) + message(SEND_ERROR "Framework not found at ${framework-dir}") +endif() + +if(NOT EXISTS ${plist-file}) + message(SEND_ERROR "plist file not found at ${plist-file}") +endif() + +if(NOT EXISTS ${framework-library}) + message(SEND_ERROR "Framework library not found at ${framework-library}") +endif() + +if(NOT EXISTS ${framework-versions}) + message(SEND_ERROR "Framework versions not found at ${framework-versions}") +endif() diff --git a/Tests/RunCMake/Framework/RunCMakeTest.cmake b/Tests/RunCMake/Framework/RunCMakeTest.cmake new file mode 100644 index 000..d810283 --- /dev/null +++ b/Tests/RunCMake/Framework/RunCMakeTest.cmake @@ -0,0 +1,33 @@ +include(RunCMake) + +# iOS + +set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/iOSFrameworkLayout-build) +set(RunCMake_TEST_NO_CLEAN 1) +set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/ios.cmake") + +file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") +file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") + +run_cmake(FrameworkLayout) +run_cmake_command(iOSFrameworkLayout-build ${CMAKE_COMMAND} --build .) + +unset(RunCMake_TEST_BINARY_DIR) +unset(RunCMake_TEST_NO_CLEAN) +unset(RunCMake_TEST_OPTIONS) + +# OSX + +set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/OSXFrameworkLayout-build) +set(RunCMake_TEST_NO_CLEAN 1) +set(RunCMake_TEST_OPTIONS
[Cmake-commits] CMake branch, next, updated. v3.4.0-1342-g7e4a0d8
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 7e4a0d873f746d1cbe7b421795f6c1b0d1a7af21 (commit) via 4bca9401269878d2f3b0465377f0fb8bce87c734 (commit) via c4b9ee1878c62a272d38ae057e0a76409be54e8f (commit) via 167a465565cda9bb33d2e919509c23a761ea45e9 (commit) via 9c1dfbfd600819a751d4c5058fd939650ee6d6b4 (commit) via 47302038c1021f0b6b0d9977f5bccaa795045805 (commit) from faf5e0ebdae22a8bac15d4b3fd1239e645d70ffe (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7e4a0d873f746d1cbe7b421795f6c1b0d1a7af21 commit 7e4a0d873f746d1cbe7b421795f6c1b0d1a7af21 Merge: faf5e0e 4bca940 Author: Brad KingAuthorDate: Fri Nov 13 08:51:20 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 08:51:20 2015 -0500 Merge topic 'better_looking_mac_package' into next 4bca9401 Improve appearance of CMake .dmg package on OS X c4b9ee18 CPack/DragNDrop: Update documentation to include new variables 167a4655 CPack/DragNDrop: Optionally run an AppleScript when making a package 9c1dfbfd CPack/DragNDrop: Place the background image file in a hidden folder 47302038 CPack/DragNDrop: Use source file extension for background image https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4bca9401269878d2f3b0465377f0fb8bce87c734 commit 4bca9401269878d2f3b0465377f0fb8bce87c734 Author: Adam Strzelecki AuthorDate: Mon Sep 29 08:42:49 2014 -0400 Commit: Brad King CommitDate: Fri Nov 13 08:46:54 2015 -0500 Improve appearance of CMake .dmg package on OS X Configure our use of the CPack DragNDrop generator to specify a custom background image and script. diff --git a/CMakeCPackOptions.cmake.in b/CMakeCPackOptions.cmake.in index b6013ef..ae00653 100644 --- a/CMakeCPackOptions.cmake.in +++ b/CMakeCPackOptions.cmake.in @@ -183,6 +183,13 @@ if("${CPACK_GENERATOR}" STREQUAL "PackageMaker") endif() endif() +if("${CPACK_GENERATOR}" STREQUAL "DragNDrop") + set(CPACK_DMG_BACKGROUND_IMAGE + "@CMake_SOURCE_DIR@/Packaging/CMakeDMGBackground.tif") + set(CPACK_DMG_DS_STORE_SETUP_SCRIPT + "@CMake_SOURCE_DIR@/Packaging/CMakeDMGSetup.scpt") +endif() + if("${CPACK_GENERATOR}" STREQUAL "WIX") # Reset CPACK_PACKAGE_VERSION to deal with WiX restriction. # But the file names still use the full CMake_VERSION value: diff --git a/Packaging/CMakeDMGBackground.tif b/Packaging/CMakeDMGBackground.tif new file mode 100644 index 000..91c4b13 Binary files /dev/null and b/Packaging/CMakeDMGBackground.tif differ diff --git a/Packaging/CMakeDMGSetup.scpt b/Packaging/CMakeDMGSetup.scpt new file mode 100644 index 000..c7ddcfb --- /dev/null +++ b/Packaging/CMakeDMGSetup.scpt @@ -0,0 +1,42 @@ +on run argv + set image_name to item 1 of argv + + tell application "Finder" + tell disk image_name + +-- open the image the first time and save a DS_Store with just +-- background and icon setup +open + set current view of container window to icon view + set theViewOptions to the icon view options of container window + set background picture of theViewOptions to file ".background:background.tif" + set arrangement of theViewOptions to not arranged + set icon size of theViewOptions to 128 + delay 1 +close + +-- next setup the position of the app and Applications symlink +-- plus hide all the window decoration +open + update without registering applications + tell container window +set sidebar width to 0 +set statusbar visible to false +set toolbar visible to false +set the bounds to { 400, 100, 900, 465 } +set position of item "CMake.app" to { 133, 200 } +set position of item "Applications" to { 378, 200 } + end tell + update without registering applications + delay 1 +close + +-- one last open and close so you can see everything looks correct +open + delay 5 +close + + end tell + delay 1 +end tell +end run https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c4b9ee1878c62a272d38ae057e0a76409be54e8f commit c4b9ee1878c62a272d38ae057e0a76409be54e8f Author: Robert Maynard AuthorDate: Thu Dec 18 14:56:37 2014 -0500 Commit: Brad King CommitDate: Fri Nov 13 08:45:59 2015 -0500 CPack/DragNDrop: Update documentation to include new variables Document the new behavior of `CPACK_DMG_BACKGROUND_IMAGE` and the purpose of `CPACK_DMG_DS_STORE_SETUP_SCRIPT`.
[Cmake-commits] CMake branch, master, updated. v3.4.0-514-gbbf1757
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via bbf1757dfa4804c0d8ac311e6645084982831a50 (commit) via 09f754f040f3e817cd69337adea2c73cb61d53da (commit) from 415863e6d40f3c09d43b41ef16e0a7ffa0006063 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bbf1757dfa4804c0d8ac311e6645084982831a50 commit bbf1757dfa4804c0d8ac311e6645084982831a50 Merge: 415863e 09f754f Author: Brad KingAuthorDate: Fri Nov 13 08:53:32 2015 -0500 Commit: CMake Topic Stage CommitDate: Fri Nov 13 08:53:32 2015 -0500 Merge topic 'cray-fortran-version' 09f754f0 Cray: Implement Fortran compiler version detection (#15845) --- Summary of changes: Modules/CMakeFortranCompilerId.F.in |2 ++ 1 file changed, 2 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.4.0-1345-g48c73f5
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 48c73f5a01e840039b18d79adc788708d19ffb56 (commit) via 9feb24e514f3c0f6b9a9705e17cf1917152df977 (commit) via bbf1757dfa4804c0d8ac311e6645084982831a50 (commit) from 7e4a0d873f746d1cbe7b421795f6c1b0d1a7af21 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=48c73f5a01e840039b18d79adc788708d19ffb56 commit 48c73f5a01e840039b18d79adc788708d19ffb56 Merge: 7e4a0d8 9feb24e Author: Brad KingAuthorDate: Fri Nov 13 08:53:50 2015 -0500 Commit: Brad King CommitDate: Fri Nov 13 08:53:50 2015 -0500 Merge branch 'master' into next --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits