aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/EthPolicy.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/EthPolicy.cmake')
-rw-r--r--cmake/EthPolicy.cmake35
1 files changed, 35 insertions, 0 deletions
diff --git a/cmake/EthPolicy.cmake b/cmake/EthPolicy.cmake
new file mode 100644
index 00000000..31b09f15
--- /dev/null
+++ b/cmake/EthPolicy.cmake
@@ -0,0 +1,35 @@
+# it must be a macro cause policies have scopes
+# http://www.cmake.org/cmake/help/v3.0/command/cmake_policy.html
+macro (eth_policy)
+ # link_directories() treats paths relative to the source dir.
+ cmake_policy(SET CMP0015 NEW)
+
+ # let cmake autolink dependencies on windows
+ cmake_policy(SET CMP0020 NEW)
+
+ # CMake 2.8.12 and lower allowed the use of targets and files with double
+ # colons in target_link_libraries,
+ cmake_policy(SET CMP0028 OLD)
+
+ if (${CMAKE_VERSION} VERSION_GREATER 3.0)
+
+ # fix MACOSX_RPATH
+ cmake_policy(SET CMP0042 OLD)
+
+ # ignore COMPILE_DEFINITIONS_<Config> properties
+ cmake_policy(SET CMP0043 OLD)
+
+ # allow VERSION argument in project()
+ cmake_policy(SET CMP0048 NEW)
+
+ endif()
+
+ if (${CMAKE_VERSION} VERSION_GREATER 3.1)
+
+ # do not interpret if() arguments as variables!
+ cmake_policy(SET CMP0054 NEW)
+
+ endif()
+
+endmacro()
+