Add upstream commits to fix the build with the upcoming CMake 3.1.0.

I have also tested them with CMake 3.0.2.
This commit is contained in:
Raphael Kubo da Costa 2014-12-31 12:15:48 +00:00
parent ef65c19710
commit 9b889fcd6b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=375878
2 changed files with 427 additions and 0 deletions

View file

@ -0,0 +1,313 @@
------------------------------------------------------------------------
r60023 | starseeker | 2014-03-01 16:23:14 +0200 (Sat, 01 Mar 2014) | 1 line
Get us ready for CMake 3.0 - either fix issues or (mostly) quiet warnings related to new policy rules from CMake 3.0. The LOCATION property is used fairly extensively, so that's going to be a bit of a trick to avoid. Not clear yet what a 'correct' approach would be. Fortunately, if we set that policy to OLD we can carry on.
------------------------------------------------------------------------
--- src/other/perplex/CMakeLists.txt
+++ src/other/perplex/CMakeLists.txt
@@ -37,6 +37,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
PROJECT(PERPLEX)
--- src/other/libvds/CMakeLists.txt
+++ src/other/libvds/CMakeLists.txt
@@ -28,9 +28,12 @@
if(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
CMAKE_POLICY(SET CMP0007 OLD)
- if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.8.3)
+ if("${CMAKE_VERSION}" VERSION_GREATER 2.8.3)
CMAKE_POLICY(SET CMP0017 OLD)
- endif(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.8.3)
+ endif("${CMAKE_VERSION}" VERSION_GREATER 2.8.3)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
endif(COMMAND CMAKE_POLICY)
# set CMake project name
--- src/other/tkpng/CMakeLists.txt
+++ src/other/tkpng/CMakeLists.txt
@@ -2,6 +2,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# set CMake project name
--- src/other/poly2tri/CMakeLists.txt
+++ src/other/poly2tri/CMakeLists.txt
@@ -2,6 +2,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
if(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
endif(COMMAND CMAKE_POLICY)
# Set CMake project name
--- src/other/libtermlib/CMakeLists.txt
+++ src/other/libtermlib/CMakeLists.txt
@@ -1,6 +1,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
PROJECT(LIBTERMLIB)
--- src/other/URToolkit/CMakeLists.txt
+++ src/other/URToolkit/CMakeLists.txt
@@ -1,3 +1,9 @@
+IF(COMMAND CMAKE_POLICY)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ENDIF(COMMAND CMAKE_POLICY)
+
IF(NOT MSVC)
MACRO(URT_EXEC execname srcs)
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
--- src/other/clipper/CMakeLists.txt
+++ src/other/clipper/CMakeLists.txt
@@ -2,6 +2,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# Set CMake project name
--- src/other/lemon/CMakeLists.txt
+++ src/other/lemon/CMakeLists.txt
@@ -2,6 +2,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# Set CMake project name
--- src/other/openNURBS/CMakeLists.txt
+++ src/other/openNURBS/CMakeLists.txt
@@ -1,3 +1,9 @@
+IF(COMMAND CMAKE_POLICY)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ENDIF(COMMAND CMAKE_POLICY)
+
# build shared libs by default
IF(NOT DEFINED BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS ON)
--- src/other/tk/CMakeLists.txt
+++ src/other/tk/CMakeLists.txt
@@ -40,6 +40,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# set CMake project name
--- src/other/xmltools/CMakeLists.txt
+++ src/other/xmltools/CMakeLists.txt
@@ -2,6 +2,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# Set CMake project name
--- src/other/tcl/CMakeLists.txt
+++ src/other/tcl/CMakeLists.txt
@@ -40,6 +40,10 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ CMAKE_POLICY(SET CMP0048 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# Set CMake project name
--- src/other/tktable/CMakeLists.txt
+++ src/other/tktable/CMakeLists.txt
@@ -2,6 +2,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# set CMake project name
--- src/other/libutahrle/CMakeLists.txt
+++ src/other/libutahrle/CMakeLists.txt
@@ -1,3 +1,9 @@
+IF(COMMAND CMAKE_POLICY)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ENDIF(COMMAND CMAKE_POLICY)
+
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/CMake")
INCLUDE(UTAH_CheckFunctions)
--- src/other/re2c/CMakeLists.txt
+++ src/other/re2c/CMakeLists.txt
@@ -2,6 +2,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
if(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
endif(COMMAND CMAKE_POLICY)
# Set CMake project name
--- src/other/incrTcl/itk/CMakeLists.txt
+++ src/other/incrTcl/itk/CMakeLists.txt
@@ -40,6 +40,10 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ CMAKE_POLICY(SET CMP0048 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# set CMake project name
--- src/other/incrTcl/itcl/CMakeLists.txt
+++ src/other/incrTcl/itcl/CMakeLists.txt
@@ -40,6 +40,10 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ CMAKE_POLICY(SET CMP0048 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# set CMake project name
--- src/other/libz/CMakeLists.txt
+++ src/other/libz/CMakeLists.txt
@@ -1,5 +1,10 @@
cmake_minimum_required(VERSION 2.4.4)
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
+if(COMMAND CMAKE_POLICY)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+endif(COMMAND CMAKE_POLICY)
project(zlib C)
--- src/other/tkhtml/CMakeLists.txt
+++ src/other/tkhtml/CMakeLists.txt
@@ -2,6 +2,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
# set CMake project name
--- src/other/step/CMakeLists.txt
+++ src/other/step/CMakeLists.txt
@@ -54,6 +54,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
ENDIF(COMMAND CMAKE_POLICY)
IF( NOT DEFINED INCLUDE_INSTALL_DIR )
--- src/other/libpng/CMakeLists.txt
+++ src/other/libpng/CMakeLists.txt
@@ -7,6 +7,12 @@
# and license in png.h
cmake_minimum_required(VERSION 2.4.4)
+if(COMMAND CMAKE_POLICY)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+endif(COMMAND CMAKE_POLICY)
+
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
set(CMAKE_CONFIGURATION_TYPES "Release;Debug;MinSizeRel;RelWithDebInfo")
@@ -201,6 +207,7 @@
)
ADD_CUSTOM_TARGET(${DEST_FILE}_COPY ALL DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE})
else(WIN32 AND NOT CYGWIN AND NOT MSYS)
+ file(MAKE_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SRC_FILE} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SRC_FILE} ${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
endif(WIN32 AND NOT CYGWIN AND NOT MSYS)
--- misc/CMake/Distcheck.cmake
+++ misc/CMake/Distcheck.cmake
@@ -120,8 +120,7 @@
endif(NOT "${ARGV5}" STREQUAL "")
# If we've already got a particular distcheck target, don't try to create it again.
- get_target_property(not_in_all distcheck-${TARGET_SUFFIX} EXCLUDE_FROM_ALL)
- if(NOT not_in_all)
+ if(NOT TARGET distcheck-${TARGET_SUFFIX})
# Need to set these locally so configure_file will pick them up...
SET(TARGET_SUFFIX ${TARGET_SUFFIX})
SET(CMAKE_OPTS ${CMAKE_OPTS})
@@ -155,9 +154,9 @@
# Keep track of the distcheck targets
set(distcheck_targets ${distcheck_targets} distcheck-${TARGET_SUFFIX})
- else(NOT not_in_all)
+ else(NOT TARGET distcheck-${TARGET_SUFFIX})
message(WARNING "Distcheck target distcheck-${TARGET_SUFFIX} already defined, skipping...")
- endif(NOT not_in_all)
+ endif(NOT TARGET distcheck-${TARGET_SUFFIX})
endmacro(CREATE_DISTCHECK)
# Top level macro for defining the common "standard" cases and lets a CMake build select either
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -124,6 +124,9 @@
CMAKE_POLICY(SET CMP0003 NEW)
CMAKE_POLICY(SET CMP0007 OLD)
CMAKE_POLICY(SET CMP0017 OLD)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ CMAKE_POLICY(SET CMP0026 OLD)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
endif(COMMAND CMAKE_POLICY)
# set CMake project name

View file

@ -0,0 +1,114 @@
------------------------------------------------------------------------
r63431 | starseeker | 2014-11-14 13:28:26 +0200 (Fri, 14 Nov 2014) | 1 line
Add INTERFACE to the TARGET_FLAGS list.
------------------------------------------------------------------------
r63433 | starseeker | 2014-11-14 13:54:33 +0200 (Fri, 14 Nov 2014) | 1 line
Work on getting ready for CMake 3.1. Particularly need to check distcheck with this new setup, with both old and new CMake. Should investigate CMP0053 issues at some point...
------------------------------------------------------------------------
r63628 | starseeker | 2014-12-09 06:23:04 +0200 (Tue, 09 Dec 2014) | 1 line
More tweaks for new CMake
------------------------------------------------------------------------
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -128,6 +128,10 @@
CMAKE_POLICY(SET CMP0026 OLD)
CMAKE_POLICY(SET CMP0042 OLD)
endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 3.0.9)
+ CMAKE_POLICY(SET CMP0053 OLD)
+ CMAKE_POLICY(SET CMP0054 NEW)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 3.0.9)
endif(COMMAND CMAKE_POLICY)
# set CMake project name
@@ -394,7 +398,15 @@
if(${name} MATCHES "^lib*")
set_target_properties(${name} PROPERTIES PREFIX "")
endif(${name} MATCHES "^lib*")
- set_property(GLOBAL APPEND PROPERTY CMAKE_LIBRARY_TARGET_LIST ${name})
+ set(add_lib_to_list 1)
+ foreach(libarg ${ARGN})
+ if("${libarg}" STREQUAL "INTERFACE")
+ set(add_lib_to_list 0)
+ endif("${libarg}" STREQUAL "INTERFACE")
+ endforeach(libarg ${ARGN})
+ if (add_lib_to_list)
+ set_property(GLOBAL APPEND PROPERTY CMAKE_LIBRARY_TARGET_LIST ${name})
+ endif (add_lib_to_list)
endfunction(add_library)
# Override and wrap add_executable
@@ -1921,16 +1933,10 @@
list(REMOVE_DUPLICATES CMAKE_EXTERNAL_TARGET_LIST)
endif(CMAKE_EXTERNAL_TARGET_LIST)
foreach(libtarget ${CMAKE_LIBRARY_TARGET_LIST})
- #TODO - can this locate test be replaced with if(TARGET ${libtarget}) ?
- if(NOT CMAKE_BUILD_TYPE)
- get_target_property(target_location ${libtarget} LOCATION)
- else(NOT CMAKE_BUILD_TYPE)
- get_target_property(target_location ${libtarget} LOCATION_${CMAKE_BUILD_TYPE})
- endif(NOT CMAKE_BUILD_TYPE)
- if(target_location)
+ if(TARGET ${libtarget})
add_dependencies(${libtarget} timestamp)
add_dependencies(buildtimedelta ${libtarget})
- endif(target_location)
+ endif(TARGET ${libtarget})
endforeach(libtarget ${CMAKE_LIBRARY_TARGET_LIST})
foreach(exectarget ${CMAKE_EXEC_TARGET_LIST})
if(NOT CMAKE_BUILD_TYPE)
--- misc/CMake/BRLCAD_CMakeFiles.cmake (revision 63430)
+++ misc/CMake/BRLCAD_CMakeFiles.cmake (revision 63431)
@@ -65,7 +65,7 @@
# make sure the file is there. Normally attempting to ignore
# a non-existent file is a fatal error, but these keywords
# don't necessarily refer to files.
- set(TARGET_FLAGS SHARED STATIC OBJECT WIN32 UNKNOWN IMPORTED)
+ set(TARGET_FLAGS SHARED STATIC OBJECT WIN32 UNKNOWN IMPORTED INTERFACE)
foreach(TARGET_FLAG ${TARGET_FLAGS})
if("${TARGET_FLAG}" STREQUAL "${ITEM}")
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${ITEM})
--- src/other/libpng/CMakeLists.txt (revision 63627)
+++ src/other/libpng/CMakeLists.txt (revision 63628)
@@ -175,11 +181,11 @@
# does not work with msvc due to png_lib_ver issue
add_executable(pngtest ${pngtest_sources})
target_link_libraries(pngtest ${PNG_LIB_NAME})
- add_test(pngtest ./pngtest ${CMAKE_CURRENT_SOURCE_DIR}/pngtest.png)
+ add_test(pngtest pngtest ${CMAKE_CURRENT_SOURCE_DIR}/pngtest.png)
#
add_executable(pngvalid ${pngvalid_sources})
target_link_libraries(pngvalid ${PNG_LIB_NAME})
- add_test(pngvalid ./pngvalid)
+ add_test(pngvalid pngvalid)
endif()
# Ensure the CMAKE_LIBRARY_OUTPUT_DIRECTORY is set
--- src/other/tcl/CMakeLists.txt (revision 63432)
+++ src/other/tcl/CMakeLists.txt (revision 63433)
@@ -44,6 +44,10 @@
CMAKE_POLICY(SET CMP0026 OLD)
CMAKE_POLICY(SET CMP0048 OLD)
endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 3.0.9)
+ CMAKE_POLICY(SET CMP0053 OLD)
+ CMAKE_POLICY(SET CMP0054 NEW)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 3.0.9)
ENDIF(COMMAND CMAKE_POLICY)
# Set CMake project name
--- src/other/tk/CMakeLists.txt (revision 63432)
+++ src/other/tk/CMakeLists.txt (revision 63433)
@@ -43,6 +43,9 @@
if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
CMAKE_POLICY(SET CMP0026 OLD)
endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
+ if ("${CMAKE_VERSION}" VERSION_GREATER 3.0.9)
+ CMAKE_POLICY(SET CMP0054 NEW)
+ endif ("${CMAKE_VERSION}" VERSION_GREATER 3.0.9)
ENDIF(COMMAND CMAKE_POLICY)
# set CMake project name