Update FindSDL script

Update FindSDL script

--- cmake/FindSDL2.cmake
+++ cmake/FindSDL2.cmake
@@ -1,59 +1,28 @@
-
-# This module defines
-# SDL2_LIBRARY, the name of the library to link against
-# SDL2_FOUND, if false, do not try to link to SDL2
-# SDL2_INCLUDE_DIR, where to find SDL.h
+# - Find SDL2 library and headers
+#
+# Find module for SDL 2.0 (http://www.libsdl.org/).
+# It defines the following variables:
+#  SDL2_INCLUDE_DIRS - The location of the headers, e.g., SDL.h.
+#  SDL2_LIBRARIES - The libraries to link against to use SDL2.
+#  SDL2_FOUND - If false, do not try to use SDL2.
+#  SDL2_VERSION_STRING - Human-readable string containing the version of SDL2.
 #
 # This module responds to the the flag:
-# SDL2_BUILDING_LIBRARY
-# If this is defined, then no SDL2main will be linked in because
-# only applications need main().
-# Otherwise, it is assumed you are building an application and this
-# module will attempt to locate and set the the proper link flags
-# as part of the returned SDL2_LIBRARY variable.
+#  SDL2_BUILDING_LIBRARY
+#    If this is defined, then no SDL2_main will be linked in because
+#    only applications need main().
+#    Otherwise, it is assumed you are building an application and this
+#    module will attempt to locate and set the the proper link flags
+#    as part of the returned SDL2_LIBRARIES variable.
 #
-# Don't forget to include SDLmain.h and SDLmain.m your project for the
-# OS X framework based version. (Other versions link to -lSDL2main which
-# this module will try to find on your behalf.) Also for OS X, this
-# module will automatically add the -framework Cocoa on your behalf.
+# Also defined, but not for general use are:
+#   SDL2_INCLUDE_DIR - The directory that contains SDL.h.
+#   SDL2_LIBRARY - The location of the SDL2 library.
+#   SDL2MAIN_LIBRARY - The location of the SDL2main library.
 #
-#
-# Additional Note: If you see an empty SDL2_LIBRARY_TEMP in your configuration
-# and no SDL2_LIBRARY, it means CMake did not find your SDL2 library
-# (SDL2.dll, libsdl2.so, SDL2.framework, etc).
-# Set SDL2_LIBRARY_TEMP to point to your SDL2 library, and configure again.
-# Similarly, if you see an empty SDL2MAIN_LIBRARY, you should set this value
-# as appropriate. These values are used to generate the final SDL2_LIBRARY
-# variable, but when these values are unset, SDL2_LIBRARY does not get created.
-#
-#
-# $SDL2DIR is an environment variable that would
-# correspond to the ./configure --prefix=$SDL2DIR
-# used in building SDL2.
-# l.e.galup  9-20-02
-#
-# Modified by Eric Wing.
-# Added code to assist with automated building by using environmental variables
-# and providing a more controlled/consistent search behavior.
-# Added new modifications to recognize OS X frameworks and
-# additional Unix paths (FreeBSD, etc).
-# Also corrected the header search path to follow "proper" SDL guidelines.
-# Added a search for SDL2main which is needed by some platforms.
-# Added a search for threads which is needed by some platforms.
-# Added needed compile switches for MinGW.
-#
-# On OSX, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of
-# SDL2_LIBRARY to override this selection or set the CMake environment
-# CMAKE_INCLUDE_PATH to modify the search paths.
-#
-# Note that the header path has changed from SDL2/SDL.h to just SDL.h
-# This needed to change because "proper" SDL convention
-# is #include "SDL.h", not <SDL2/SDL.h>. This is done for portability
-# reasons because not all systems place things in SDL2/ (see FreeBSD).

 #=============================================================================
-# Copyright 2003-2009 Kitware, Inc.
+# Copyright 2013 Benjamin Eikel, modified by Ristovski
 #
 # Distributed under the OSI-approved BSD License (the "License");
 # see accompanying file Copyright.txt for details.
@@ -68,12 +37,10 @@
 SET(SDL2_SEARCH_PATHS
 	~/Library/Frameworks
 	/Library/Frameworks
+	/usr
 	/usr/local
-	/usr
-	/sw # Fink
-	/opt/local # DarwinPorts
-	/opt/csw # Blastwave
 	/opt
+	/opt/local
 )

 FIND_PATH(SDL2_INCLUDE_DIR SDL.h
@@ -93,10 +60,6 @@

 IF(NOT SDL2_BUILDING_LIBRARY)
 	IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
-		# Non-OS X framework versions expect you to also dynamically link to
-		# SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
-		# seem to provide SDL2main for compatibility even though they don't
-		# necessarily need it.
 		FIND_LIBRARY(SDL2MAIN_LIBRARY
 			NAMES SDL2main
 			HINTS
@@ -107,17 +70,10 @@
 	ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
 ENDIF(NOT SDL2_BUILDING_LIBRARY)

-# SDL2 may require threads on your system.
-# The Apple build may not need an explicit flag because one of the
-# frameworks may already provide it.
-# But for non-OSX systems, I will use the CMake Threads package.
 IF(NOT APPLE)
 	FIND_PACKAGE(Threads)
 ENDIF(NOT APPLE)

-# MinGW needs an additional library, mwindows
-# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -lmwindows
-# (Actually on second look, I think it only needs one of the m* libraries.)
 IF(MINGW)
 	SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
 ENDIF(MINGW)
@@ -130,35 +86,22 @@
 		ENDIF(SDL2MAIN_LIBRARY)
 	ENDIF(NOT SDL2_BUILDING_LIBRARY)

-	# For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
-	# CMake doesn't display the -framework Cocoa string in the UI even
-	# though it actually is there if I modify a pre-used variable.
-	# I think it has something to do with the CACHE STRING.
-	# So I use a temporary variable until the end so I can set the
-	# "real" variable in one-shot.
 	IF(APPLE)
-		SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
+		SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa") #Required
 	ENDIF(APPLE)

-	# For threads, as mentioned Apple doesn't need this.
-	# In fact, there seems to be a problem if I used the Threads package
-	# and try using this line, so I'm just skipping it entirely for OS X.
 	IF(NOT APPLE)
-		SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
+		SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT}) #Might cause issues
 	ENDIF(NOT APPLE)

-	# For MinGW library
 	IF(MINGW)
 		SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
 	ENDIF(MINGW)

-	# Set the final string here so the GUI reflects the final state.
 	SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
-	# Set the temp variable to INTERNAL so it is not seen in the CMake GUI
 	SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
 ENDIF(SDL2_LIBRARY_TEMP)

 INCLUDE(FindPackageHandleStandardArgs)

-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
-
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)


find sdl2: fix for using sdl2bots builds out of the box

--- cmake/FindSDL2.cmake
+++ cmake/FindSDL2.cmake
@@ -75,6 +75,7 @@
     ENV SDL2DIR
   PATH_SUFFIXES
     lib
+    lib/win32
     lib/x86
 )

@@ -85,6 +86,7 @@
     ENV SDL2DIR
   PATH_SUFFIXES
     bin
+    lib/win32
     lib/x86
 )

@@ -101,6 +103,7 @@
         ENV SDL2DIR
       PATH_SUFFIXES
         lib
+        lib/win32
         lib/x86
     )
   endif()


r12468/sofa-dev : Update the FindSOFA.cmake, for user which try to use SOFA as an external CMake project. May be, have to improve the way to find specific libs according to the SOFA configuration (from sofa-local.prf).

Former-commit-id: ad961e51f3fd85fa2710d1eb56c119574a2a86dd

--- cmake/FindSOFA.cmake
+++ cmake/FindSOFA.cmake
@@ -1,5 +1,5 @@
 # This Finder allow to find SOFA files for build a project with it.
-# In order to use this script, you have to call the find_package(SOFA) command in your CMakeLists.txt
+# In order to use this cmake module, you have to call the find_package(SOFA) command in your CMakeLists.txt
 #
 # This module defines for use :
 # SOFA_LIBRARIES wich contain all LIBRARIES variables in absolute path of Sofa
@@ -19,8 +19,12 @@
 #  * update if necessary name and cmake name of libraries in the corresponding section
 #  * update if necessary the paths to search the libs to the find_lib macro
 #
-# If you have some problem to load the include files, be sur you had append CMAKE_MODULE_PATH to the cmake dir :
+# If you have some problem to include this cmake files in your CMake project, be sur you appended CMAKE_MODULE_PATH to the cmake dir :
 # list(APPEND CMAKE_MODULE_PATH "${SOFA_DIR}/cmake")
+#
+## TODO :
+# In order to have a more flexible FindSOFA.cmake, may be we can allow to use some additional CMAKE variables as input of this cmake module
+# to find other specific SOFA lib/include...
 #
 # Created by Jean-Christophe Lombardo and Jerome Esnault.

@@ -124,8 +128,8 @@
 	${SOFA_INCLUDE_EXTLIBS}/colladadom
 	${SOFA_INCLUDE_EXTLIBS}/csparse
 	${SOFA_INCLUDE_EXTLIBS}/cudpp
-    #${SOFA_INCLUDE_EXTLIBS}/eigen-3.0.1
-	${SOFA_INCLUDE_EXTLIBS}/eigen-3.0.3
+#    ${SOFA_INCLUDE_EXTLIBS}/eigen-3.0.1
+	${SOFA_INCLUDE_EXTLIBS}/eigen-3.0.5
 	${SOFA_INCLUDE_EXTLIBS}/ffmpeg
 	${SOFA_INCLUDE_EXTLIBS}/fftpack
 	${SOFA_INCLUDE_EXTLIBS}/fishpack
@@ -202,32 +206,47 @@
 ## ###########################################################################################
 ## Put the name of the library SOFA CORE to search and put it associate CMakeName
 list(APPEND SOFA_LIB_NAME
-	sofabgl 		SOFA_LIB_BGL_LIBRARY
-	sofagui 		SOFA_LIB_GUI_LIBRARY
-	sofatree 		SOFA_LIB_TREE_LIBRARY
-	sofacore 		SOFA_LIB_CORE_LIBRARY
-	sofaguiqt 		SOFA_LIB_GUI_QT_LIBRARY
-	sofahelper 		SOFA_LIB_HELPER_LIBRARY
-	sofaguiglut 	SOFA_LIB_GUI_GLUT_LIBRARY
-	sofaguimain 	SOFA_LIB_GUI_MAIN_LIBRARY
-	sofamodeler 	SOFA_LIB_MODELER_LIBRARY
-	sofasimulation 	SOFA_LIB_SIMULATION_LIBRARY
-	sofadefaulttype SOFA_LIB_DEFAULT_TYPE_LIBRARY
+	sofabgl 		    SOFA_LIB_BGL
+	sofagui 		    SOFA_LIB_GUI
+	sofatree 		    SOFA_LIB_TREE
+	sofacore 		    SOFA_LIB_CORE
+	sofaguiqt 		    SOFA_LIB_GUI_QT
+	sofahelper 		    SOFA_LIB_HELPER
+	sofaguiglut 	    SOFA_LIB_GUI_GLUT
+	sofaguimain 	    SOFA_LIB_GUI_MAIN
+	sofamodeler 	    SOFA_LIB_MODELER
+	sofasimulation 	    SOFA_LIB_SIMULATION
+    sofaobjectcreator   SOFA_OBJECT_CREATOR
+	sofadefaulttype     SOFA_LIB_DEFAULT_TYPE
 )
 list(LENGTH SOFA_LIB_NAME sofaLibList)
-math(EXPR passToBase "${sofaLibList}/2")
+math(EXPR passToComponent "${sofaLibList}/2")
+
+
+## Put the name of the library SOFA COMPONENT to search and put it associate CMakeName
+list(APPEND SOFA_LIB_COMPONENT_NAME
+	sofa_component  			SOFA_LIB_COMPONENT
+    sofa_component_dev          SOFA_LIB_COMPONENT_DEV
+    sofa_component_base         SOFA_LIB_COMPONENT_BASE
+    sofa_component_misc         SOFA_LIB_COMPONENT_MISC
+    sofa_component_common       SOFA_LIB_COMPONENT_COMMON
+    sofa_component_general      SOFA_LIB_COMPONENT_GENERAL
+    sofa_component_misc_dev     SOFA_LIB_COMPONENT_MISC_DEV
+    sofa_component_advanced     SOFA_LIB_COMPONENT_ADVANCED
+    sofa_component_advanced_dev SOFA_LIB_COMPONENT_ADVANCED_DEV
+)
+list(LENGTH SOFA_LIB_COMPONENT_NAME sofaLibComponentList)
+math(EXPR passToBase "${sofaLibComponentList}/2+${passToComponent}")

 ## Put the name of the library SOFA BASE to search and put it associate CMakeName
 list(APPEND SOFA_LIB_BASE_NAME
-	sofa_base_animation_loop 	SOFA_LIB_BASE_ANIMATION_LOOP_LIBRARY
-	sofa_base_collision  	 	SOFA_LIB_BASE_COLLISION_LIBRARY
-	sofa_base_linear_solver 	SOFA_LIB_BASE_LINEAR_SOLVER_LIBRARY
-	sofa_base_mechanics  		SOFA_LIB_BASE_MECHANICS_LIBRARY
-	sofa_base_topology  		SOFA_LIB_BASE_TOPOLOGY_LIBRARY
-	sofa_base_visual  			SOFA_LIB_BASE_VISUAL_LIBRARY
-	sofa_component  			SOFA_LIB_COMPONENT_LIBRARY
-
+	sofa_base_animation_loop 	SOFA_LIB_BASE_ANIMATION_LOOP
+	sofa_base_collision  	 	SOFA_LIB_BASE_COLLISION
+	sofa_base_linear_solver 	SOFA_LIB_BASE_LINEAR_SOLVER
+	sofa_base_mechanics  		SOFA_LIB_BASE_MECHANICS
+	sofa_base_topology  		SOFA_LIB_BASE_TOPOLOGY
+	sofa_base_visual  			SOFA_LIB_BASE_VISUAL
 )
 list(LENGTH SOFA_LIB_BASE_NAME sofaLibBaseList)
 math(EXPR passToCommon "${sofaLibBaseList}/2+${passToBase}")
@@ -235,14 +254,14 @@

 ## Put the name of the library SOFA COMMON to search and put it associate CMakeName
 list(APPEND SOFA_LIB_COMMON_NAME
-	sofa_deformable				SOFA_LIB_COMMON_DEFORMABLE_LIBRARY
-	sofa_explicit_ode_solver	SOFA_LIB_COMMON_ODE_SOLVER_LIBRARY
-	sofa_implicit_ode_solver	SOFA_LIB_COMMON_IMPLICIT_ODE_SOLVER_LIBRARY
-	sofa_loader					SOFA_LIB_COMMON_LOADER_LIBRARY
-	sofa_mesh_collision			SOFA_LIB_COMMON_MESH_COLLISION_LIBRARY
-	sofa_rigid					SOFA_LIB_COMMON_RIGID_LIBRARY
-	sofa_simple_fem				SOFA_LIB_COMMON_SIMPLE_FEM_LIBRARY
-	sofa_object_interaction		SOFA_LIB_COMMON_OBJECT_INTERACTION_LIBRARY
+	sofa_deformable				SOFA_LIB_DEFORMABLE
+	sofa_explicit_ode_solver	SOFA_LIB_ODE_SOLVER
+	sofa_implicit_ode_solver	SOFA_LIB_IMPLICIT_ODE_SOLVER
+	sofa_loader					SOFA_LIB_LOADER
+	sofa_mesh_collision			SOFA_LIB_MESH_COLLISION
+	sofa_rigid					SOFA_LIB_RIGID
+	sofa_simple_fem				SOFA_LIB_SIMPLE_FEM
+	sofa_object_interaction		SOFA_LIB_OBJECT_INTERACTION
 )
 list(LENGTH SOFA_LIB_COMMON_NAME sofaCommonLibList)
 math(EXPR passToGeneralLib "${sofaCommonLibList}/2+${passToCommon}")
@@ -250,19 +269,18 @@

 ## Put the name of the library SOFA GENERAL to search and put it associate CMakeName
 list(APPEND SOFA_LIB_GENERAL_NAME
-	sofa_boundary_condition		SOFA_LIB_GENERAL_BOUNDARY_CONDITION_LIBRARY
-	sofa_constraint				SOFA_LIB_GENERAL_CONSTRAINT_LIBRARY
-	sofa_dense_solver			SOFA_LIB_GENERAL_DENSE_SOLVER_LIBRARY
-	sofa_engine					SOFA_LIB_GENERAL_ENGINE_LIBRARY
-	sofa_exporter				SOFA_LIB_GENERAL_EXPORTER_LIBRARY
-	sofa_graph_component		SOFA_LIB_GENERAL_GRAPH_COMPONENT_LIBRARY
-	sofa_opengl_visual			SOFA_LIB_GENERAL_OPENGL_VISUAL_LIBRARY
-	sofa_preconditioner			SOFA_LIB_GENERAL_PRECONDITIONER_LIBRARY
-#?	sofa_sparse_solver			SOFA_LIB_GENERAL_SPARSE_SOLVER_LIBRARY #optional
-	sofa_topology_mapping		SOFA_LIB_GENERAL_TOPOLOGY_MAPPING_LIBRARY
-	sofa_user_interaction		SOFA_LIB_GENERAL_USER_INTERACTION_LIBRARY
-	sofa_validation				SOFA_LIB_GENERAL_VALIDATION_LIBRARY
-	sofa_haptics				SOFA_LIB_GENERAL_HAPTICS_LIBRARY
+	sofa_boundary_condition		SOFA_LIB_BOUNDARY_CONDITION
+	sofa_constraint				SOFA_LIB_CONSTRAINT
+	sofa_dense_solver			SOFA_LIB_DENSE_SOLVER
+	sofa_engine					SOFA_LIB_ENGINE
+	sofa_exporter				SOFA_LIB_EXPORTER
+	sofa_graph_component		SOFA_LIB_GRAPH_COMPONENT
+	sofa_opengl_visual			SOFA_LIB_OPENGL_VISUAL
+	sofa_preconditioner			SOFA_LIB_PRECONDITIONER
+	sofa_topology_mapping		SOFA_LIB_TOPOLOGY_MAPPING
+	sofa_user_interaction		SOFA_LIB_USER_INTERACTION
+	sofa_validation				SOFA_LIB_VALIDATION
+	sofa_haptics				SOFA_LIB_HAPTICS
 )
 list(LENGTH SOFA_LIB_GENERAL_NAME sofaGeneralLibList)
 math(EXPR passToAdvancedLib "${sofaGeneralLibList}/2+${passToGeneralLib}")
@@ -270,17 +288,16 @@

 ## Put the name of the library SOFA ADVANCED to search and put it associate CMakeName
 list(APPEND SOFA_LIB_ADVANCED_NAME
-	sofa_advanced_constraint	SOFA_LIB_ADVANCED_CONSTRAINT_LIBRARY
-	sofa_advanced_fem			SOFA_LIB_ADVANCED_FEM_LIBRARY
-	sofa_advanced_interaction	SOFA_LIB_ADVANCED_INTERACTION_LIBRARY
-	sofa_eigen2_solver			SOFA_LIB_EIGEN2_SOLVER_LIBRARY
-	sofa_eulerian_fluid			SOFA_LIB_EULERIAN_FUILD_LIBRARY
-	sofa_mjed_fem				SOFA_LIB_MJED_FEM_LIBRARY
-	sofa_non_uniform_fem		SOFA_LIB_NON_UNIFORM_FEM_LIBRARY
-#?	sofa_pardiso_solver			SOFA_LIB_PARDISO_SOLVER_LIBRARY #optional
-	sofa_sph_fluid				SOFA_LIB_SPH_FUILD_LIBRARY
-#?	sofa_taucs_solver			SOFA_LIB_TAUCS_SOLVER_LIBRARY #optional
-	sofa_volumetric_data		SOFA_LIB_VOLUMETRIC_DATA_LIBRARY
+	sofa_advanced_constraint	SOFA_LIB_ADVANCED_CONSTRAINT
+	sofa_advanced_fem			SOFA_LIB_ADVANCED_FEM
+	sofa_advanced_interaction	SOFA_LIB_ADVANCED_INTERACTION
+	sofa_eigen2_solver			SOFA_LIB_EIGEN2_SOLVER
+	sofa_eulerian_fluid			SOFA_LIB_EULERIAN_FUILD
+	sofa_mjed_fem				SOFA_LIB_MJED_FEM
+	sofa_non_uniform_fem		SOFA_LIB_NON_UNIFORM_FEM
+	sofa_non_uniform_fem_dev    SOFA_LIB_NON_UNIFORM_FEM_DEV
+	sofa_sph_fluid				SOFA_LIB_SPH_FUILD
+	sofa_volumetric_data		SOFA_LIB_VOLUMETRIC_DATA
 )
 list(LENGTH SOFA_LIB_GENERAL_NAME sofaAdvancedLibList)
 math(EXPR passToMiscLib "${sofaAdvancedLibList}/2+${passToAdvancedLib}")
@@ -288,14 +305,21 @@

 ## Put the name of the library SOFA MISC to search and put it associate CMakeName
 list(APPEND SOFA_LIB_MISC_NAME
-	sofa_misc				SOFA_LIB_MISC_LIBRARY
-	sofa_misc_collision		SOFA_LIB_MISC_COLLISION
-	sofa_misc_fem			SOFA_LIB_MISC_FEM
-	sofa_misc_forcefield	SOFA_LIB_MISC_FORCEFIELD
-	sofa_misc_mapping		SOFA_LIB_MISC_MAPPING
-	sofa_misc_solver		SOFA_LIB_MISC_SOLVER
-	sofa_misc_topology		SOFA_LIB_MISC_TOPOLOGY
-	sofa_misc_engine		SOFA_LIB_MISC_ENGINE
+	sofa_misc				    SOFA_LIB_MISC
+	sofa_misc_collision		    SOFA_LIB_MISC_COLLISION
+	sofa_misc_collision_dev     SOFA_LIB_MISC_COLLISION_DEV
+	sofa_misc_fem			    SOFA_LIB_MISC_FEM
+	sofa_misc_dev			    SOFA_LIB_MISC_DEV
+	sofa_misc_fem_dev   	    SOFA_LIB_MISC_FEM_DEV
+	sofa_misc_forcefield	    SOFA_LIB_MISC_FORCEFIELD
+ 	sofa_misc_forcefield_dev    SOFA_LIB_MISC_FORCEFIELD_DEV
+	sofa_misc_mapping		    SOFA_LIB_MISC_MAPPING
+  	sofa_misc_mapping_dev       SOFA_LIB_MISC_MAPPING_DEV
+	sofa_misc_solver		    SOFA_LIB_MISC_SOLVER
+	sofa_misc_solver_dev        SOFA_LIB_MISC_SOLVER_DEV
+	sofa_misc_topology		    SOFA_LIB_MISC_TOPOLOGY
+	sofa_misc_topology_dev      SOFA_LIB_MISC_TOPOLOGY_DEV
+	sofa_misc_engine		    SOFA_LIB_MISC_ENGINE
 )
 list(LENGTH SOFA_LIB_MISC_NAME sofaMiscLibList)
 math(EXPR passToExtLib "${sofaMiscLibList}/2+${passToMiscLib}")
@@ -304,20 +328,20 @@
 ## Put the name of the library EXT to search and put it associate CMakeName
 if(MSVC)
 	list(APPEND SOFA_LIB_MSVC
-	iconv 	SOFACOMMON_ICONV
-	glew32 	SOFACOMMON_GLEW
-	glut32 	SOFACOMMON_GLUT
-	libxml2 SOFACOMMON_LIBXML2
+	    iconv 	SOFAWIN_ICONV
+	    glew32 	SOFAWIN_GLEW
+	    glut32 	SOFAWIN_GLUT
+	    libxml2 SOFAWIN_LIBXML2
 	)
-else(MSVC)
+else()
 	set(SOFA_LIB_MSVC)
-endif(MSVC)
+endif()

 list(APPEND SOFA_LIB_EXT_NAME
-	qwt 		SOFA_LIB_EXT_QWT_LIBRARY
-	miniFlowVR 	SOFA_LIB_EXT_MINI_FLOWVR_LIBRARY
-	newmat 		SOFA_LIB_EXT_NEWMAT_LIBRARY
-	tinyxml 	SOFA_LIB_EXT_TINYXML_LIBRARY
+	qwt 		SOFA_LIB_QWT
+	miniFlowVR 	SOFA_LIB_MINI_FLOWVR
+	newmat 		SOFA_LIB_NEWMAT
+	tinyxml 	SOFA_LIB_TINYXML
 	${SOFA_LIB_MSVC}
 )

@@ -325,6 +349,7 @@
 ## Collect all list of libs names together in one list
 list(APPEND SOFA_LIBS_NAME
 	${SOFA_LIB_NAME}
+    ${SOFA_LIB_COMPONENT_NAME}
 	${SOFA_LIB_BASE_NAME}
 	${SOFA_LIB_COMMON_NAME}
 	${SOFA_LIB_GENERAL_NAME}
@@ -333,8 +358,8 @@
 	${SOFA_LIB_EXT_NAME}
 )

-# To use the find_lib macro from find_lib.cmake
-include(find_lib)
+# To use VERBOSE macro (print only if VAR or default VERBOSE_CMAKE is set to true
+include(cmaketools/macros/find_lib.cmake)

 list(APPEND SEARCH_LIB_PATHS
     ${SOFA_DIR}/lib
@@ -361,6 +386,10 @@

 	## Indices to display list in 3 parts
     if(VERBOSE_SOFA)
+        if(index EQUAL passToComponent)
+            message(STATUS "")
+            message(STATUS "----SOFA COMPONENT LIBS LIST : ")
+        endif()
         if(index EQUAL passToBase)
             message(STATUS "")
             message(STATUS "----SOFA BASE LIBS LIST : ")
@@ -399,7 +428,7 @@
 #    option(SOFA_USE_${CMAKE_SOFA_LIB_NAME} "Build ${CMAKE_SOFA_LIB_NAME}" true)
 #	if(SOFA_USE_${CMAKE_SOFA_LIB_NAME})

-		## Use the MACRO to find the library with it full path
+		## Use the MACRO defined above to find the library with it full path
         FIND_LIB(${CMAKE_SOFA_LIB_NAME} ${REAL_SOFA_LIB_NAME}
                 PATHSLIST_DEBUG
                     ${SEARCH_LIB_PATHS}
@@ -450,15 +479,16 @@
 		SOFA_INCLUDE_FRAMEWORK_DIR
         SOFA_INCLUDE_MODULES_DIR
         SOFA_INCLUDE_APPLICATIONS_DIR
-        SOFA_LIB_CORE_LIBRARY
-        SOFA_LIB_HELPER_LIBRARY
-        SOFA_LIB_SIMULATION_LIBRARY
-        SOFA_LIB_COMPONENT_LIBRARY
-)
-
-
-## ###########################################################################################
-## FIND SOFA DEFINES (this can be skip by comment the 2 lines)
+        SOFA_LIB_CORE
+        SOFA_LIB_HELPER
+        SOFA_LIB_DEFAULT_TYPE
+        SOFA_LIB_SIMULATION
+        SOFA_LIB_COMPONENT
+)
+
+
+## ###########################################################################################
+## FIND SOFA DEFINES
 ## ###########################################################################################
 include(findSofaDefines)
 findSofaDefines(${VERBOSE_SOFA})


disable XOP with binutils < 2.21

disable XOP with binutils < 2.21

--- cmake/VcMacros.cmake
+++ cmake/VcMacros.cmake
@@ -152,6 +152,9 @@
             set(Vc_AVX_INTRINSICS_BROKEN true)
             set(Vc_XOP_INTRINSICS_BROKEN true)
             set(Vc_FMA4_INTRINSICS_BROKEN true)
+         elseif(_as_version VERSION_LESS "2.21.0")
+            UserWarning("Your binutils is too old (${_as_version}) for XOP instructions. They will therefore not be provided in libVc.")
+            set(Vc_XOP_INTRINSICS_BROKEN true)
          endif()
       endif()
    endif(APPLE)


cmake: Add parser_main

cmake: Add parser_main

--- cmake/flatzinc.cmake
+++ cmake/flatzinc.cmake
@@ -107,7 +107,9 @@
 elseif(UNIX)
   set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN")
 endif()
-# Binary
+
+
+# Fz Binary
 add_executable(fz
   ortools/flatzinc/fz.cc
   )
@@ -130,6 +132,31 @@
 ## Alias
 add_executable(${PROJECT_NAME}::fz ALIAS fz)

+
+# Parser Binary
+add_executable(parser_main
+  ortools/flatzinc/parser_main.cc
+  )
+## Includes
+target_include_directories(parser_main PRIVATE
+  $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
+  $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
+  )
+## Compile options
+set_target_properties(parser_main PROPERTIES
+  CXX_STANDARD 17
+  CXX_STANDARD_REQUIRED ON
+  CXX_EXTENSIONS OFF
+  )
+target_compile_features(parser_main PUBLIC cxx_std_17)
+target_compile_definitions(parser_main PUBLIC ${FLATZINC_COMPILE_DEFINITIONS})
+target_compile_options(parser_main PUBLIC ${FLATZINC_COMPILE_OPTIONS})
+## Dependencies
+target_link_libraries(parser_main PRIVATE ortools::flatzinc)
+## Alias
+add_executable(${PROJECT_NAME}::parser_main ALIAS parser_main)
+
+
 # MiniZinc solver configuration
 file(RELATIVE_PATH FZ_REL_INSTALL_BINARY
   ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/minizinc/solvers
@@ -141,7 +168,7 @@

 # Install rules
 include(GNUInstallDirs)
-install(TARGETS flatzinc fz
+install(TARGETS flatzinc fz parser_main
   EXPORT ${PROJECT_NAME}Targets
   INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
   ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}


metadata.cmake: ensure events directory exists & add px4 enums

--- cmake/metadata.cmake
+++ cmake/metadata.cmake
@@ -81,12 +81,14 @@

 set(events_src_path "${PX4_SOURCE_DIR}/src/lib/events")
 add_custom_target(metadata_extract_events
+	COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/events
 	COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_events.py
 		--src-path ${PX4_SOURCE_DIR}/src
 		--json ${PX4_BINARY_DIR}/events/px4_full.json #--verbose
 	COMMAND ${PYTHON_EXECUTABLE} ${events_src_path}/libevents/scripts/combine.py
 		${PX4_BINARY_DIR}/events/px4_full.json
 		${events_src_path}/libevents/events/common.json
+		${events_src_path}/enums.json
 		--output ${PX4_BINARY_DIR}/events/all_events_full.json
 	COMMAND ${PYTHON_EXECUTABLE} ${events_src_path}/libevents/scripts/validate.py
 		${PX4_BINARY_DIR}/events/all_events_full.json


Fix for OSX

Fix for OSX

--- cmake/roscpp14.cmake
+++ cmake/roscpp14.cmake
@@ -1,8 +1,9 @@
-if (UNIX)
+if (APPLE)
+else (APPLE)
   # for Ubuntu14.04
   # sudo add-apt-repository ppa:ubuntu-toolchain-r/test
   # sudo apt-get update
   # sudo apt-get install g++-4.9
   set(CMAKE_CXX_COMPILER g++-4.9)
-endif (UNIX)
+endif (APPLE)
 add_definitions(-std=c++14)


Fixed Windows path.

Fixed Windows path.

--- FindFBX.cmake
+++ FindFBX.cmake
@@ -12,8 +12,10 @@
 #    FBX_ROOT - (as a CMake or environment variable)
 #               The root directory of the FBX SDK install

+set(FBX_VERSION 2013.3)
+
 set(FBX_MAC_LOCATIONS
-    "/Applications/Autodesk/FBX\ SDK/2013.3"
+    "/Applications/Autodesk/FBX\ SDK/${FBX_VERSION}"
 )

 if(WIN32)
@@ -21,14 +23,12 @@
 endif()

 set(FBX_WIN_LOCATIONS
-    "${WIN_PROGRAM_FILES_X64_DIRECTORY}/Autodesk/FBX/FbxSdk/2013.3"
+    "${WIN_PROGRAM_FILES_X64_DIRECTORY}/Autodesk/FBX/FBX SDK/${FBX_VERSION}"
 )

 set(FBX_SEARCH_LOCATIONS
     $ENV{FBX_ROOT} ${FBX_ROOT} ${FBX_MAC_LOCATIONS} ${FBX_WIN_LOCATIONS}
 )
-
-set(FBX_VERSION 2013.3)

 function(_fbx_append_debugs _endvar _library)
     if(${_library} AND ${_library}_DEBUG)


Add DEAL_II_WITH_64BIT_INDICES to the list of variables that are cached.

git-svn-id: 25ef932062c7d454eca13bcaa0e2d6c96abd0655@29715 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/cmake/setup_cached_variables.cmake
+++ deal.II/cmake/setup_cached_variables.cmake
@@ -42,6 +42,7 @@
 #     DEAL_II_SHARED_LINKER_FLAGS_DEBUG
 #     DEAL_II_CXX_FLAGS_RELEASE
 #     DEAL_II_SHARED_LINKER_FLAGS_RELEASE
+#     DEAL_II_WITH_64BIT_INDICES
 #
 # *)  May also be set via environment variable (CFLAGS, CXXFLAGS, LDFLAGS)
 #     (nonempty cached variable has precedence will not be overwritten by
@@ -236,6 +237,15 @@
   MARK_AS_ADVANCED(${_flag})
 ENDFOREACH()

+SET(DEAL_II_WITH_64BIT_INDICES "${DEAL_II_WITH_64BIT_INDICES}" CACHE BOOL
+    "If set to ON, then use 64-bit data types to represent global degree of freedom indices. The default is to OFF. You only want to set this to ON if you will solve problems with more than 2^31 (approximately 2 billion) unknowns. If set to ON, you also need to ensure that both Trilinos and/or PETSc support 64-bit indices."
+   )
+
+SET(DEAL_II_WITH_64BIT_INDICES_SAVED "${DEAL_II_WITH_64BIT_INDICES}")
+MARK_AS_ADVANCED(DEAL_II_WITH_64BIT_INDICES)
+
+
+
 #
 # Finally, read in CFLAGS, CXXFLAGS and LDFLAGS from environment and
 # prepend them to the saved variables:
@@ -250,7 +260,7 @@

 ###########################################################################
 #                                                                         #
-#                          Miscellanious setup:                           #
+#                          Miscellaneous setup:                           #
 #                                                                         #
 ###########################################################################


cmake: re-work devicetree preprocessing steps

This causes any devicetree error messages to refer to the source files
which contain the errors instead of intermediate <BOARD>.dts.pre.tmp
files in the build directory.

Do this using a new python-devicetree feature which can correctly
handle cpp's generated line marker directives.

To use this feature, rework the way that the C preprocessor is run on
devicetree inputs so that line marker directives are preserved by
removing the -P option.

This is a backwards incompatible change to the way the generated files
in the build directory used to work, as not all tools can consume line
markers. In particular, dtc can't handle these lines. We therefore
pass dtc zephyr.dts instead (the final parsed devicetree output from
python-devicetree).

Since <BOARD>.dts.pre.tmp is a publicly documented file, this is
changing existing behavior, so use a new file name for the
intermediate files to make it more obvious that something changed. In
particular, use zephyr.dts.pre instead of <BOARD>.dts.pre.tmp.
(The $BOARD.dts.pre.tmp name is a little cumbersome anyway.)

Signed-off-by: Martí Bolívar <9d90ac4c7bf6a305f6bfd81a23c7859bc883380e@nordicsemi.no>

--- cmake/dts.cmake
+++ cmake/dts.cmake
@@ -22,7 +22,8 @@
 set(EDT_PICKLE                  ${PROJECT_BINARY_DIR}/edt.pickle)
 set(DEVICETREE_UNFIXED_H        ${PROJECT_BINARY_DIR}/include/generated/devicetree_unfixed.h)
 set(DEVICE_EXTERN_H             ${PROJECT_BINARY_DIR}/include/generated/device_extern.h)
-set(DTS_POST_CPP                ${PROJECT_BINARY_DIR}/${BOARD}.dts.pre.tmp)
+set(DTS_POST_CPP                ${PROJECT_BINARY_DIR}/zephyr.dts.pre)
+set(DTS_DEPS                    ${PROJECT_BINARY_DIR}/zephyr.dts.d)
 # The location of a list of known vendor prefixes.
 # This is relative to each element of DTS_ROOT.
 set(VENDOR_PREFIXES             dts/bindings/vendor-prefixes.txt)
@@ -141,10 +142,9 @@
   # preprocessor, and it seems to be including all kinds of
   # directories with who-knows how many header files.

-  # Run the C preprocessor on an empty C source file that has one or
-  # more DTS source files -include'd into it to create the
-  # intermediary file *.dts.pre.tmp. Also, generate a dependency file
-  # so that changes to DT sources are detected.
+  # Run the preprocessor on the DTS input files. We are leaving
+  # linemarker directives enabled on purpose. This tells dtlib where
+  # each line actually came from, which improves error reporting.
   execute_process(
     COMMAND ${CMAKE_DTS_PREPROCESSOR}
     -x assembler-with-cpp
@@ -154,11 +154,10 @@
     ${NOSYSDEF_CFLAG}
     -D__DTS__
     ${DTS_EXTRA_CPPFLAGS}
-    -P
     -E   # Stop after preprocessing
     -MD  # Generate a dependency file as a side-effect
-    -MF ${PROJECT_BINARY_DIR}/${BOARD}.dts.pre.d
-    -o  ${PROJECT_BINARY_DIR}/${BOARD}.dts.pre.tmp
+    -MF ${DTS_DEPS}
+    -o ${DTS_POST_CPP}
     ${ZEPHYR_BASE}/misc/empty_file.c
     WORKING_DIRECTORY ${APPLICATION_SOURCE_DIR}
     RESULT_VARIABLE ret
@@ -168,10 +167,9 @@
   endif()

   # Parse the generated dependency file to find the DT sources that
-  # were included and then add them to the list of files that trigger
-  # a re-run of CMake.
-  toolchain_parse_make_rule(
-    ${PROJECT_BINARY_DIR}/${BOARD}.dts.pre.d
+  # were included, including any transitive includes, and then add
+  # them to the list of files that trigger a re-run of CMake.
+  toolchain_parse_make_rule(${DTS_DEPS}
     include_files # Output parameter
     )

@@ -188,12 +186,12 @@

   string(REPLACE ";" " " EXTRA_DTC_FLAGS_RAW "${EXTRA_DTC_FLAGS}")
   set(CMD_EXTRACT ${PYTHON_EXECUTABLE} ${GEN_DEFINES_SCRIPT}
-  --dts ${BOARD}.dts.pre.tmp
+  --dts ${DTS_POST_CPP}
   --dtc-flags '${EXTRA_DTC_FLAGS_RAW}'
   --bindings-dirs ${DTS_ROOT_BINDINGS}
   --header-out ${DEVICETREE_UNFIXED_H}
   --device-header-out ${DEVICE_EXTERN_H}
-  --dts-out ${ZEPHYR_DTS} # As a debugging aid
+  --dts-out ${ZEPHYR_DTS} # for debugging and dtc
   --edt-pickle-out ${EDT_PICKLE}
   ${EXTRA_GEN_DEFINES_ARGS}
   )
@@ -226,9 +224,9 @@
   endif()

   #
-  # Run the C devicetree compiler on *.dts.pre.tmp, just to catch any
+  # Run dtc on the final devicetree source, just to catch any
   # warnings/errors from it. dtlib and edtlib parse the devicetree files
-  # themselves, so we don't rely on the C compiler otherwise.
+  # themselves, so we don't rely on dtc otherwise.
   #

   if(DTC)
@@ -259,7 +257,7 @@
     ${DTC_NO_WARN_UNIT_ADDR}
     ${DTC_WARN_UNIT_ADDR_IF_ENABLED}
     ${EXTRA_DTC_FLAGS} # User settable
-    ${BOARD}.dts.pre.tmp
+    ${ZEPHYR_DTS}
     OUTPUT_QUIET # Discard stdout
     WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
     RESULT_VARIABLE ret


using symbolic links; library variables

using symbolic links; library variables

--- cmake/lib.cmake
+++ cmake/lib.cmake
@@ -3,9 +3,10 @@
 find_package(CryptoPP REQUIRED)
 find_package(JsonCPP REQUIRED)

-include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/CopyHeaders.cmake)

-CopyHeaders()
+include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/MakeIncludesLink.cmake)
+
+MakeIncludesLink()

 #add_definitions(-D__DEBUG__)

@@ -17,7 +18,6 @@
 )

-
 add_library(ethstealth STATIC ${SOURCES})
 add_dependencies(ethstealth ethcrypto)

@@ -26,3 +26,6 @@
     install(FILES config.hpp DESTINATION include/ethstealth OPTIONAL)
     install(TARGETS ethstealth ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin OPTIONAL)
 endif()
+
+
+set(ETHSTEALTH_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/include PARENT_SCOPE)


Turned memory pools off by default.

Turned memory pools off by default.

git-svn-id: b7791fb0f5d07d96612766859ad70a13be88ea96@1346 305cdda6-5ce1-45b3-a98d-dfc68c8b3305

--- library/NektarCommon.cmake
+++ library/NektarCommon.cmake
@@ -21,7 +21,7 @@
 SET(NEKTAR_USE_ACML OFF CACHE BOOL "Use the AMD Core Math Library (ACML) for BLAS and Lapack support." )
 SET(NEKTAR_USE_ATLAS OFF CACHE BOOL "Use ATLAS for BLAS and Lapack support." )
 SET(NEKTAR_USE_WIN32_LAPACK ${Win32LapackDefault} CACHE BOOL "Use Win32 Lapack provided with the Third Party Distribution.")
-SET(NEKTAR_USE_MEMORY_POOLS ON CACHE BOOL "Use memory pools to accelerate memory allocation.")
+SET(NEKTAR_USE_MEMORY_POOLS OFF CACHE BOOL "Use memory pools to accelerate memory allocation.")
 SET(NEKTAR_USE_BLAS_LAPACK ON CACHE BOOL "Use Blas and lapack routines.")
 MARK_AS_ADVANCED(NEKTAR_USE_BLAS_LAPACK)


Fixed missing metis symbols on OSX.

Fixed missing metis symbols on OSX.

git-svn-id: b7791fb0f5d07d96612766859ad70a13be88ea96@2663 305cdda6-5ce1-45b3-a98d-dfc68c8b3305

--- library/NektarCommon.cmake
+++ library/NektarCommon.cmake
@@ -265,7 +265,7 @@
     ADD_LIBRARY(${name} ${type} ${ARGN})

     # NIST Sparse BLAS only static, so link into Nektar libraries directly.
-    TARGET_LINK_LIBRARIES( ${name} ${NIST_SPARSE_BLAS})
+    TARGET_LINK_LIBRARIES( ${name} ${NIST_SPARSE_BLAS} ${METIS_LIB})

     SET_COMMON_PROPERTIES(${name})


OpenVINO add more explicit error logging

--- cmake/Depthai/DepthaiDeviceSideConfig.cmake
+++ cmake/Depthai/DepthaiDeviceSideConfig.cmake
@@ -2,7 +2,7 @@
 set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "c1b1c5fe00931df3c9408eb64933d6b195deb7be")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "672d67f85d534f4864bd13e5bc5b81ceb7a63aed")

 # "version if applicable"
 set(DEPTHAI_DEVICE_SIDE_VERSION "")


Fixed device Clock.now in Script node to match messages timestamps

--- cmake/Depthai/DepthaiDeviceSideConfig.cmake
+++ cmake/Depthai/DepthaiDeviceSideConfig.cmake
@@ -2,7 +2,7 @@
 set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "47e3396c6a6d65a3223ff56f8c9215f8b98e93f8")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "4c4318254a27b6776a065bd1a75773653fb10724")

 # "version if applicable"
 set(DEPTHAI_DEVICE_SIDE_VERSION "")


FMUv3: Enable DDS

FMUv3: Enable DDS

--- cmake/configs/nuttx_px4fmu-v3_default.cmake
+++ cmake/configs/nuttx_px4fmu-v3_default.cmake
@@ -142,6 +142,9 @@
 	modules/systemlib/mixer
 	modules/uORB

+	# micro RTPS
+	modules/micrortps_bridge/micrortps_client
+
 	#
 	# Libraries
 	#
@@ -211,6 +214,14 @@
 	examples/ekf_att_pos_estimator
 )

+set(config_rtps_send_topics
+   sensor_combined
+   )
+
+set(config_rtps_receive_topics
+   sensor_baro
+   )
+
 set(config_extra_builtin_cmds
 	serdis
 	sercon


[CMake] Provide mac 10.14 isysroot to GSL.

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -437,6 +437,9 @@
     foreach(l gsl gslcblas)
       list(APPEND GSL_LIBRARIES ${CMAKE_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${l}${CMAKE_STATIC_LIBRARY_SUFFIX})
     endforeach()
+    if(CMAKE_OSX_SYSROOT)
+      set(_gsl_cppflags "-isysroot ${CMAKE_OSX_SYSROOT}")
+    endif()
     ExternalProject_Add(
       GSL
       # http://mirror.switch.ch/ftp/mirror/gnu/gsl/gsl-${gsl_version}.tar.gz
@@ -446,7 +449,9 @@
       CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix <INSTALL_DIR>
                         --libdir=<INSTALL_DIR>/lib
                         --enable-shared=no --with-pic
-                        CC=${CMAKE_C_COMPILER} CFLAGS=${CMAKE_C_FLAGS}
+                        CC=${CMAKE_C_COMPILER}
+                        CFLAGS=${CMAKE_C_FLAGS}
+                        CPPFLAGS=${_gsl_cppflags}
       LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
       BUILD_BYPRODUCTS ${GSL_LIBRARIES}
     )


Minor indentation fixes to SearchInstalledSoftware.cmake

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -1261,8 +1261,8 @@
   else()
     find_package(Vc 1.3.0 CONFIG QUIET)
     if(NOT Vc_FOUND)
-      message(STATUS  "Vc library not found, support for it disabled.")
-      message(STATUS  "Please enable the option 'builtin_vc' to build Vc internally.")
+      message(STATUS "Vc library not found, support for it disabled.")
+      message(STATUS "Please enable the option 'builtin_vc' to build Vc internally.")
       set(vc OFF CACHE BOOL "" FORCE)
     endif()
   endif()
@@ -1311,8 +1311,8 @@
 endif()

 if(Vc_FOUND)
-	# Missing from VcConfig.cmake
-	set(Vc_INCLUDE_DIRS ${Vc_INCLUDE_DIR})
+  # Missing from VcConfig.cmake
+  set(Vc_INCLUDE_DIRS ${Vc_INCLUDE_DIR})
 endif()

 #---Check for Vdt--------------------------------------------------------------------


i1675 IT block: Use -mno-warn-deprecated on ARM with tests. (#2908)

This silences assembly deprecation warnings from some test cases. We might miss some valid assembly warnings, but the flag is only set when building tests. For builds without tests, we still get the warnings.

Fixes #1675

--- make/cpp2asm_support.cmake
+++ make/cpp2asm_support.cmake
@@ -214,6 +214,11 @@
   elseif (ARM)
     # No 64-bit support yet.
     set(ASM_FLAGS "${ASM_FLAGS} -mfpu=neon")
+    if (BUILD_TESTS)
+      # Some tests use deprecated instructions, disable warnings.
+      set(ASM_FLAGS "${ASM_FLAGS} -mno-warn-deprecated")
+    endif ()
+
   endif ()
   set(ASM_FLAGS "${ASM_FLAGS} --noexecstack")
   if (DEBUG)


Disable build of docbook manpages

Disable build of docbook manpages

Summary: Was D247

Test Plan: CI

Reviewers: floca

Reviewed By: floca

Maniphest Tasks: T25745

Differential Revision: https://phabricator.mitk.org/D253

--- CMakeExternals/GDCM.cmake
+++ CMakeExternals/GDCM.cmake
@@ -49,6 +49,7 @@
        ${ep_common_args}
        ${additional_args}
        -DGDCM_BUILD_SHARED_LIBS:BOOL=ON
+       -DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF
        ${${proj}_CUSTOM_CMAKE_ARGS}
      CMAKE_CACHE_ARGS
        ${ep_common_cache_args}


Fix spelling in the manpage

Fix spelling in the manpage

Signed-off-by: Andrew Shadura <02e0a999c50b1f88df7a8f5a04e1b76b35ea6a88@shadura.me>

--- libdigidoc/cdigidoc.1.cmake
+++ libdigidoc/cdigidoc.1.cmake
@@ -200,7 +200,7 @@
 Input file (required) specifies the input file’s name.
 Pin (required) represents the recipient’s pin1 (in context of Estonian ID cards).
 pkcs12-file (optional) specifies the PKCS#12 file if decrypting is done with a software token.
-slot deafult is slot 0 containing Estonian ID cards authentication keypair. This parameter can be used to decrypt with a key from the second id card attached to the computer etc.
+slot default is slot 0 containing Estonian ID cards authentication keypair. This parameter can be used to decrypt with a key from the second id card attached to the computer etc.
 Note: There are also alternative commands for decryption, depending on the encrypted file’s format, size and the certificate type used for decrypting it.
 .RS
 .TP
@@ -209,7 +209,7 @@
 Input file (required) specifies the input file’s name.
 Pin (required) represents the recipient’s pin1 (in contexts of Estonian ID cards).
 pkcs12-file (optional) specifies the PKCS#12 file if decrypting is done with a software token.
-slot deafult is slot 0 containing Estonian ID cards authentication keypair. This parameter can be used to decrypt with a key from the second id card attached to the computer etc.
+slot default is slot 0 containing Estonian ID cards authentication keypair. This parameter can be used to decrypt with a key from the second id card attached to the computer etc.
 .TP
 .I "-decrypt-file <input-file> <output-file> <pin> [pkcs12-file]"
 Offers same functionality as -decrypt for decrypting documents, should be used for decrypting large files (which do not need to be inside a DigiDoc container). Expects the encrypted data not to be compressed. Note that the command is not currently tested.


Fix DCMTK external project git SHA1. Closes #21

Instead of specifying "origin/master", would it be possible to use a
specific SHA1 as a GIT_TAG. Doing so will be more deterministic and
ensure all developers / checkout will behave the same way.
Before, origin/patched associated with our own DCMTK was a "controller"
moving target."

--- CMakeExternals/DCMTK.cmake
+++ CMakeExternals/DCMTK.cmake
@@ -34,7 +34,7 @@
       BINARY_DIR ${proj}-build
       PREFIX ${proj}${ep_suffix}
       GIT_REPOSITORY "http://git.dcmtk.org/dcmtk.git"
-      GIT_TAG "origin/master"
+      GIT_TAG "09db15ff595da6c35330fd7f63669aeb9952e015"
       CMAKE_GENERATOR ${gen}
       BUILD_COMMAND ""
       CMAKE_ARGS
@@ -42,6 +42,7 @@
         -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}
         -DCMAKE_C_FLAGS:STRING=${ep_common_c_flags}
         -DCMAKE_INSTALL_PREFIX:PATH=${ep_install_dir}
+        -DDCMTK_FORCE_FPIC_ON_UNIX:BOOL=ON
         ${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
         -DBUILD_TESTING:BOOL=OFF
         -DDCMTK_BUILD_APPS:BOOL=ON # Build also dmctk tools (movescu, storescp, ...)


FindGSL.cmake: minor improvement

FindGSL.cmake: minor improvement

--- CMakeModules/FindGSL.cmake
+++ CMakeModules/FindGSL.cmake
@@ -24,17 +24,17 @@

 pkg_check_modules(PC_GSL gsl)
 find_path(GSL_INCLUDE_DIR gsl/gsl_linalg.h HINTS ${PC_GSL_INCLUDE_DIRS})
+find_library(GSL_LIBRARY NAMES gsl HINTS ${PC_GSL_LIBRARY_DIRS} )

-if (NOT GSL_LIBRARY)
-  #avoid PC_GSL_LIBRARIES being empty
-  list(INSERT PC_GSL_LIBRARIES 0 gsl)
-  list(REMOVE_DUPLICATES PC_GSL_LIBRARIES)
-  #added gls depends
+#added gsl depends
+if (NOT BUILD_SHARED_LIBS)
+  list(REMOVE_ITEM PC_GSL_LIBRARIES gsl)
   foreach (LIB ${PC_GSL_LIBRARIES})
     find_library(GSL_${LIB} NAMES ${LIB} HINTS ${PC_GSL_LIBRARY_DIRS} )
     list(APPEND GSL_LIBRARY ${GSL_${LIB}})
+    unset(${GSL_${LIB}} CACHE)
   endforeach(LIB)
-endif (NOT GSL_LIBRARY)
+endif (NOT BUILD_SHARED_LIBS)

 include(FindPackageHandleStandardArgs)
 # handle the QUIETLY and REQUIRED arguments and set GSL_FOUND to TRUE


Simplify and fix the JsonCpp finder finally.

Logic cleaned up and commented, and tested against
the trouble case on Windows.

--- cmake/FindJsonCpp.cmake
+++ cmake/FindJsonCpp.cmake
@@ -46,8 +46,10 @@
 	set(__jsoncpp_have_jsoncpplib FALSE)
 	if(TARGET jsoncpp_lib)
 		get_property(__jsoncpp_lib_type TARGET jsoncpp_lib PROPERTY TYPE)
+		#message(STATUS "__jsoncpp_lib_type ${__jsoncpp_lib_type}")
 		# We make interface libraries. If an actual config module made it, it would be an imported library.
 		if(NOT __jsoncpp_lib_type STREQUAL "INTERFACE_LIBRARY")
+			#message("have jsoncpp_lib and we didn't invent it ourselves")
 			set(__jsoncpp_have_jsoncpplib TRUE)
 		endif()
 	endif()
@@ -57,61 +59,82 @@
 # Ensure that if this is TRUE later, it's because we set it.
 set(JSONCPP_FOUND FALSE)

-# See if we find a CMake config file.
+# See if we find a CMake config file - there is no harm in calling this more than once,
+# and we need to call it at least once every CMake invocation to create the original
+# imported targets, since those don't stick around like cache variables.
 find_package(jsoncpp QUIET NO_MODULE)
-
-# We will always try first to get a config file.
-if(NOT JSONCPP_IMPORTED_LIBRARY)
-	if(jsoncpp_FOUND)
-		# OK, so we found something.
-		unset(JSONCPP_IMPORTED_LIBRARY_IS_SHARED)
-		_jsoncpp_check_for_real_jsoncpplib()
-		if(__jsoncpp_have_jsoncpplib AND TARGET jsoncpp_lib_static)
-			# A veritable cache of riches - we have both shared and static!
-			set(JSONCPP_IMPORTED_LIBRARY_SHARED jsoncpp_lib CACHE INTERNAL "" FORCE)
-			set(JSONCPP_IMPORTED_LIBRARY_STATIC jsoncpp_lib_static CACHE INTERNAL "" FORCE)
-			if(WIN32 OR CYGWIN OR MINGW)
-				# DLL platforms: static library should be default
-				set(JSONCPP_IMPORTED_LIBRARY ${JSONCPP_IMPORTED_LIBRARY_STATIC} CACHE INTERNAL "" FORCE)
-				set(JSONCPP_IMPORTED_LIBRARY_IS_SHARED FALSE CACHE INTERNAL "" FORCE)
-			else()
-				# Other platforms - might require PIC to be linked into shared libraries, so safest to prefer shared.
-				set(JSONCPP_IMPORTED_LIBRARY ${JSONCPP_IMPORTED_LIBRARY_SHARED} CACHE INTERNAL "" FORCE)
-				set(JSONCPP_IMPORTED_LIBRARY_IS_SHARED TRUE CACHE INTERNAL "" FORCE)
-			endif()
-		elseif(TARGET jsoncpp_lib_static)
-			# Well, only one variant, but we know for sure that it's static.
-			set(JSONCPP_IMPORTED_LIBRARY_STATIC jsoncpp_lib_static CACHE INTERNAL "" FORCE)
-			set(JSONCPP_IMPORTED_LIBRARY jsoncpp_lib_static CACHE INTERNAL "" FORCE)
+#message("Searching for config file result: jsoncpp_FOUND ${jsoncpp_FOUND}")
+
+if(jsoncpp_FOUND AND NOT "[${jsoncpp_DIR}]" STREQUAL "${JSONCPP_CACHED_JSONCPP_DIR_DETAILS}")
+	# If we found something, and it's not the exact same as what we've found before...
+	# NOTE: The contents of this "if" block update only (internal) cache variables!
+	# (since this will only get run the first CMake pass that finds jsoncpp or that finds a different install)
+	message("Updating jsoncpp cache variables!")
+	set(JSONCPP_CACHED_JSONCPP_DIR_DETAILS "[${jsoncpp_DIR}]" CACHE INTERNAL "" FORCE)
+	unset(JSONCPP_IMPORTED_LIBRARY_SHARED)
+	unset(JSONCPP_IMPORTED_LIBRARY_STATIC)
+	unset(JSONCPP_IMPORTED_LIBRARY)
+	unset(JSONCPP_IMPORTED_INCLUDE_DIRS)
+	unset(JSONCPP_IMPORTED_LIBRARY_IS_SHARED)
+	_jsoncpp_check_for_real_jsoncpplib()
+
+	# if(__jsoncpp_have_jsoncpplib) is equivalent to if(TARGET jsoncpp_lib) except it excludes our
+	# "invented" jsoncpp_lib interface targets, made for convenience purposes after this block.
+
+	if(__jsoncpp_have_jsoncpplib AND TARGET jsoncpp_lib_static)
+
+		# A veritable cache of riches - we have both shared and static!
+		set(JSONCPP_IMPORTED_LIBRARY_SHARED jsoncpp_lib CACHE INTERNAL "" FORCE)
+		set(JSONCPP_IMPORTED_LIBRARY_STATIC jsoncpp_lib_static CACHE INTERNAL "" FORCE)
+		if(WIN32 OR CYGWIN OR MINGW)
+			# DLL platforms: static library should be default
+			set(JSONCPP_IMPORTED_LIBRARY ${JSONCPP_IMPORTED_LIBRARY_STATIC} CACHE INTERNAL "" FORCE)
 			set(JSONCPP_IMPORTED_LIBRARY_IS_SHARED FALSE CACHE INTERNAL "" FORCE)
-		elseif(TARGET __jsoncpp_have_jsoncpplib)
-			# One variant, and we have no idea if this is just an old version or if
-			# this is shared based on the target name alone. Hmm.
-			# TODO figure out if this is shared or static?
-			set(JSONCPP_IMPORTED_LIBRARY jsoncpp_lib CACHE INTERNAL "" FORCE)
-		endif()
-
-		# Now, we need include directories. Can't just limit this to old CMakes, since
-		# new CMakes might be used to build projects designed to support older ones.
-		if(__jsoncpp_have_jsoncpplib)
-			get_property(__jsoncpp_interface_include_dirs TARGET jsoncpp_lib PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
-			if(__jsoncpp_interface_include_dirs)
-				set(JSONCPP_IMPORTED_INCLUDE_DIRS "${__jsoncpp_interface_include_dirs}" CACHE INTERNAL "" FORCE)
-			endif()
-		endif()
-		if(TARGET jsoncpp_lib_static AND NOT JSONCPP_IMPORTED_INCLUDE_DIRS)
-			get_property(__jsoncpp_interface_include_dirs TARGET jsoncpp_lib_static PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
-			if(__jsoncpp_interface_include_dirs)
-				set(JSONCPP_IMPORTED_INCLUDE_DIRS "${__jsoncpp_interface_include_dirs}" CACHE INTERNAL "" FORCE)
-			endif()
-		endif()
-
-		# As a convenience...
-		if(TARGET jsoncpp_lib_static AND NOT TARGET jsoncpp_lib)
-			add_library(jsoncpp_lib INTERFACE)
-			target_link_libraries(jsoncpp_lib INTERFACE jsoncpp_lib_static)
-		endif()
-	endif()
+		else()
+			# Other platforms - might require PIC to be linked into shared libraries, so safest to prefer shared.
+			set(JSONCPP_IMPORTED_LIBRARY ${JSONCPP_IMPORTED_LIBRARY_SHARED} CACHE INTERNAL "" FORCE)
+			set(JSONCPP_IMPORTED_LIBRARY_IS_SHARED TRUE CACHE INTERNAL "" FORCE)
+		endif()
+
+	elseif(TARGET jsoncpp_lib_static)
+		# Well, only one variant, but we know for sure that it's static.
+		set(JSONCPP_IMPORTED_LIBRARY_STATIC jsoncpp_lib_static CACHE INTERNAL "" FORCE)
+		set(JSONCPP_IMPORTED_LIBRARY jsoncpp_lib_static CACHE INTERNAL "" FORCE)
+		set(JSONCPP_IMPORTED_LIBRARY_IS_SHARED FALSE CACHE INTERNAL "" FORCE)
+
+	elseif(__jsoncpp_have_jsoncpplib AND __jsoncpp_lib_type STREQUAL "STATIC_LIBRARY")
+		# We were able to figure out the mystery library is static!
+		set(JSONCPP_IMPORTED_LIBRARY_STATIC jsoncpp_lib CACHE INTERNAL "" FORCE)
+		set(JSONCPP_IMPORTED_LIBRARY jsoncpp_lib CACHE INTERNAL "" FORCE)
+		set(JSONCPP_IMPORTED_LIBRARY_IS_SHARED FALSE CACHE INTERNAL "" FORCE)
+
+	elseif(__jsoncpp_have_jsoncpplib)
+		# One variant, and we have no idea if this is just an old version or if
+		# this is shared based on the target name alone. Hmm.
+		# TODO figure out if this is shared or static?
+		set(JSONCPP_IMPORTED_LIBRARY jsoncpp_lib CACHE INTERNAL "" FORCE)
+	endif()
+
+	# Now, we need include directories. Can't just limit this to old CMakes, since
+	# new CMakes might be used to build projects designed to support older ones.
+	if(__jsoncpp_have_jsoncpplib)
+		get_property(__jsoncpp_interface_include_dirs TARGET jsoncpp_lib PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
+		if(__jsoncpp_interface_include_dirs)
+			set(JSONCPP_IMPORTED_INCLUDE_DIRS "${__jsoncpp_interface_include_dirs}" CACHE INTERNAL "" FORCE)
+		endif()
+	endif()
+	if(TARGET jsoncpp_lib_static AND NOT JSONCPP_IMPORTED_INCLUDE_DIRS)
+		get_property(__jsoncpp_interface_include_dirs TARGET jsoncpp_lib_static PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
+		if(__jsoncpp_interface_include_dirs)
+			set(JSONCPP_IMPORTED_INCLUDE_DIRS "${__jsoncpp_interface_include_dirs}" CACHE INTERNAL "" FORCE)
+		endif()
+	endif()
+endif()
+
+# As a convenience...
+if(TARGET jsoncpp_lib_static AND NOT TARGET jsoncpp_lib)
+	add_library(jsoncpp_lib INTERFACE)
+	target_link_libraries(jsoncpp_lib INTERFACE jsoncpp_lib_static)
 endif()

 if(JSONCPP_IMPORTED_LIBRARY)
@@ -308,10 +331,9 @@
 				add_library(JsonCpp::JsonCpp ALIAS jsoncpp_interface)
 			endif()
 		endif()
-		mark_as_advanced(JsonCpp_INCLUDE_DIR JsonCpp_LIBRARY)
 	endif()
 endif()

 if(JSONCPP_FOUND)
-	mark_as_advanced(jsoncpp_DIR)
-endif()
+	mark_as_advanced(jsoncpp_DIR JsonCpp_INCLUDE_DIR JsonCpp_LIBRARY)
+endif()


Bugfix in Findcodecov.cmake

Bugfix in Findcodecov.cmake

--- cmake/Findcodecov.cmake
+++ cmake/Findcodecov.cmake
@@ -136,7 +136,9 @@

 if (_COVERAGE_REQUIRED_VARS)
 	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(codecov REQUIRED_VARS ${_COVERAGE_REQUIRED_VARS})
+	find_package_handle_standard_args(codecov
+		REQUIRED_VARS ${_COVERAGE_REQUIRED_VARS}
+		FOUND_VAR CODECOV_FOUND)
 	mark_as_advanced(${_COVERAGE_REQUIRED_VARS})
 	unset(_COVERAGE_REQUIRED_VARS)
 else()
@@ -147,7 +149,7 @@

 # Abort, if no coverage support by compiler. Disable coverage for further
 # processing, so add_coverage will ignore it.
-if (NOT codecov_FOUND)
+if (NOT CODECOV_FOUND)
 	set(ENABLE_COVERAGE OFF)
 	return()
 endif()


Mark not found variables as advanced

Mark not found variables as advanced

--- cmake/Findpanda3d.cmake
+++ cmake/Findpanda3d.cmake
@@ -87,9 +87,6 @@
                     IMPORTED_LOCATION_RELWITHDEBINFO "${panda3d_${component_name}_LIBRARY_RELEASE}"
                     IMPORTED_LOCATION_MINSIZEREL "${panda3d_${component_name}_LIBRARY_RELEASE}"
                 )
-
-                # Make variables changeable to the advanced user
-                mark_as_advanced(panda3d_${component_name}_LIBRARY_RELEASE)
                 message(STATUS "  ${component_name}")
             endif()

@@ -100,9 +97,6 @@
                     IMPORTED_LOCATION_DEBUG "${panda3d_${component_name}_LIBRARY_DEBUG}"
                 )

-                # Make variables changeable to the advanced user
-                mark_as_advanced(panda3d_${component_name}_LIBRARY_DEBUG)
-
                 if(NOT EXISTS "${panda3d_${component_name}_LIBRARY_RELEASE}")
                     set_target_properties(panda3d::${component_name} PROPERTIES
                         IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
@@ -111,6 +105,10 @@
                     message(STATUS "  ${component_name}")
                 endif()
             endif()
+
+            # Make variables changeable to the advanced user
+            mark_as_advanced(panda3d_${component_name}_LIBRARY_RELEASE)
+            mark_as_advanced(panda3d_${component_name}_LIBRARY_DEBUG)
         endif()
     endforeach()

@@ -126,7 +124,6 @@
             INTERFACE_INCLUDE_DIRECTORIES "${panda3d_INCLUDE_DIR}"
             INTERFACE_LINK_LIBRARIES "${_panda3d_DEFAULT_TARGET_DEPENDENCIES}"
         )
-
-        mark_as_advanced(panda3d_INCLUDE_DIR)
     endif()
+    mark_as_advanced(panda3d_INCLUDE_DIR)
 endif()


Bump version to 1.2.2

Bump version to 1.2.2

Signed-off-by: Gopal, Puunithaaraj <10308ab826b56f8bbce1ec0c10bd609cace363da@intel.com>

--- cmake/ProjectInfo.cmake
+++ cmake/ProjectInfo.cmake
@@ -1,6 +1,6 @@
 set(GstMfx_VERSION_MAJOR   1)
 set(GstMfx_VERSION_MINOR   2)
-set(GstMfx_VERSION_PATCH   1)
+set(GstMfx_VERSION_PATCH   2)
 set(GstMfx_PACKAGE         "gstmfx")
 set(GstMfx_PACKAGE_NAME    "GStreamer Media SDK")
 set(GstMfx_PACKAGE_TARNAME "gstreamer-msdk")


[ctest] add path to component binary dir so plugin loading works

--- cmake/tools4tests.cmake
+++ cmake/tools4tests.cmake
@@ -612,6 +612,10 @@
   FOREACH(_C ${COMPONENTS})
     LIST(APPEND LDLIBPATH "${CMAKE_BINARY_DIR}/${_C}")
   ENDFOREACH()
+else()
+  # Otherwise, still need the path to current component dir for tests
+  # that load plugins.
+  LIST(APPEND LDLIBPATH "${CMAKE_BINARY_DIR}/${COMPONENT}")
 endif()
 LIST(APPEND LDLIBPATH "${CMAKE_BINARY_DIR}/wrap/siconos/tests")
 if (NOT CMAKE_SYSTEM_NAME MATCHES WINDOWS)


version bump

version bump

git-svn-id: 647c2dfdf120d9af8205d960f30c8711574448cd@1402 6778bc44-b910-0410-a7a0-be141de4315d

--- src/projectM-xmms/cmake/CPack-projectM.cmake
+++ src/projectM-xmms/cmake/CPack-projectM.cmake
@@ -17,8 +17,8 @@
 #SET(CPACK_BINARY_TGZ ON)
 #SET(CPACK_SOURCE_Z OFF)
 SET(CPACK_PACKAGE_VERSION_MAJOR "2")
-SET(CPACK_PACKAGE_VERSION_MINOR "0")
-SET(CPACK_PACKAGE_VERSION_PATCH "1")
+SET(CPACK_PACKAGE_VERSION_MINOR "1")
+SET(CPACK_PACKAGE_VERSION_PATCH "0")

 INCLUDE(CPack)


COMP: Do not propagate unused variables to external projects

This commit fixes the following warning:

```
CMake Warning:
  Manually-specified variables were not used by the project:

    MAKECOMMAND
    [...]
    CTEST_NEW_FORMAT
    MEMORYCHECK_COMMAND
    MEMORYCHECK_COMMAND_OPTIONS
```

--- CMake/niral_utilitiesExternalProject.cmake
+++ CMake/niral_utilitiesExternalProject.cmake
@@ -45,7 +45,6 @@
     CMAKE_GENERATOR ${gen}
     CMAKE_ARGS
       -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-      -DMAKECOMMAND:STRING=${MAKECOMMAND}
       -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
       -DCMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH}
       -DCMAKE_CXX_COMPILER:PATH=${CMAKE_CXX_COMPILER}
@@ -64,9 +63,6 @@
       -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
       -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
       -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-      -DCTEST_NEW_FORMAT:BOOL=${CTEST_NEW_FORMAT}
-      -DMEMORYCHECK_COMMAND_OPTIONS:STRING=${MEMORYCHECK_COMMAND_OPTIONS}
-      -DMEMORYCHECK_COMMAND:PATH=${MEMORYCHECK_COMMAND}
       ${_ep_ADDITIONAL_OPTIONS}
     INSTALL_COMMAND "" #Just in case we don't want to install this project. ${install_cmd} will be empty and nothing will be installed
     ${install_cmd}


ENH: Update Sphinx for ITK 4.8.0

ENH: Update Sphinx for ITK 4.8.0

Change-Id: I55573c60466a88a805c6e2a096021e4c49933f91

--- Modules/Remote/SphinxExamples.remote.cmake
+++ Modules/Remote/SphinxExamples.remote.cmake
@@ -2,6 +2,6 @@
 itk_fetch_module(SphinxExamples
   "This module builds the examples found at http://itk.org/ITKExamples/"
   GIT_REPOSITORY http://itk.org/ITKExamples.git
-  # 2015-07-02
-  GIT_TAG 890667eaa7dbab6111aabd51432d1aeadca738f9
+  # 2015-07-09
+  GIT_TAG 2bc08a52aa0437da776cc777157f25b7b525b46f
   )


github ci aarch64 config build  cpp-httplib HTTPLIB_REQUIRE_OPENSSL OFF

--- toolchains/aarch64-linux-gnu.toolchain.cmake
+++ toolchains/aarch64-linux-gnu.toolchain.cmake
@@ -16,4 +16,5 @@
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")
 set(OPENSSL_ROOT_DIR  "${workspaceFolder}/openssl-1.1.1i/install")
 set(OPENSSL_INCLUDE_DIR "${workspaceFolder}/openssl-1.1.1i/install/include")
-set(OPENSSL_CRYPTO_LIBRARY "${workspaceFolder}/openssl-1.1.1i/install/lib")+set(OPENSSL_CRYPTO_LIBRARY "${workspaceFolder}/openssl-1.1.1i/install/lib")
+set(HTTPLIB_REQUIRE_OPENSSL OFF)


Make build log of Android samples and tests less verbose

--- OpenCVAndroidProject.cmake
+++ OpenCVAndroidProject.cmake
@@ -121,7 +121,7 @@
         add_custom_command(
             OUTPUT "${build_path}/bin/${_target}-debug.apk"
             OUTPUT "${CMAKE_BINARY_DIR}/bin/${_target}.apk"
-            COMMAND ${ANT_EXECUTABLE} debug
+            COMMAND ${ANT_EXECUTABLE} -q -noinput -k debug
             COMMAND ${CMAKE_COMMAND} -E copy "${build_path}/bin/${_target}-debug.apk" "${CMAKE_BINARY_DIR}/bin/${_target}.apk"
             WORKING_DIRECTORY ${build_path}
             DEPENDS ${${_target}_project_files}


Patch for ITK clang compatibility

Patch for ITK clang compatibility

--- CMakeExternals/PatchITK-3.20.cmake
+++ CMakeExternals/PatchITK-3.20.cmake
@@ -16,10 +16,21 @@
 # read whole file
 file(STRINGS Code/Common/itkLandmarkBasedTransformInitializer.h sourceCode2 NEWLINE_CONSUME)

-# substitute dependency to gdcmMSFF by dependencies for more libraries
+# backported fix from ITK4
 string(REGEX REPLACE "typedef typename ParametersType::ValueType +ParameterValueType;" "typedef typename TransformType::ScalarType                      ParameterValueType;" sourceCode2 ${sourceCode2})

 # set variable CONTENTS, which is substituted in TEMPLATE_FILE
 set(CONTENTS ${sourceCode2})
 configure_file(${TEMPLATE_FILE} Code/Common/itkLandmarkBasedTransformInitializer.h @ONLY)

+# third patch
+# read whole file
+file(STRINGS Code/Common/itkImageSource.h sourceCode3 NEWLINE_CONSUME)
+
+# remove ITK_NO_RETURN since the method sometimes returns which makes clang based builds crash
+string(REGEX REPLACE "ITK_NO_RETURN" "" sourceCode3 ${sourceCode3})
+
+# set variable CONTENTS, which is substituted in TEMPLATE_FILE
+set(CONTENTS ${sourceCode3})
+configure_file(${TEMPLATE_FILE} Code/Common/itkImageSource.h @ONLY)
+


fix a small inconsistency in the name of the inchi package (#3182)

with cmake 3.17.2 the original code produced the following warning:
"The package name passed to `find_package_handle_standard_args` (INCHI) does
not match the name of the calling package (Inchi).  This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern."

--- Code/cmake/Modules/FindInchi.cmake
+++ Code/cmake/Modules/FindInchi.cmake
@@ -18,7 +18,7 @@
   find_path(INCHI_INCLUDE_DIR NAMES inchi_api.h PATHS /usr/include/inchi )
   find_library(INCHI_LIBRARY NAMES inchi Inchi)
   include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(INCHI
+  find_package_handle_standard_args(Inchi
 	  "Could NOT find InChI in system locations" INCHI_LIBRARY
 	  INCHI_INCLUDE_DIR)
   set(INCHI_INCLUDE_DIRS ${INCHI_INCLUDE_DIR} )


Fixing installation issues. Initial support for OS X Frameworks

--- Resources/MXAInstall.cmake
+++ Resources/MXAInstall.cmake
@@ -1,5 +1,6 @@
 #-------- Install the MXADataModel Library
 IF (WIN32 AND BUILD_SHARED_LIBS)
+message (STATUS "Hellow")
     SET (MXA_CONFIG_DIR_Debug "")
     SET (MXA_CONFIG_DIR_Release "")
     IF (MSVC)
@@ -14,20 +15,32 @@
         DESTINATION bin
         CONFIGURATIONS Release
         COMPONENT Runtime)
-
-ELSEIF (WIN32 AND BUILD_SHARED_LIBS)
     INSTALL(TARGETS ${MXADATAMODEL_LIB_NAME}
-        LIBRARY DESTINATION lib
+        LIBRARY DESTINATION bin
         ARCHIVE DESTINATION lib
         RUNTIME DESTINATION bin
         COMPONENT Libraries
     )
 ENDIF (WIN32 AND BUILD_SHARED_LIBS)

-
+IF (NOT WIN32)
+    INSTALL(TARGETS ${MXADATAMODEL_LIB_NAME}
+        LIBRARY DESTINATION lib
+        ARCHIVE DESTINATION lib
+        RUNTIME DESTINATION bin
+        FRAMEWORK DESTINATION Frameworks
+        COMPONENT Libraries
+    )
+ENDIF (NOT WIN32)
+
 INSTALL (FILES ${PROJECT_BINARY_DIR}/MXAConfiguration.h
             DESTINATION include/MXADataModel
             COMPONENT Headers
+)
+
+#-- This is for OS X Frameworks
+set_property(SOURCE ${PROJECT_BINARY_DIR}/MXAConfiguration.h
+ PROPERTY MACOSX_PACKAGE_LOCATION Headers
 )

 SET (MXA_INSTALLED_RESOURCES


Exclude gemmlowp file from windows build. Change: 137468145

--- tensorflow/contrib/cmake/tf_core_kernels.cmake
+++ tensorflow/contrib/cmake/tf_core_kernels.cmake
@@ -42,7 +42,7 @@
       "${tensorflow_source_dir}/tensorflow/contrib/rnn/kernels/lstm_ops.cc"
       "${tensorflow_source_dir}/tensorflow/contrib/rnn/ops/gru_ops.cc"
       "${tensorflow_source_dir}/tensorflow/contrib/rnn/ops/lstm_ops.cc"
-      "${tensorflow_source_dir}/tensorflow/contrib/tensor_forest"
+      "${tensorflow_source_dir}/tensorflow/contrib/tensor_forest"
       "${tensorflow_source_dir}/tensorflow/contrib/tensor_forest/core/ops/best_splits_op.cc"
       "${tensorflow_source_dir}/tensorflow/contrib/tensor_forest/core/ops/count_extremely_random_stats_op.cc"
       "${tensorflow_source_dir}/tensorflow/contrib/tensor_forest/core/ops/finished_nodes_op.cc"
@@ -88,6 +88,7 @@
       "${tensorflow_source_dir}/tensorflow/core/kernels/fact_op.cc"
       "${tensorflow_source_dir}/tensorflow/core/kernels/immutable_constant_op.cc"
       "${tensorflow_source_dir}/tensorflow/core/kernels/immutable_constant_op.h"
+      "${tensorflow_source_dir}/tensorflow/core/kernels/meta_support.*"
       "${tensorflow_source_dir}/tensorflow/core/kernels/sparse_matmul_op.cc"
       "${tensorflow_source_dir}/tensorflow/core/kernels/sparse_matmul_op.h"
       "${tensorflow_source_dir}/tensorflow/core/kernels/*quantiz*.h"


Add the include path for external cross compiled library (like curl)

--- rpi/cmaketc/Toolchain-raspberrypi-arm.cmake
+++ rpi/cmaketc/Toolchain-raspberrypi-arm.cmake
@@ -18,7 +18,7 @@
 SET (CMAKE_CXX_COMPILER $ENV{PI_TOOLS_HOME}/${PiToolsDir}/bin/arm-bcm2708hardfp-linux-gnueabi-g++)

 # where is the target environment
-SET (CMAKE_FIND_ROOT_PATH $ENV{PI_TOOLS_HOME}/${PiToolsDir})
+SET (CMAKE_FIND_ROOT_PATH $ENV{PI_TOOLS_HOME}/${PiToolsDir} $ENV{PI_TOOLS_HOME}/${PiToolsDir}/include)

 # search for programs in the build host directories
 SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)


Default to "make install" install command

--- PackageInstall.cmake
+++ PackageInstall.cmake
@@ -8,8 +8,8 @@
   elseif(REDHAT)
     set(SYSTEM_INSTALL_CMD rpm -i)
   else()
-    message(STATUS "Unknown system installer, no package-install target")
-    return()
+    set(SYSTEM_INSTALL_CMD
+      ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install)
   endif()

   add_custom_target(package-install


Fix code to check static_assert

Fix code to check static_assert

--- cmake/FindCxxSupport.cmake
+++ cmake/FindCxxSupport.cmake
@@ -6,7 +6,7 @@

 check_cxx_source_compiles("
   int main() {
-    static_assert(sizeof(char) == 1);
+    static_assert(sizeof(char) == 1, \"Char is not 1\");
   }
   "
   CXX_HAS_STATIC_ASSERT)


Silence execute_process output

Silence execute_process output

--- cmake/FindQScintilla.cmake
+++ cmake/FindQScintilla.cmake
@@ -28,6 +28,8 @@
     execute_process(
       COMMAND "${BREW_EXECUTABLE}" "ls" "qscintilla2"
       RESULT_VARIABLE QSCINTILLA_INSTALLED_BREW
+      OUTPUT_QUIET
+      ERROR_QUIET
     )

     if (QSCINTILLA_INSTALLED_BREW EQUAL 0)
@@ -35,14 +37,16 @@
       execute_process(
         COMMAND "${BREW_EXECUTABLE}" "--prefix" "qscintilla2"
         RESULT_VARIABLE BREW_PREFIX_RESULT
-        OUTPUT_VARIABLE BREW_OUTPUT
+        OUTPUT_VARIABLE BREW_PREFIX_OUTPUT
+        OUTPUT_QUIET
+        ERROR_QUIET
       )

       if (BREW_PREFIX_RESULT EQUAL 0)
         # brew --prefix will list where qscintilla2 would be installed, whether
         # or not it actually is.  I'd rather play it safe and not assume the
         # command succeeded, though.
-        set(QSCINTILLA_BREW_ROOT "${BREW_OUTPUT}")
+        set(QSCINTILLA_BREW_ROOT "${BREW_PREFIX_OUTPUT}")
       endif()

     else()


test: Re-enable exception handling.

test: Re-enable exception handling.

--- cmake/WintermuteTest.cmake
+++ cmake/WintermuteTest.cmake
@@ -39,7 +39,6 @@

 SET(CXXTEST_TESTGEN_ARGS
   --template ${_wntr_test_tpl}
-  --no-eh
   --runner=ErrorPrinter
   )


enable space specific in-templates for cfg extras

--- cmake/catkin_package.cmake
+++ cmake/catkin_package.cmake
@@ -41,10 +41,10 @@
 #   CMake's ``configure_file()`` use ``.cmake.in`` or for files expanded
 #   by empy use ``.cmake.em``.  The templates can distinguish between
 #   devel- and installspace using the boolean variables ``DEVELSPACE``
-#   and ``INSTALLSPACE``.  For em templated files it is also possible to
-#   use the extensions ``.cmake.develspace.em`` or
-#   ``.cmake.installspace.em`` to generate the files only for a specific
-#   case.
+#   and ``INSTALLSPACE``.  For templated files it is also possible to
+#   use the extensions ``.cmake.develspace.(in|em)`` or
+#   ``.cmake.installspace.(em|in)`` to generate the files only for a
+#   specific case.
 # :type CFG_EXTRAS: string
 # :param SKIP_CMAKE_CONFIG_GENERATION: the option to skip the generation
 #   of the CMake config files for the package
@@ -306,18 +306,23 @@
     if (EXISTS ${base})
       list(APPEND PKG_CFG_EXTRAS ${base})
     elseif(EXISTS ${base}.em OR EXISTS ${base}.develspace.em)
-      if(EXISTS ${base}.em)
+      if(EXISTS ${base}.develspace.em)
+        set(em_template ${base}.develspace.em)
+      else()
         set(em_template ${base}.em)
-      else()
-        set(em_template ${base}.develspace.em)
       endif()
       em_expand(${catkin_EXTRAS_DIR}/templates/cfg-extras.context.py.in
         ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/${extra}.develspace.context.cmake.py
         ${em_template}
         ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
       list(APPEND PKG_CFG_EXTRAS ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
-    elseif(EXISTS ${base}.in)
-      configure_file(${base}.in
+    elseif(EXISTS ${base}.in OR EXISTS ${base}.develspace.in)
+      if(EXISTS ${base}.develspace.in)
+        set(in_template ${base}.develspace.in)
+      else()
+        set(in_template ${base}.in)
+      endif()
+      configure_file(${in_template}
         ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra}
         @ONLY
       )
@@ -390,18 +395,23 @@
     if (EXISTS ${base})
       list(APPEND installable_cfg_extras ${base})
     elseif(EXISTS ${base}.em OR EXISTS ${base}.installspace.em)
-      if(EXISTS ${base}.em)
+      if(EXISTS ${base}.installspace.em)
+        set(em_template ${base}.installspace.em)
+      else()
         set(em_template ${base}.em)
-      else()
-        set(em_template ${base}.installspace.em)
       endif()
       em_expand(${catkin_EXTRAS_DIR}/templates/cfg-extras.context.py.in
         ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/${extra}.installspace.context.cmake.py
         ${em_template}
         ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace/${extra})
       list(APPEND installable_cfg_extras ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace/${extra})
-    elseif(EXISTS ${base}.in)
-      configure_file(${base}.in
+    elseif(EXISTS ${base}.in OR EXISTS ${base}.installspace.in)
+      if(EXISTS ${base}.installspace.in)
+        set(in_template ${base}.installspace.in)
+      else()
+        set(in_template ${base}.in)
+      endif()
+      configure_file(${in_template}
         ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace/${extra}
         @ONLY
       )


Remove wget progress info from downloading MKLML

--- cmake/external/mklml.cmake
+++ cmake/external/mklml.cmake
@@ -17,7 +17,7 @@
 ENDIF(NOT ${WITH_MKLML})

 IF(WIN32 OR APPLE)
-    MESSAGE(WARNING
+    MESSAGE(WARNING
         "Windows or Mac is not supported with MKLML in Paddle yet."
         "Force WITH_MKLML=OFF")
     SET(WITH_MKLML OFF CACHE STRING "Disable MKLML package in Windows and MacOS" FORCE)
@@ -54,11 +54,11 @@
     ${EXTERNAL_PROJECT_LOG_ARGS}
     PREFIX                ${MKLML_SOURCE_DIR}
     DOWNLOAD_DIR          ${MKLML_DOWNLOAD_DIR}
-    DOWNLOAD_COMMAND      wget --no-check-certificate -O ${MKLML_DOWNLOAD_DIR}/${MKLML_VER}.tgz ${MKLML_URL}
+    DOWNLOAD_COMMAND      wget --quiet --no-check-certificate -O ${MKLML_DOWNLOAD_DIR}/${MKLML_VER}.tgz ${MKLML_URL}
                           && tar -xzf ${MKLML_DOWNLOAD_DIR}/${MKLML_VER}.tgz
     DOWNLOAD_NO_PROGRESS  1
     UPDATE_COMMAND        ""
-    CMAKE_ARGS            -DCMAKE_INSTALL_PREFIX=${MKLML_INSTALL_ROOT}
+    CMAKE_ARGS            -DCMAKE_INSTALL_PREFIX=${MKLML_INSTALL_ROOT}
     CMAKE_CACHE_ARGS      -DCMAKE_INSTALL_PREFIX:PATH=${MKLML_INSTALL_ROOT}
 )


Corrects test binary paths in the CMake build script.

--- cmake/internal_utils.cmake
+++ cmake/internal_utils.cmake
@@ -184,7 +184,7 @@
     # only at ctest runtime (by calling ctest -c <Configuration>), so
     # we have to escape $ to delay variable substitution here.
     add_test(${name}
-      ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/test/${name}.py
-          --build_dir=${CMAKE_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
+      ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
+          --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
   endif()
 endfunction()


It's now possible to set LIB_TAG at the cmake configuration stage to insert a tag after the library name and before the "d" (for double).

svn path=/trunk/; revision=8226

--- cmake/modules/double.cmake
+++ cmake/modules/double.cmake
@@ -26,6 +26,6 @@
 "Compile the library with double precision floating point" ON)

 if(PL_DOUBLE)
-  set(LIB_TAG "d")
+  set(LIB_TAG "${LIB_TAG}d")
 endif(PL_DOUBLE)


TBB linking bugfix

TBB linking bugfix

--- common/cmake/FindTBB.cmake
+++ common/cmake/FindTBB.cmake
@@ -30,8 +30,8 @@
   SET(TBB_ROOT /opt/intel/composerxe/tbb/ CACHE STRING "Root of TBB installation")

   FIND_PATH(TBB_INCLUDE_DIR tbb/task_scheduler_init.h PATHS ${TBB_ROOT}/include)
-  FIND_LIBRARY(TBB_LIBRARY tbb PATHS ${TBB_ROOT}/lib)
-  FIND_LIBRARY(TBB_LIBRARY_MALLOC tbbmalloc PATHS ${TBB_ROOT}/lib/mic)
+  FIND_LIBRARY(TBB_LIBRARY tbb PATHS ${TBB_ROOT}/lib/intel64/gcc4.4)
+  FIND_LIBRARY(TBB_LIBRARY_MALLOC tbbmalloc PATHS ${TBB_ROOT}/lib/intel64/gcc4.4)

   FIND_PATH(TBB_INCLUDE_DIR_MIC tbb/task_scheduler_init.h NO_DEFAULT_PATH PATHS ${TBB_ROOT}/include)
   FIND_LIBRARY(TBB_LIBRARY_MIC tbb NO_DEFAULT_PATH PATHS ${TBB_ROOT}/lib/mic)


changing cpack package name to Intel(R) Embree Ray Tracing Kernels and updating package description

--- common/cmake/package.cmake
+++ common/cmake/package.cmake
@@ -131,7 +131,7 @@
 # CPack specific stuff
 ##############################################################

-SET(CPACK_PACKAGE_NAME "Embree Ray Tracing Kernels")
+SET(CPACK_PACKAGE_NAME "Intel(R) Embree Ray Tracing Kernels")
 SET(CPACK_PACKAGE_FILE_NAME "embree-${EMBREE_VERSION}")
 #SET(CPACK_PACKAGE_ICON ${PROJECT_SOURCE_DIR}/embree-doc/images/icon.png)
 #SET(CPACK_PACKAGE_RELOCATABLE TRUE)
@@ -140,7 +140,7 @@
 SET(CPACK_PACKAGE_VERSION_MAJOR ${EMBREE_VERSION_MAJOR})
 SET(CPACK_PACKAGE_VERSION_MINOR ${EMBREE_VERSION_MINOR})
 SET(CPACK_PACKAGE_VERSION_PATCH ${EMBREE_VERSION_PATCH})
-SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Embree: High Performance Ray Tracing Kernels")
+SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Intel(R) Embree implements high performance ray tracing kernels including accelertion structure construction and traversal.")
 SET(CPACK_PACKAGE_VENDOR "Intel Corporation")
 SET(CPACK_PACKAGE_CONTACT embree_support@intel.com)


ENH: Provide mechanism for changing git remote url

The Remote module git update mechanism did not support
changing the remote origin URL.

From time to time the Organization hosting the repository
must be changed.

Change-Id: I58189ecbdd12b472a37a1be275985639701da7b1

--- CMake/ITKModuleRemote.cmake
+++ CMake/ITKModuleRemote.cmake
@@ -45,6 +45,31 @@
 # Helper to perform a git update.  Checks the current Git revision against the
 # desired revision and only performs a fetch and checkout if needed.
 function(_git_update git_executable git_repository git_tag module_dir)
+  # Verify that remote url are the same
+  execute_process(
+    COMMAND "${git_executable}" config --get remote.origin.url
+    WORKING_DIRECTORY "${module_dir}"
+    RESULT_VARIABLE error_code
+    OUTPUT_VARIABLE remote_origin_url
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+  if ( NOT "${remote_origin_url}" STREQUAL "${git_repository}")
+    message(WARNING "Remote URL changed from ${git_repository} to ${remote_origin_url}")
+    execute_process(
+      COMMAND "${git_executable}" remote rename origin old_origin
+      WORKING_DIRECTORY "${module_dir}"
+      RESULT_VARIABLE error_code
+      OUTPUT_VARIABLE ignored
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    execute_process(
+      COMMAND "${git_executable}" remote add origin "${git_repository}"
+      WORKING_DIRECTORY "${module_dir}"
+      RESULT_VARIABLE error_code
+      OUTPUT_VARIABLE ignored
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+  endif()
   execute_process(
     COMMAND "${git_executable}" rev-parse --verify "${git_tag}"
     WORKING_DIRECTORY "${module_dir}"


CMakeModules: fix for Arch

CMakeModules: fix for Arch

--- CMakeModules/FindJNI2.cmake
+++ CMakeModules/FindJNI2.cmake
@@ -154,6 +154,8 @@
   /usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch}
   /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch}       # can this one be removed according to #8821 ? Alex
   /usr/lib/jvm/java-6-openjdk/jre/lib/{libarch}
+  /usr/lib/jvm/java-7-openjdk/jre/lib/{libarch}
+  /usr/lib/jvm/java-8-openjdk/jre/lib/{libarch}
   /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/{libarch}        # fedora
   # Debian specific paths for default JVM
   /usr/lib/jvm/default-java/jre/lib/{libarch}
@@ -208,6 +210,8 @@
   /usr/lib/jvm/java-1.5.0-sun/include
   /usr/lib/jvm/java-6-sun-1.6.0.00/include       # can this one be removed according to #8821 ? Alex
   /usr/lib/jvm/java-6-openjdk/include
+  /usr/lib/jvm/java-7-openjdk/include
+  /usr/lib/jvm/java-8-openjdk/include
   /usr/lib/jvm/java-8-openjdk-{libarch}/include  # ubuntu 15.10
   /usr/lib/jvm/java-7-openjdk-{libarch}/include  # ubuntu 15.10
   /usr/lib/jvm/java-6-openjdk-{libarch}/include  # ubuntu 15.10


add eigen include directory for libRaptorQ

--- projects/use/usexp-libraptorq-config.cmake
+++ projects/use/usexp-libraptorq-config.cmake
@@ -10,6 +10,8 @@
 string(TOUPPER ${prj} PRJ)
 unset(${PRJ}_INCLUDE_DIRS CACHE)
 find_path(${PRJ}_INCLUDE_DIRS RaptorQ/RaptorQ.hpp PATHS ${XP_ROOTDIR}/include NO_DEFAULT_PATH)
+# needed for libRaptorQ (internally) to find eigen's includes
+include_directories(SYSTEM ${XP_ROOTDIR}/include/eigen3)
 set(${PRJ}_LIBRARIES RaptorQ_static)
 set(reqVars ${PRJ}_INCLUDE_DIRS ${PRJ}_LIBRARIES)
 include(FindPackageHandleStandardArgs)


Fixed a couple of issues with assimp external build.

--- CMake/ExternalAssimp.cmake
+++ CMake/ExternalAssimp.cmake
@@ -11,10 +11,12 @@
 )

 # install built files
+ExternalProject_Get_Property(assimp install_dir)
+
 INSTALL(DIRECTORY ${install_dir}/include
     DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}
     FILES_MATCHING PATTERN "*.h")
-INSTALL(DIRECTORY ${install_dir}/bin
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/bin)
+#INSTALL(DIRECTORY ${install_dir}/bin
+#    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/bin)
 INSTALL(DIRECTORY ${install_dir}/lib
     DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/lib)


Fix a bunch of typos in cmake/LLVM.cmake

--- cmake/LLVM.cmake
+++ cmake/LLVM.cmake
@@ -170,10 +170,10 @@
 macro(custom_try_compile_clangxx SOURCE1 SOURCE2 RES_VAR)
   # this is wrong
   #separate_arguments(FLAGS UNIX_COMMAND "${LLVM_CXXFLAGS}")
-  custom_try_compile_c_cxx("${CLANGXX}" "cc" "${SOURCE1}" "${SOURCE2}" ${RES_VAR} ${FLAGS}  "-c" ${ARGN})
-endmacro()
-
-# clang try-compilere-run macro, running via native executable
+  custom_try_compile_c_cxx("${CLANGXX}" "cc" "${SOURCE1}" "${SOURCE2}" ${RES_VAR}  "-c" ${ARGN})
+endmacro()
+
+# clang try-compile-run macro, running via native executable
 macro(custom_try_run_exe SOURCE1 SOURCE2 OUTPUT_VAR)
   set(OUTF "${CMAKE_BINARY_DIR}/try_run${CMAKE_EXECUTABLE_SUFFIX}")
   if(EXISTS "${OUTF}")
@@ -199,7 +199,7 @@
   endif()
 endmacro()

-# clang try-compilere-run macro, run via lli, the llvm interpreter
+# clang try-compile-run macro, run via lli, the llvm interpreter
 macro(custom_try_run_lli SOURCE1 SOURCE2 OUTPUT_VAR)
 # this uses "lli" - the interpreter, so we can run any -target
 # TODO variable for target !!


cmake: Update java file in buildir when source change


Use whole path instead of just git

Use whole path instead of just git

--- CMake/mitkFunctionGetVersionDescription.cmake
+++ CMake/mitkFunctionGetVersionDescription.cmake
@@ -30,19 +30,18 @@

     GIT_IS_REPO(${source_dir} _is_git_repo)
     if(_is_git_repo)
-      execute_process(COMMAND git describe --exact-match --dirty=${_dirty_repo_str}
+      execute_process(COMMAND ${GIT_EXECUTABLE} describe --exact-match --dirty=${_dirty_repo_str}
                       WORKING_DIRECTORY ${source_dir}
                       OUTPUT_VARIABLE _project_git_tagname
                       RESULT_VARIABLE _proper_version
                       ERROR_VARIABLE _description_error )
-
       if(_proper_version EQUAL 0 )
         set(_wc_description ${_project_git_tagname})

       else(_proper_version EQUAL 0)
         # the execution failed, i.e. the HEAD has no tag,
         # for fallback string: execute again but without the --exact-match
-        execute_process(COMMAND git describe --dirty=${_dirty_repo_str}
+        execute_process(COMMAND ${GIT_EXECUTABLE} describe --dirty=${_dirty_repo_str}
                     WORKING_DIRECTORY ${source_dir}
                     OUTPUT_VARIABLE _wc_description
                     RESULT_VARIABLE _proper_version


CMake: Avoid bogus preprocessor definitions

The macro CUDA_WARP_SRCS expects the target to have a set of
preprocessor definitions that does not contain an empty element.

--- cmake/macros/macro_deal_ii_add_library.cmake
+++ cmake/macros/macro_deal_ii_add_library.cmake
@@ -37,9 +37,19 @@
       ${ARGN}
       )

+
+    #
+    # Work around a problem in CUDA_WARP_SRCS that doesn't take empty list
+    # elements lightly...
+    #
+    SET(_definitions
+      ${DEAL_II_DEFINITIONS}
+      ${DEAL_II_DEFINITIONS_${_build}}
+      )
+
     SET_TARGET_PROPERTIES(${_library}.${_build_lowercase} PROPERTIES
       LINK_FLAGS "${DEAL_II_LINKER_FLAGS} ${DEAL_II_LINKER_FLAGS_${_build}}"
-      COMPILE_DEFINITIONS "${DEAL_II_DEFINITIONS};${DEAL_II_DEFINITIONS_${_build}}"
+      COMPILE_DEFINITIONS "${_definitions}"
       COMPILE_FLAGS "${DEAL_II_CXX_FLAGS} ${DEAL_II_CXX_FLAGS_${_build}}"
       LINKER_LANGUAGE "CXX"
       )


Renamed the OSGSIM cmake variable to OSGSIM_LIBRARY to be consistent with the rest of the variables.

--- CMakeModules/FindOSG.cmake
+++ CMakeModules/FindOSG.cmake
@@ -1,13 +1,13 @@
 # Locate gdal
 # This module defines
 # OSG_LIBRARY
-# OSG_FOUND, if false, do not try to link to gdal
+# OSG_FOUND, if false, do not try to link to gdal
 # OSG_INCLUDE_DIR, where to find the headers
 #
 # $OSG_DIR is an environment variable that would
 # correspond to the ./configure --prefix=$OSG_DIR
 #
-# Created by Robert Osfield.
+# Created by Robert Osfield.

 FIND_PATH(OSG_INCLUDE_DIR osg/Node
     ${OSG_DIR}/include
@@ -59,7 +59,7 @@
         [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
         /usr/freeware/lib64
     )
-
+
     FIND_LIBRARY(${MYLIBRARY}
         NAMES "${MYLIBRARYNAME}${CMAKE_RELEASE_POSTFIX}"
         PATHS
@@ -107,7 +107,7 @@
         ENDIF(NOT MYLIBRARY)

     ENDIF( NOT ${MYLIBRARY}_DEBUG )
-
+
 ENDMACRO(FIND_OSG_LIBRARY LIBRARY LIBRARYNAME)

 FIND_OSG_LIBRARY(OSG_LIBRARY osg)
@@ -126,7 +126,7 @@
 FIND_OSG_LIBRARY(OSGPARTICLE_LIBRARY osgParticle)
 FIND_OSG_LIBRARY(OSGSHADOW_LIBRARY osgShadow)
 FIND_OSG_LIBRARY(OSGPRESENTATION_LIBRARY osgPresentation)
-FIND_OSG_LIBRARY(OSGSIM osgSim)
+FIND_OSG_LIBRARY(OSGSIM_LIBRARY osgSim)
 FIND_OSG_LIBRARY(OPENTHREADS_LIBRARY OpenThreads)


Changed minor version from .200 to .beta

--- CMakeModules/Version.cmake
+++ CMakeModules/Version.cmake
@@ -2,7 +2,7 @@
 # Make a version file that includes the ArrayFire version and git revision
 #
 SET(AF_VERSION "3.0")
-SET(AF_VERSION_MINOR ".200")
+SET(AF_VERSION_MINOR ".beta")
 EXECUTE_PROCESS(
     COMMAND git log -1 --format=%h
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}


New boost version

New boost version


ENH: ExternalData: Factor out file globbing and matching

This basic operation takes a globbing expression and a regular
expression.  It loads a list from disk of files matching the globbing
expression and then matches each entry of the list against the regular
expression to match desired files or content links.

--- CMake/ExternalData.cmake
+++ CMake/ExternalData.cmake
@@ -286,6 +286,10 @@
   endif()
   set(top_bin "${CMAKE_BINARY_DIR}/ExternalData") # TODO: .../${target} ?

+  set(external "") # Entries external to the source tree.
+  set(internal "") # Entries internal to the source tree.
+  set(have_original 0)
+
   # Configure series parsing and matching.
   if(ExternalData_SERIES_PARSE)
     if(NOT "${ExternalData_SERIES_PARSE}" MATCHES
@@ -317,22 +321,41 @@
       "that does not match regular expression\n"
       "  ${series_parse}")
   endif()
-
-  # Glob files that might match the series.
   list(GET tuple 0 relbase)
   list(GET tuple 2 ext)
-  set(pattern "${relbase}*${ext}*")
-  file(GLOB globbed RELATIVE "${top_src}" "${top_src}/${pattern}")
-
-  # Match base, number, and extension perhaps followed by a hash ext.
+
+  # Glob files that might match the series.
+  # Then match match base, number, and extension.
   string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" series_base "${relbase}")
   string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" series_ext "${ext}")
-  set(series_regex "^(${series_base}${series_match}${series_ext})(\\.[^.]*|)$")
-  set(external "") # Entries external to the source tree.
-  set(internal "") # Entries internal to the source tree.
-  set(have_original 0)
+  _ExternalData_arg_find_files("${relbase}*${ext}"
+    "${series_base}${series_match}${series_ext}")
+
+  if(NOT have_original)
+    message(FATAL_ERROR "Data file referenced by argument\n"
+      "  ${arg}\n"
+      "corresponds to source tree path\n"
+      "  ${reldata}\n"
+      "that does not exist (with or without an extension)!")
+  endif()
+
+  if(external)
+    # Make the series available in the build tree.
+    set_property(GLOBAL APPEND PROPERTY
+      _ExternalData_${target}_FETCH "${external}")
+    set_property(GLOBAL APPEND PROPERTY
+      _ExternalData_${target}_LOCAL "${internal}")
+    set("${var_file}" "${top_bin}/${reldata}" PARENT_SCOPE)
+  else()
+    # The whole series is in the source tree.
+    set("${var_file}" "${top_src}/${reldata}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+function(_ExternalData_arg_find_files pattern regex)
+  file(GLOB globbed RELATIVE "${top_src}" "${top_src}/${pattern}*")
   foreach(entry IN LISTS globbed)
-    string(REGEX REPLACE "${series_regex}" "\\1;\\2" tuple "${entry}")
+    string(REGEX REPLACE "^(${regex})(\\.[^.]*|)$" "\\1;\\2" tuple "${entry}")
     list(LENGTH tuple len)
     if("${len}" EQUAL 2)
       list(GET tuple 0 relname)
@@ -352,26 +375,9 @@
       endif()
     endif()
   endforeach()
-
-  if(NOT have_original)
-    message(FATAL_ERROR "Data file referenced by argument\n"
-      "  ${arg}\n"
-      "corresponds to source tree path\n"
-      "  ${reldata}\n"
-      "that does not exist (with or without an extension)!")
-  endif()
-
-  if(external)
-    # Make the series available in the build tree.
-    set_property(GLOBAL APPEND PROPERTY
-      _ExternalData_${target}_FETCH "${external}")
-    set_property(GLOBAL APPEND PROPERTY
-      _ExternalData_${target}_LOCAL "${internal}")
-    set("${var_file}" "${top_bin}/${reldata}" PARENT_SCOPE)
-  else()
-    # The whole series is in the source tree.
-    set("${var_file}" "${top_src}/${reldata}" PARENT_SCOPE)
-  endif()
+  set(external "${external}" PARENT_SCOPE)
+  set(internal "${internal}" PARENT_SCOPE)
+  set(have_original "${have_original}" PARENT_SCOPE)
 endfunction()

 #-----------------------------------------------------------------------------


ENH: Merge changes from main tree into VTK-5-0 branch. (cvs -q up -j1.12 -j1.13 CMake/vtkExportKit.cmake)

--- CMake/vtkExportKit.cmake
+++ CMake/vtkExportKit.cmake
@@ -1,9 +1,18 @@
 #-----------------------------------------------------------------------------
 MACRO(VTK_EXPORT_KIT kit ukit sources)
+  SET(VTK_EXPORT_KIT ${kit})
+  SET(VTK_EXPORT_UKIT ${ukit})
+  SET(VTK_EXPORT_KIT_DOLLAR "$")
+
+  # Export the list of classes from the install tree.
+  SET(VTK_EXPORT_HEADER_DIR ${VTK_EXPORT_KIT_DOLLAR}{VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR})
   SET(KIT_CLASS_LIST)
   SET(KIT_ABSTRACT_LIST)
   SET(KIT_EXCLUDE_LIST)
   FOREACH(src ${sources})
+    # Get the class name from the full file name.  All class headers
+    # will be installed to the same directory for this kit in the
+    # install tree.
     GET_FILENAME_COMPONENT(CLASS "${src}" NAME_WE)
     SET(KIT_CLASS_LIST "${KIT_CLASS_LIST}\n  \"${CLASS}\"")
     GET_SOURCE_FILE_PROPERTY(IS_ABSTRACT ${src} ABSTRACT)
@@ -15,20 +24,37 @@
       SET(KIT_EXCLUDE_LIST "${KIT_EXCLUDE_LIST}\n  \"${CLASS}\"")
     ENDIF(IS_EXCLUDE MATCHES "^1$")
   ENDFOREACH(src)
-  SET(VTK_EXPORT_KIT ${kit})
-  SET(VTK_EXPORT_UKIT ${ukit})
-  SET(VTK_EXPORT_KIT_DOLLAR "$")
-  SET(VTK_EXPORT_HEADER_DIR ${VTK_EXPORT_KIT_DOLLAR}{VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR})
   CONFIGURE_FILE(${VTK_SOURCE_DIR}/CMake/vtkKit.cmake.in
                  ${VTK_BINARY_DIR}/Utilities/InstallOnly/vtk${kit}Kit.cmake
-                 @ONLY IMMEDIATE)
-  SET(VTK_EXPORT_HEADER_DIR ${CMAKE_CURRENT_SOURCE_DIR})
-  CONFIGURE_FILE(${VTK_SOURCE_DIR}/CMake/vtkKit.cmake.in
-                 ${VTK_BINARY_DIR}/Utilities/vtk${kit}Kit.cmake
                  @ONLY IMMEDIATE)
   IF(NOT VTK_INSTALL_NO_DEVELOPMENT)
     INSTALL_FILES(${VTK_INSTALL_PACKAGE_DIR} FILES
       ${VTK_BINARY_DIR}/Utilities/InstallOnly/vtk${kit}Kit.cmake
       )
   ENDIF(NOT VTK_INSTALL_NO_DEVELOPMENT)
+
+  # Export the list of classes from the build tree.
+  # This file is also used when converting Tcl tests to python tests.
+  SET(VTK_EXPORT_HEADER_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+  SET(KIT_CLASS_LIST)
+  SET(KIT_ABSTRACT_LIST)
+  SET(KIT_EXCLUDE_LIST)
+  FOREACH(src ${sources})
+    # Get the class name with the directory if any.  Some class
+    # headers may be in the build tree while others are in the source
+    # tree.
+    STRING(REGEX REPLACE "\\.cxx$" "" CLASS "${src}")
+    SET(KIT_CLASS_LIST "${KIT_CLASS_LIST}\n  \"${CLASS}\"")
+    GET_SOURCE_FILE_PROPERTY(IS_ABSTRACT ${src} ABSTRACT)
+    IF(IS_ABSTRACT MATCHES "^1$")
+      SET(KIT_ABSTRACT_LIST "${KIT_ABSTRACT_LIST}\n  \"${CLASS}\"")
+    ENDIF(IS_ABSTRACT MATCHES "^1$")
+    GET_SOURCE_FILE_PROPERTY(IS_EXCLUDE ${src} WRAP_EXCLUDE)
+    IF(IS_EXCLUDE MATCHES "^1$")
+      SET(KIT_EXCLUDE_LIST "${KIT_EXCLUDE_LIST}\n  \"${CLASS}\"")
+    ENDIF(IS_EXCLUDE MATCHES "^1$")
+  ENDFOREACH(src)
+  CONFIGURE_FILE(${VTK_SOURCE_DIR}/CMake/vtkKit.cmake.in
+                 ${VTK_BINARY_DIR}/Utilities/vtk${kit}Kit.cmake
+                 @ONLY IMMEDIATE)
 ENDMACRO(VTK_EXPORT_KIT)


Ensure enabled test modules are added to VTK_MODULES_ENABLED

Change-Id: I9d394820cdcd0d439f06ed18823c64e18c9560e2

--- CMake/vtkModuleTop.cmake
+++ CMake/vtkModuleTop.cmake
@@ -139,12 +139,6 @@
     list(APPEND VTK_MODULES_DISABLED ${vtk-module})
   endif()
 endforeach()
-list(SORT VTK_MODULES_ENABLED) # Deterministic order.
-list(SORT VTK_MODULES_DISABLED) # Deterministic order.
-
-# Order list to satisfy dependencies.
-include(CMake/TopologicalSort.cmake)
-topological_sort(VTK_MODULES_ENABLED VTK_MODULE_ _DEPENDS)

 if (NOT VTK_BUILD_ALL_MODULES_FOR_TESTS)
   # If VTK_BUILD_ALL_MODULES_FOR_TESTS is OFF, it implies that we didn't add any
@@ -163,6 +157,7 @@
       endforeach()
       if (NOT missing_dependencis)
         vtk_module_enable(${test} "")
+        list(APPEND VTK_MODULES_ENABLED ${test})
       else()
         message(STATUS
         "Disable test module ${test} since required modules are not enabled: ${missing_dependencis}")
@@ -170,6 +165,14 @@
     endforeach()
   endforeach()
 endif()
+
+list(SORT VTK_MODULES_ENABLED) # Deterministic order.
+list(SORT VTK_MODULES_DISABLED) # Deterministic order.
+
+# Order list to satisfy dependencies.
+include(CMake/TopologicalSort.cmake)
+topological_sort(VTK_MODULES_ENABLED VTK_MODULE_ _DEPENDS)
+

 # Report what will be built.
 set(_modules_enabled_alpha "${VTK_MODULES_ENABLED}")


Update the version of ITK.

Update the version of ITK.

--- cmake/externals/projects_modules/ITK.cmake
+++ cmake/externals/projects_modules/ITK.cmake
@@ -49,7 +49,7 @@
 ## Define repository where get the sources
 ## #############################################################################

-set(tag "v4.5.2")
+set(tag "v4.6.0")
 if (NOT DEFINED ${ep}_SOURCE_DIR)
     set(location GIT_REPOSITORY "git://itk.org/ITK.git" GIT_TAG ${tag})
 endif()


we arent using Wt

we arent using Wt

--- libraries/fc/CMakeModules/FindWt.cmake
+++ libraries/fc/CMakeModules/FindWt.cmake
@@ -1,127 +0,0 @@
-# Find Wt includes and libraries
-#
-# This script sets the following variables:
-#
-#  Wt_INCLUDE_DIR
-#  Wt_LIBRARIES  - Release libraries
-#  Wt_FOUND  - True if release libraries found
-#  Wt_DEBUG_LIBRARIES  - Debug libraries
-#  Wt_DEBUG_FOUND  - True if debug libraries found
-#
-# To direct the script to a particular Wt installation, use the
-# standard cmake variables CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH
-#
-# To use this script to find Wt, when using the new style for include files:
-#   #include <Wt/WLineEdit>
-#   #include <Wt/Ext/LineEdit>
-#   #include <Wt/Chart/WPieChart>
-#
-# include the following CMake snippet in your project:
-#
-#  FIND_PACKAGE( Wt REQUIRED )
-#  INCLUDE_DIRECTORIES( ${Wt_INCLUDE_DIR} )
-#  TARGET_LINK_LIBRARIES( yourexe
-#    ${Wt_DEBUG_LIBRARY}        # or {Wt_LIBRARY}
-#    ${Wt_HTTP_DEBUG_LIBRARY}   # or {Wt_HTTP_LIBRARY}
-#    ${Wt_EXT_DEBUG_LIBRARY}    # or {Wt_EXT_LIBRARY}
-#  )
-#
-# To use this script to find Wt, when using the old include style:
-#   #include <WLineEdit>
-#   #include <Ext/LineEdit>
-#   #include <Chart/WPieChart>
-# style of include files, change the INCLUDE_DIRECTORIES statement to:
-#   INCLUDE_DIRECTORIES( ${Wt_INCLUDE_DIR} ${Wt_INCLUDE_DIR}/Wt )
-#
-#
-#
-#
-# Copyright (c) 2007, Pau Garcia i Quiles, <pgquiles@elpauer.org>
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-FIND_PATH( Wt_INCLUDE_DIR NAMES Wt/WObject PATHS ENV PATH PATH_SUFFIXES include wt )
-
-SET( Wt_FIND_COMPONENTS Release Debug )
-
-IF( Wt_INCLUDE_DIR )
-        FIND_LIBRARY( Wt_LIBRARY NAMES wt PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
-        FIND_LIBRARY( Wt_EXT_LIBRARY NAMES wtext PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
-        FIND_LIBRARY( Wt_HTTP_LIBRARY NAMES wthttp PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
-        FIND_LIBRARY( Wt_FCGI_LIBRARY NAMES wtfcgi PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
-        FIND_LIBRARY( Wt_DBO_LIBRARY NAMES wtdbo PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
-        FIND_LIBRARY( Wt_DBOSQLITE3_LIBRARY NAMES wtdbosqlite3 PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
-        FIND_LIBRARY( Wt_DBOPOSTGRES_LIBRARY NAMES wtdbopostgres PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
-
-        FIND_LIBRARY( Wt_DEBUG_LIBRARY NAMES wtd wt PATHS PATH PATH_SUFFIXES lib libd lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
-        FIND_LIBRARY( Wt_EXT_DEBUG_LIBRARY NAMES wtextd wtext PATHS PATH PATH_SUFFIXES lib libd lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
-        FIND_LIBRARY( Wt_HTTP_DEBUG_LIBRARY NAMES wthttpd wthttp PATHS PATH PATH_SUFFIXES lib libd lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
-        FIND_LIBRARY( Wt_FCGI_DEBUG_LIBRARY NAMES wtfcgid wtfcgi PATHS PATH PATH_SUFFIXES lib libd lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
-        FIND_LIBRARY( Wt_DBO_DEBUG_LIBRARY NAMES wtdbod wtdbo PATHS PATH PATH_SUFFIXES lib lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
-        FIND_LIBRARY( Wt_DBOSQLITE3_DEBUG_LIBRARY NAMES wtdbosqlite3d wtdbosqlite3 PATHS PATH PATH_SUFFIXES lib lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
-        FIND_LIBRARY( Wt_DBOPOSTGRES_DEBUG_LIBRARY NAMES wtdbopostgresd wtdbopostgres PATHS PATH PATH_SUFFIXES lib lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
-
-        IF( Wt_LIBRARY AND Wt_EXT_LIBRARY AND Wt_HTTP_LIBRARY)
-                SET( Wt_FOUND TRUE )
-		SET( Wt_FIND_REQUIRED_Release TRUE )
-                SET( Wt_LIBRARIES ${Wt_HTTP_LIBRARY} ${Wt_EXT_LIBRARY} ${Wt_LIBRARY} )
-        ENDIF( Wt_LIBRARY AND Wt_EXT_LIBRARY AND Wt_HTTP_LIBRARY)
-
-        IF( Wt_DBO_LIBRARY )
-		SET( Wt_LIBRARIES ${Wt_LIBRARIES} ${Wt_DBO_LIBRARY} )
-		IF( Wt_DBOSQLITE3_LIBRARY )
-			SET( Wt_LIBRARIES ${Wt_LIBRARIES} ${Wt_DBOSQLITE3_LIBRARY} )
-		ENDIF( Wt_DBOSQLITE3_LIBRARY )
-		IF( Wt_DBOPOSTGRES_LIBRARY )
-			SET( Wt_LIBRARIES ${Wt_LIBRARIES} ${Wt_DBOPOSTGRES_LIBRARY} )
-		ENDIF( Wt_DBOPOSTGRES_LIBRARY )
-        ENDIF( Wt_DBO_LIBRARY )
-
-	IF( Wt_FCGI_LIBRARY )
-                SET( Wt_LIBRARIES ${Wt_LIBRARIES} ${Wt_FCGI_LIBRARY} )
-        ENDIF( Wt_FCGI_LIBRARY )
-
-        IF( Wt_DEBUG_LIBRARY AND Wt_EXT_DEBUG_LIBRARY AND Wt_HTTP_DEBUG_LIBRARY)
-                SET( Wt_DEBUG_FOUND TRUE )
-		SET( Wt_FIND_REQUIRED_Debug TRUE )
-                SET( Wt_DEBUG_LIBRARIES ${Wt_HTTP_DEBUG_LIBRARY} ${Wt_EXT_DEBUG_LIBRARY} ${Wt_DEBUG_LIBRARY} )
-        ENDIF( Wt_DEBUG_LIBRARY AND Wt_EXT_DEBUG_LIBRARY AND Wt_HTTP_DEBUG_LIBRARY)
-
-        IF( Wt_DBO_DEBUG_LIBRARY )
-		SET( Wt_DEBUG_LIBRARIES ${Wt_DEBUG_LIBRARIES} ${Wt_DBO_DEBUG_LIBRARY} )
-		IF( Wt_DBOSQLITE3_DEBUG_LIBRARY )
-			SET( Wt_DEBUG_LIBRARIES ${Wt_DEBUG_LIBRARIES} ${Wt_DBOSQLITE3_DEBUG_LIBRARY} )
-		ENDIF( Wt_DBOSQLITE3_DEBUG_LIBRARY )
-		IF( Wt_DBOPOSTGRES_DEBUG_LIBRARY )
-			SET( Wt_DEBUG_LIBRARIES ${Wt_DEBUG_LIBRARIES} ${Wt_DBOPOSTGRES_DEBUG_LIBRARY} )
-		ENDIF( Wt_DBOPOSTGRES_DEBUG_LIBRARY )
-        ENDIF( Wt_DBO_DEBUG_LIBRARY )
-
-        IF( Wt_FCGI_DEBUG_LIBRARY )
-                SET( Wt_DEBUG_LIBRARIES ${Wt_DEBUG_LIBRARIES} ${Wt_FCGI_DEBUG_LIBRARY} )
-        ENDIF( Wt_FCGI_DEBUG_LIBRARY )
-
-        IF(Wt_FOUND)
-                IF (NOT Wt_FIND_QUIETLY)
-                        MESSAGE(STATUS "Found the Wt libraries at ${Wt_LIBRARIES}")
-                        MESSAGE(STATUS "Found the Wt headers at ${Wt_INCLUDE_DIR}")
-                ENDIF (NOT Wt_FIND_QUIETLY)
-        ELSE(Wt_FOUND)
-                IF(Wt_FIND_REQUIRED)
-                        MESSAGE(FATAL_ERROR "Could NOT find Wt")
-                ENDIF(Wt_FIND_REQUIRED)
-        ENDIF(Wt_FOUND)
-
-        IF(Wt_DEBUG_FOUND)
-                IF (NOT Wt_FIND_QUIETLY)
-                        MESSAGE(STATUS "Found the Wt debug libraries at ${Wt_DEBUG_LIBRARIES}")
-                        MESSAGE(STATUS "Found the Wt debug headers at ${Wt_INCLUDE_DIR}")
-                ENDIF (NOT Wt_FIND_QUIETLY)
-        ELSE(Wt_DEBUG_FOUND)
-                IF(Wt_FIND_REQUIRED_Debug)
-                        MESSAGE(FATAL_ERROR "Could NOT find Wt debug libraries")
-                ENDIF(Wt_FIND_REQUIRED_Debug)
-        ENDIF(Wt_DEBUG_FOUND)
-
-ENDIF( Wt_INCLUDE_DIR )


fbcode_builder: minor fixup to normalize python installation paths

Summary:
This just strips off a trailing '/' from the `INSTALL_DIR` property that we
set on python targets, to avoid having double-slashes in the paths that we use
during installation.  This shouldn't really have any material difference other
than cleaning up the paths that get printed during the installation phase.

Reviewed By: chadaustin

Differential Revision: D17089207

fbshipit-source-id: ab36bb76c19fa60fe037f7a5290ccfd6bdbf13b0

--- build/fbcode_builder/CMake/FBPythonBinary.cmake
+++ build/fbcode_builder/CMake/FBPythonBinary.cmake
@@ -326,6 +326,7 @@
   if(NOT IS_ABSOLUTE "${abs_install_dir}")
     set(abs_install_dir "${CMAKE_INSTALL_PREFIX}/${abs_install_dir}")
   endif()
+  string(REGEX REPLACE "/$" "" abs_install_dir "${abs_install_dir}")
   set_target_properties(
     "${LIB_NAME}.py_lib_install"
     PROPERTIES