| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Mark variables pertaining to specific situations relevant to CUDA
compilation as advanced since they are not part of normal usage.
|
| |
|
|\
| |
| |
| |
| | |
b4e54f9b FindCUDA: Add relevant CMAKE_{C,CXX}_FLAGS for separable compilation
|
| |
| |
| |
| |
| |
| |
| | |
Previously only the CMAKE_{C,CXX}_FLAGS_<CONFIG> flags were inspected
for relevant flags when compiling the intermediate link file. We need
to also consider the configuration agnostic flags, CMAKE_{C,CXX}_FLAGS
as well.
|
| |\
| | |
| | |
| | |
| | | |
Resolve conflict in Modules/ExternalProject.cmake by keeping our side,
which is more completely revised.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
CMAKE_SYSTEM_PROCESSOR is not guaranteed to be defined (per
http://www.cmake.org/Wiki/CMake_Cross_Compiling), and when cross
compiling where it happens to be undefined, this module was broken.
Reviewed-by: Rolf Eike Beer <eike@sf-mail.de>
|
|\ \ \
| |/ /
|/| /
| |/ |
|
| |
| |
| |
| | |
Help format the blocks better for display without a wide screen.
|
|/
|
|
|
| |
Otherwise binaries end up with two copies of the same value and the OS X
install_name_tool may corrupt them.
|
|
|
|
| |
This silences possible CMP0054 warnings.
|
|
|
|
|
|
|
|
|
|
|
| |
When setting default CUDA_HOST_COMPILER we must dereference CMAKE_C_COMPILER,
i.e. /usr/bin/clang should be used instead /usr/bin/cc which is symlink.
Otherwise CUDA thinks it is GCC and issues -dumpspecs which is unknown option
to Clang.
Also in case neither CMAKE_C_COMPILER is defined (project does not use C
language) nor CUDA_HOST_COMPILER is specified manually we should skip -ccbin
and let nvcc use its own default C compiler.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some modules change CMake minimum required version when they are
included. For example:
cmake_minimum_required(VERSION 2.8.12)
message("${CMAKE_MINIMUM_REQUIRED_VERSION}")
include(CheckTypeSize)
message("${CMAKE_MINIMUM_REQUIRED_VERSION}")
will produce the following output:
2.8.12
2.6
This patch ensures that when you include a CMake module the minimum
required version and the policies set are left unchanged.
Fixes Issue #14864
|
|\
| |
| |
| |
| | |
6ad14c71 FindCUDA: Use CUDA_NVCC_FLAGS* for separable compilation
|
| |
| |
| |
| |
| |
| |
| | |
Previously when linking the intermediate link file for separable compilation
the CUDA_NVCC_FLAGS* were not used. This caused tremendous confusion when
using this feature, and I consider it to be a bug. This change should fix
this.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All these expressions work the same:
"foo"
".*foo.*"
"^.*foo.*$"
This assumes that the "Intel*" expressions were meant to be "Intel.*".
|
|/ |
|
|
|
|
| |
Fix locations of '::' manually to group literal blocks as desired.
|
|
|
|
|
|
|
|
|
| |
* added CUDA_TOOLKIT_TARGET_DIR CMake variable that used
to locate headers and libraries for target platform
* added CUDA_TARGET_CPU_ARCH which is set to ARM for
arm cross-compilation and is used to add
--target-cpu-architecture NVCC flag
|
|
|
|
|
|
|
|
| |
Run the convert-help.bash script to convert documentation:
./convert-help.bash "/path/to/CMake-build/bin"
Then remove it.
|
|
|
|
| |
In CUDA 5.5 NPP was divided onto 3 separate libraries: nppc, npps, nppi.
|
|
|
|
|
|
|
|
|
| |
CMake's intended interface for linking to explicit object files (marked
with EXTERNAL_OBJECT) is that only those listed as target sources should
be linked. Drop FindCUDA's attempt to hide the .obj files from VS IDE
project files, which depends on VS-version-specific behavior of linking
custom command outputs that happen to be named "*.obj". CMake puts
external object files in a dedicated source group anyway.
|
|
|
|
|
|
| |
Ubuntu install the CUDA libraries into a location that is different
than the default location provided by the NVidia installer. So we
teach the FindCUDA package to also find the Ubuntu install location.
|
|\
| |
| |
| |
| | |
32b582d FindCUDA: Remove duplicate entries from INCLUDE_DIRECTORIES.
|
| |
| |
| |
| |
| |
| | |
As of CMake 2.8.8, the INCLUDE_DIRECTORIES() command does
not de-duplicate entries. Failure to do so can lead to an extremely
long and repetitive list of -I entries on the command line.
|
|/
|
|
|
|
|
| |
make CUDA_COMPUTE_BUILD_PATH use a relative path to the current
binary directory instead of the current source directory if the source
file considered is in the current binary directory. This is done to
shorten the paths given to the compiler.
|
|\
| |
| |
| |
| | |
b6e9b8f FindCUDA: Use the PRE_LINK mode only for MSVC >= 10
|
| |
| |
| |
| |
| |
| | |
Use normal custom command dependencies by default. Use the PRE_LINK
approach only to work around what seems to be a bug in msbuild handling
of custom build rules that chain together.
|
|\ \
| | |
| | |
| | |
| | | |
c939b49 FindCUDA: Added cupti library.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In addition to adding the cupti library, find_local_library_first has
been renamed to cuda_find_local_library_first with a backward
compatibility macro to find_local_library_first. Also added
cuda_find_local_library_first_with_path_ext to handle different paths.
|
|\ \ \
| | |/
| |/|
| | |
| | | |
6a19150 FindCUDA: Add support for separable compilation
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a new variable, CUDA_SEPARABLE_COMPILATION, and two new
functions, CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.
When CUDA_SEPARABLE_COMPILATION is specified then CUDA runtime objects
will be compiled with the separable compilation flag. These object
files are collected in a target named variable that can be used in
CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.
|
|/
|
|
|
| |
The CUDA runtime library (libcudart) doesn't depend on the driver API
library (libcuda) and shouldn't be used to link CUDA run time codes.
|
|\
| |
| |
| |
| | |
db207e4 FindCUDA: Added CUDA_HOST_COMPILER variable.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added a new CUDA variable for specifying the CUDA_HOST_COMPILER. This will allow users to
be able to specify which host compiler to use for invoking NVCC with. By default it will
use the compiler used for host compilation. This is convenient for when you want to
specify a different compiler than the default compiler. You end up using the same
compiler for both the NVCC compilation and the host compilation instead of using the
default compiler in the path for NVCC.
|
|\ \
| | |
| | |
| | |
| | | |
787287c Added CUDA_SOURCE_PROPERTY_FORMAT. Allows setting per file format (OBJ or PTX)
|
| | |
| | |
| | |
| | |
| | | |
Added CUDA_SOURCE_PROPERTY_FORMAT that allows users to set the format (OBJ or PTX) on a
per file basis.
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
a20c41d Replace -g3 with -g for CUDA 4.1 and 4.2 in addition to CUDA < 3.0.
|
| |/
| |
| |
| |
| | |
CUDA 4.1 reintroduced the bug where -g3 breaks compilation. This
wasn't fixed until CUDA 5.0, so both CUDA 4.1 and 4.2 have this bug.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of directly passing $ENV{SOMEVAR} to a find_* call pass in ENV SOMEVAR.
This will make sure the paths will get correctly handled through different
platforms, especially on Windows.
Also fixes one place where paths with windows delimiters (\) were hardcoded to
use forward slashes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block. This is no longer the preferred style.
Run the following shell code:
for c in else endif endforeach endfunction endmacro endwhile; do
echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code:
cmake --help-command-list |
grep -v "cmake version" |
while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
|
|/ |
|
| |
|
|
|
|
|
|
| |
This addresses Bug 11882 which provided a sample implementation for adding
support for cusparse. I went ahead and added all the libraries I thought
appropriate.
|
|\
| |
| |
| |
| | |
aa36082 Miscellaneous fixes.
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
80e279d Make CUDA working directory unique for each target.
|
| |/
| |
| |
| |
| | |
This allows you to have more than source file with the same name but different
directories. The intermediate and configuration files are now in this same directory.
|
|\ \
| | |
| | |
| | |
| | | |
c3c7a0c Fixes for handling quotes in args and other places (Fix Bug 11726 and 12099).
|