Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
CMake
CMake
Commits
e065decd
Commit
e065decd
authored
Nov 01, 2013
by
Brad King
Committed by
Kitware Robot
Nov 01, 2013
Browse files
Merge topic 'add-CMAKE_FIND_NO_INSTALL_PREFIX'
fe057ab3
Allow disabling adding the install prefix to the prefix search path.
parents
de5c2989
fe057ab3
Changes
14
Hide whitespace changes
Inline
Side-by-side
Help/manual/cmake-variables.7.rst
View file @
e065decd
...
...
@@ -90,6 +90,7 @@ Variables that Change Behavior
/variable/CMAKE_FIND_LIBRARY_PREFIXES
/variable/CMAKE_FIND_LIBRARY_SUFFIXES
/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE
/variable/CMAKE_FIND_NO_INSTALL_PREFIX
/variable/CMAKE_IGNORE_PATH
/variable/CMAKE_INCLUDE_PATH
/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
...
...
Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
0 → 100644
View file @
e065decd
CMAKE_FIND_NO_INSTALL_PREFIX
----------------------------
Ignore the :variable:`CMAKE_INSTALL_PREFIX` when searching for assets.
CMake adds the :variable:`CMAKE_INSTALL_PREFIX` to the
:variable:`CMAKE_SYSTEM_PREFIX_PATH` by default. This variable may be set
on the command line to control that behavior.
Set :variable:`CMAKE_FIND_NO_INSTALL_PREFIX` to TRUE to tell find_package not
to search in the :variable:`CMAKE_INSTALL_PREFIX` by default. Note that the
prefix may still be searched for other reasons, such as being the same prefix
as the CMake installation, or for being a built-in system prefix.
Modules/Platform/UnixPaths.cmake
View file @
e065decd
...
...
@@ -37,10 +37,13 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# CMake install location
"
${
_CMAKE_INSTALL_DIR
}
"
# Project install destination.
"
${
CMAKE_INSTALL_PREFIX
}
"
)
if
(
NOT CMAKE_FIND_NO_INSTALL_PREFIX
)
list
(
APPEND CMAKE_SYSTEM_PREFIX_PATH
# Project install destination.
"
${
CMAKE_INSTALL_PREFIX
}
"
)
endif
()
# List common include file locations not under the common prefixes.
list
(
APPEND CMAKE_SYSTEM_INCLUDE_PATH
...
...
Modules/Platform/WindowsPaths.cmake
View file @
e065decd
...
...
@@ -73,11 +73,13 @@ get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
get_filename_component
(
_CMAKE_INSTALL_DIR
"
${
_CMAKE_INSTALL_DIR
}
"
PATH
)
list
(
APPEND CMAKE_SYSTEM_PREFIX_PATH
"
${
_CMAKE_INSTALL_DIR
}
"
)
# Add other locations.
list
(
APPEND CMAKE_SYSTEM_PREFIX_PATH
# Project install destination.
"
${
CMAKE_INSTALL_PREFIX
}
"
)
if
(
NOT CMAKE_FIND_NO_INSTALL_PREFIX
)
# Add other locations.
list
(
APPEND CMAKE_SYSTEM_PREFIX_PATH
# Project install destination.
"
${
CMAKE_INSTALL_PREFIX
}
"
)
endif
()
if
(
CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES
"Windows"
)
# MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
...
...
@@ -88,8 +90,12 @@ list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
)
# mingw can also link against dlls which can also be in /bin, so list this too
if
(
NOT CMAKE_FIND_NO_INSTALL_PREFIX
)
list
(
APPEND CMAKE_SYSTEM_LIBRARY_PATH
"
${
CMAKE_INSTALL_PREFIX
}
/bin"
)
endif
()
list
(
APPEND CMAKE_SYSTEM_LIBRARY_PATH
"
${
CMAKE_INSTALL_PREFIX
}
/bin"
"
${
_CMAKE_INSTALL_DIR
}
/bin"
/bin
)
...
...
Tests/RunCMake/CMakeLists.txt
View file @
e065decd
...
...
@@ -109,6 +109,7 @@ add_RunCMake_test(CMP0004)
add_RunCMake_test
(
TargetPolicies
)
add_RunCMake_test
(
alias_targets
)
add_RunCMake_test
(
interface_library
)
add_RunCMake_test
(
no_install_prefix
)
find_package
(
Qt4 QUIET
)
find_package
(
Qt5Core QUIET
)
...
...
Tests/RunCMake/no_install_prefix/CMakeLists.txt
0 → 100644
View file @
e065decd
cmake_minimum_required
(
VERSION 2.8.4
)
project
(
${
RunCMake_TEST
}
NONE
)
include
(
${
RunCMake_TEST
}
.cmake
)
Tests/RunCMake/no_install_prefix/RunCMakeTest.cmake
0 → 100644
View file @
e065decd
include
(
RunCMake
)
set
(
RunCMake_TEST_OPTIONS
"-DCMAKE_INSTALL_PREFIX=
${
RunCMake_BINARY_DIR
}
/prefix"
)
file
(
REMOVE_RECURSE
"
${
RunCMake_BINARY_DIR
}
/prefix"
)
file
(
MAKE_DIRECTORY
"
${
RunCMake_BINARY_DIR
}
/prefix/NoPrefix"
)
file
(
WRITE
"
${
RunCMake_BINARY_DIR
}
/prefix/NoPrefix/NoPrefixConfig.cmake"
""
)
set
(
RunCMake_TEST_OPTIONS
"-DCMAKE_INSTALL_PREFIX:PATH=
${
RunCMake_BINARY_DIR
}
/prefix"
)
run_cmake
(
with_install_prefix
)
file
(
REMOVE_RECURSE
"
${
RunCMake_BINARY_DIR
}
/prefix"
)
file
(
MAKE_DIRECTORY
"
${
RunCMake_BINARY_DIR
}
/prefix/NoPrefix"
)
file
(
WRITE
"
${
RunCMake_BINARY_DIR
}
/prefix/NoPrefix/NoPrefixConfig.cmake"
""
)
list
(
APPEND RunCMake_TEST_OPTIONS
"-DCMAKE_FIND_NO_INSTALL_PREFIX=1"
)
run_cmake
(
no_install_prefix
)
Tests/RunCMake/no_install_prefix/do_test.cmake
0 → 100644
View file @
e065decd
find_package
(
NoPrefix REQUIRED
)
Tests/RunCMake/no_install_prefix/no_install_prefix-result.txt
0 → 100644
View file @
e065decd
1
Tests/RunCMake/no_install_prefix/no_install_prefix-stderr.txt
0 → 100644
View file @
e065decd
CMake Error at do_test.cmake:2 \(find_package\):
By not providing "FindNoPrefix.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "NoPrefix",
but CMake did not find one.
Could not find a package configuration file provided by "NoPrefix" with any
of the following names:
NoPrefixConfig.cmake
noprefix-config.cmake
Add the installation prefix of "NoPrefix" to CMAKE_PREFIX_PATH or set
"NoPrefix_DIR" to a directory containing one of the above files. If
"NoPrefix" provides a separate development package or SDK, be sure it has
been installed.
Call Stack \(most recent call first\):
no_install_prefix.cmake:2 \(include\)
CMakeLists.txt:3 \(include\)
Tests/RunCMake/no_install_prefix/no_install_prefix.cmake
0 → 100644
View file @
e065decd
include
(
do_test.cmake
)
Tests/RunCMake/no_install_prefix/with_install_prefix-result.txt
0 → 100644
View file @
e065decd
0
Tests/RunCMake/no_install_prefix/with_install_prefix-stderr.txt
0 → 100644
View file @
e065decd
^$
Tests/RunCMake/no_install_prefix/with_install_prefix.cmake
0 → 100644
View file @
e065decd
include
(
do_test.cmake
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment