Added Intel PCM as 3rd-party library

Added Intel PCM as 3rd-party library

--- ThirdPartyLibraries.cmake
+++ ThirdPartyLibraries.cmake
@@ -199,6 +199,7 @@
 add_target(ICU icu)
 add_target(IMAGEMAGICK imagemagick)
 add_target(IMAP_2007F imap-2007f)
+add_target(INTEL_PCM intel_pcm)
 add_target(ISO_3166 iso_3166)
 add_target(ISO_639 iso_639)
 add_target(ISO_COUNTRY_FLAGS iso-country-flags)
@@ -343,6 +344,7 @@
 set_libraries(icu_test ${ICU_PREFIX}/lib icutest)
 set_libraries(icu_tu ${ICU_PREFIX}/lib icutu)
 set_libraries(icu_uc ${ICU_PREFIX}/lib icuuc)
+set_libraries(intel_pcm ${INTEL_PCM_PREFIX}/lib intel_pcm)
 set_libraries(imagemagick ${IMAGEMAGICK_PREFIX}/lib
               Magick++ MagickCore MagickWand)
 set_libraries(jsoncpp ${JSONCPP_PREFIX}/lib jsoncpp)
@@ -534,6 +536,7 @@
 add_library_dependencies(boost_thread third_party.boost_atomic)
 add_library_dependencies(boost_iostreams ${BZ2_LIB})
 add_library_dependencies(gtest pthread)
+add_library_dependencies(intel_pcm pthread)
 add_library_dependencies(openssl third_party.gmp)
 add_library_dependencies(libcurl third_party.zlib)
 if (NOT APPLE)
@@ -651,6 +654,7 @@
 set_include_directories(httpxx ${HTTPXX_PREFIX}/include)
 set_include_directories(icu ${ICU_PREFIX}/include)
 set_include_directories(imagemagick ${IMAGEMAGICK_PREFIX}/include/ImageMagick-6)
+set_include_directories(intel_pcm ${INTEL_PCM_PREFIX}/include)
 set_include_directories(jsoncpp ${JSONCPP_PREFIX}/include)
 set_include_directories(libcurl ${LIBCURL_PREFIX}/include)
 set_include_directories(libcxx ${LIBCXX_PREFIX}/include/c++/v1)
@@ -1791,6 +1795,24 @@
           ${ICU_PREFIX}/download/icu4c-52_1-src.tgz
   CONFIGURE_COMMAND echo "${ICU_BUILD_COMMAND}" | sh)
 add_install_name_step(ICU)
+
+################################################################################
+# Intel PCM library.
+add_external_project(
+  ${INTEL_PCM_TARGET}
+  PREFIX ${INTEL_PCM_PREFIX}
+  DOWNLOAD_COMMAND
+    git clone --depth 1 git://github.com/QuentinFiard/intel_pcm ${INTEL_PCM_TARGET}
+  CMAKE_ARGS
+      -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
+      -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+      -DCMAKE_BUILD_TYPE=RELEASE
+      -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
+      -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
+      -DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}
+      -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
+      -DCMAKE_OSX_ARCHITECTURES=${ARCHS}
+      -DCMAKE_INSTALL_PREFIX=${INTEL_PCM_PREFIX})

 ################################################################################
 # ImageMagick. TODO(qfiard): Make portable.


update sourcelist.cmake to include new enemy types

--- Turn/src/sourcelist.cmake
+++ Turn/src/sourcelist.cmake
@@ -17,6 +17,7 @@
     src/EnemyTypes/GiantCrab.cpp
     src/EnemyTypes/GiantSquid.cpp
     src/EnemyTypes/Goblin.cpp
+    src/EnemyTypes/Gremlin.cpp
     src/EnemyTypes/Lich.cpp
     src/EnemyTypes/Mimic.cpp
     src/EnemyTypes/Murloc.cpp
@@ -24,10 +25,12 @@
     src/EnemyTypes/RatKing.cpp
     src/EnemyTypes/Skeleton.cpp
     src/EnemyTypes/Slimeball.cpp
+    src/EnemyTypes/SmallDragon.cpp
     src/EnemyTypes/SmallRat.cpp
     src/EnemyTypes/Squid.cpp
     src/EnemyTypes/Vampire.cpp
     src/EnemyTypes/Werewolf.cpp
+    src/EnemyTypes/Zabra.cpp
     src/EnemyTypes/Zombie.cpp

     src/PlayerTypes/Debugger.cpp


Make git fetch quiet.

Make git fetch quiet.

Write failed fetch message to status.

--- CPM.cmake
+++ CPM.cmake
@@ -920,9 +920,11 @@
       WORKING_DIRECTORY "${dir}"
       RESULT_VARIABLE error_code
       TIMEOUT 15
+      OUTPUT_QUIET
+      ERROR_QUIET
       )
     if(error_code)
-      message("Failed to fetch repository '${repo}'. Skipping fetch.")
+      message(STATUS "Failed to fetch repository '${repo}'. Skipping fetch.")
     endif()

     execute_process(


REFAC: update diapotb tag for release 7.2.0

--- Modules/Remote/diapotb.remote.cmake
+++ Modules/Remote/diapotb.remote.cmake
@@ -22,5 +22,5 @@
 otb_fetch_module(DiapOTBModule
   "OTB module for SAR processing in Diapason."
   GIT_REPOSITORY https://gitlab.orfeo-toolbox.org/remote_modules/diapotb.git
-  GIT_TAG f84b85352abb75ff3eefafdf0480fcde7fa06173
+  GIT_TAG 1.0.0
 )


ENH: CI: PKG: Embedded external copyright notices when building (SuperBuild) OTB_DEPENDS.

--- SuperBuild/CMake/External_otb.cmake
+++ SuperBuild/CMake/External_otb.cmake
@@ -164,6 +164,18 @@
   DEPENDS ${OTB_DEPENDENCIES}
   )

+add_custom_target( EMBED_COPYRIGHT
+
+  COMMAND ${CMAKE_COMMAND} -E copy
+  ${OTB_SB_SRC}/LICENSE ${CMAKE_INSTALL_PREFIX}/share/copyright/LICENSE
+
+  COMMAND ${CMAKE_COMMAND} -E copy
+  ${OTB_SB_SRC}/NOTICE ${CMAKE_INSTALL_PREFIX}/share/copyright/NOTICE
+
+  COMMAND ${CMAKE_COMMAND} -E copy_directory
+  ${CMAKE_SOURCE_DIR}/Copyright ${CMAKE_INSTALL_PREFIX}/share/copyright
+  )
+
 add_custom_target(OTB_DEPENDS
   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/otb_depends_done.txt
   WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
@@ -171,6 +183,9 @@
   VERBATIM
   )

+add_dependencis( OTB_DEPENDS
+  EMBED_COPYRIGHT
+  )

 ExternalProject_Add(OTB
   DEPENDS ${OTB_DEPENDENCIES}
@@ -220,14 +235,10 @@

 ExternalProject_Add_Step(
   OTB install_copyright
-  COMMAND ${CMAKE_COMMAND} -E copy
-  ${OTB_SB_SRC}/LICENSE ${CMAKE_INSTALL_PREFIX}/share/copyright/LICENSE
-
-  COMMAND ${CMAKE_COMMAND} -E copy
-  ${OTB_SB_SRC}/NOTICE ${CMAKE_INSTALL_PREFIX}/share/copyright/NOTICE
-
-  COMMAND ${CMAKE_COMMAND}
-  -E copy_directory
-  ${CMAKE_SOURCE_DIR}/Copyright ${CMAKE_INSTALL_PREFIX}/share/copyright
   DEPENDEES install
   )
+
+ExternalProject_Add_StepDependencies(
+  OTB install_copyright
+  EMBED_COPYRIGHT
+  )


BUG: the directory from which batchmake was downloaded was removed. We changed it to one location that exists

--- SuperBuild/External_BatchMake.cmake
+++ SuperBuild/External_BatchMake.cmake
@@ -48,9 +48,11 @@
   ## HACK set(${proj}_REPOSITORY "${git_protocol}://batchmake.org/BatchMake.git")
   ##      set(${proj}_GIT_TAG origin/master)
   ## Using this temporary repository copy until this version can be properly incorporated.
-  set(${proj}_REPOSITORY "${git_protocol}://github.com/hjmjohnson/TempBatchMake.git")
-  set(${proj}_GIT_TAG FixInstallBatchMake)
+#  set(${proj}_REPOSITORY "${git_protocol}://github.com/hjmjohnson/TempBatchMake.git")
+#  set(${proj}_GIT_TAG FixInstallBatchMake)

+  set(${proj}_REPOSITORY "${git_protocol}://batchmake.org/BatchMake.git")
+  set(${proj}_GIT_TAG "1f5bf4f92e8678c34dc6f7558be5e6613804d988")
   ExternalProject_Add(${proj}
     GIT_REPOSITORY ${${proj}_REPOSITORY}
     GIT_TAG ${${proj}_GIT_TAG}


Add missing macro for OCCT-related code compilation: allow converting signals to exceptions

--- adm_local/cmake_files/FindCAS.cmake
+++ adm_local/cmake_files/FindCAS.cmake
@@ -61,6 +61,7 @@
 SET(CAS_DEFINITIONS "-DLIN -DLINTEL -DCSFDB")
 SET(CAS_DEFINITIONS "${CAS_DEFINITIONS} -DNo_exception")
 SET(CAS_DEFINITIONS "${CAS_DEFINITIONS} -DHAVE_CONFIG_H")
+SET(CAS_DEFINITIONS "${CAS_DEFINITIONS} -DOCC_CONVERT_SIGNALS")

 # Test for 64 bit machine:
 IF(CMAKE_SIZEOF_VOID_P STREQUAL 8)


Default to "make install" install command

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

   add_custom_target(package-install


CHOP-151 Imported patch from server-trunk to support preprocessor at unit tests. Rev. by Brad

--- indra/cmake/LLAddBuildTest.cmake
+++ indra/cmake/LLAddBuildTest.cmake
@@ -1,265 +1,273 @@
-# -*- cmake -*-
-include(LLTestCommand)
-include(GoogleMock)
-
-MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources)
-  # Given a project name and a list of sourcefiles (with optional properties on each),
-  # add targets to build and run the tests specified.
-  # ASSUMPTIONS:
-  # * this macro is being executed in the project file that is passed in
-  # * current working SOURCE dir is that project dir
-  # * there is a subfolder tests/ with test code corresponding to the filenames passed in
-  # * properties for each sourcefile passed in indicate what libs to link that file with (MAKE NO ASSUMPTIONS ASIDE FROM TUT)
-  #
-  # More info and examples at: https://wiki.secondlife.com/wiki/How_to_add_unit_tests_to_indra_code
-  #
-  # WARNING: do NOT modify this code without working with poppy -
-  # there is another branch that will conflict heavily with any changes here.
-INCLUDE(GoogleMock)
-
-
-  IF(LL_TEST_VERBOSE)
-    MESSAGE("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} sources: ${sources}")
-  ENDIF(LL_TEST_VERBOSE)
-
-  # Start with the header and project-wide setup before making targets
-  #project(UNITTEST_PROJECT_${project})
-  # Setup includes, paths, etc
-  SET(alltest_SOURCE_FILES
-    ${CMAKE_SOURCE_DIR}/test/test.cpp
-    ${CMAKE_SOURCE_DIR}/test/lltut.cpp
-    )
-  SET(alltest_DEP_TARGETS
-    # needed by the test harness itself
-    ${APRUTIL_LIBRARIES}
-    ${APR_LIBRARIES}
-    llcommon
-    )
-  IF(NOT "${project}" STREQUAL "llmath")
-    # add llmath as a dep unless the tested module *is* llmath!
-    LIST(APPEND alltest_DEP_TARGETS
-      llmath
-      )
-  ENDIF(NOT "${project}" STREQUAL "llmath")
-  SET(alltest_INCLUDE_DIRS
-    ${LLMATH_INCLUDE_DIRS}
-    ${LLCOMMON_INCLUDE_DIRS}
-    ${LIBS_OPEN_DIR}/test
-    ${GOOGLEMOCK_INCLUDE_DIRS}
-    )
-  SET(alltest_LIBRARIES
-    ${GOOGLEMOCK_LIBRARIES}
-    ${PTHREAD_LIBRARY}
-    ${WINDOWS_LIBRARIES}
-    )
-  # Headers, for convenience in targets.
-  SET(alltest_HEADER_FILES
-    ${CMAKE_SOURCE_DIR}/test/test.h
-    )
-
-  # Use the default flags
-  if (LINUX)
-    SET(CMAKE_EXE_LINKER_FLAGS "")
-  endif (LINUX)
-
-  # start the source test executable definitions
-  SET(${project}_TEST_OUTPUT "")
-  FOREACH (source ${sources})
-    STRING( REGEX REPLACE "(.*)\\.[^.]+$" "\\1" name ${source} )
-    STRING( REGEX REPLACE ".*\\.([^.]+)$" "\\1" extension ${source} )
-    IF(LL_TEST_VERBOSE)
-      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} individual source: ${source} (${name}.${extension})")
-    ENDIF(LL_TEST_VERBOSE)
-
-    #
-    # Per-codefile additional / external source, header, and include dir property extraction
-    #
-    # Source
-    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_SOURCE_FILES ${source} LL_TEST_ADDITIONAL_SOURCE_FILES)
-    IF(${name}_test_additional_SOURCE_FILES MATCHES NOTFOUND)
-      SET(${name}_test_additional_SOURCE_FILES "")
-    ENDIF(${name}_test_additional_SOURCE_FILES MATCHES NOTFOUND)
-    SET(${name}_test_SOURCE_FILES ${source} tests/${name}_test.${extension} ${alltest_SOURCE_FILES} ${${name}_test_additional_SOURCE_FILES} )
-    IF(LL_TEST_VERBOSE)
-      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_SOURCE_FILES ${${name}_test_SOURCE_FILES}")
-    ENDIF(LL_TEST_VERBOSE)
-    # Headers
-    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_HEADER_FILES ${source} LL_TEST_ADDITIONAL_HEADER_FILES)
-    IF(${name}_test_additional_HEADER_FILES MATCHES NOTFOUND)
-      SET(${name}_test_additional_HEADER_FILES "")
-    ENDIF(${name}_test_additional_HEADER_FILES MATCHES NOTFOUND)
-    SET(${name}_test_HEADER_FILES ${name}.h ${${name}_test_additional_HEADER_FILES})
-    set_source_files_properties(${${name}_test_HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE)
-    LIST(APPEND ${name}_test_SOURCE_FILES ${${name}_test_HEADER_FILES})
-    IF(LL_TEST_VERBOSE)
-      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_HEADER_FILES ${${name}_test_HEADER_FILES}")
-    ENDIF(LL_TEST_VERBOSE)
-    # Include dirs
-    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_INCLUDE_DIRS ${source} LL_TEST_ADDITIONAL_INCLUDE_DIRS)
-    IF(${name}_test_additional_INCLUDE_DIRS MATCHES NOTFOUND)
-      SET(${name}_test_additional_INCLUDE_DIRS "")
-    ENDIF(${name}_test_additional_INCLUDE_DIRS MATCHES NOTFOUND)
-    INCLUDE_DIRECTORIES(${alltest_INCLUDE_DIRS} ${name}_test_additional_INCLUDE_DIRS )
-    IF(LL_TEST_VERBOSE)
-      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_INCLUDE_DIRS ${${name}_test_additional_INCLUDE_DIRS}")
-    ENDIF(LL_TEST_VERBOSE)
-
-
-    # Setup target
-    ADD_EXECUTABLE(PROJECT_${project}_TEST_${name} ${${name}_test_SOURCE_FILES})
-    SET_TARGET_PROPERTIES(PROJECT_${project}_TEST_${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
-
-    #
-    # Per-codefile additional / external project dep and lib dep property extraction
-    #
-    # WARNING: it's REALLY IMPORTANT to not mix these. I guarantee it will not work in the future. + poppy 2009-04-19
-    # Projects
-    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_PROJECTS ${source} LL_TEST_ADDITIONAL_PROJECTS)
-    IF(${name}_test_additional_PROJECTS MATCHES NOTFOUND)
-      SET(${name}_test_additional_PROJECTS "")
-    ENDIF(${name}_test_additional_PROJECTS MATCHES NOTFOUND)
-    # Libraries
-    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_LIBRARIES ${source} LL_TEST_ADDITIONAL_LIBRARIES)
-    IF(${name}_test_additional_LIBRARIES MATCHES NOTFOUND)
-      SET(${name}_test_additional_LIBRARIES "")
-    ENDIF(${name}_test_additional_LIBRARIES MATCHES NOTFOUND)
-    IF(LL_TEST_VERBOSE)
-      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_PROJECTS ${${name}_test_additional_PROJECTS}")
-      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_LIBRARIES ${${name}_test_additional_LIBRARIES}")
-    ENDIF(LL_TEST_VERBOSE)
-    # Add to project
-    TARGET_LINK_LIBRARIES(PROJECT_${project}_TEST_${name} ${alltest_LIBRARIES} ${alltest_DEP_TARGETS} ${${name}_test_additional_PROJECTS} ${${name}_test_additional_LIBRARIES} )
-
-    #
-    # Setup test targets
-    #
-    GET_TARGET_PROPERTY(TEST_EXE PROJECT_${project}_TEST_${name} LOCATION)
-    SET(TEST_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/PROJECT_${project}_TEST_${name}_ok.txt)
-    SET(TEST_CMD ${TEST_EXE} --touch=${TEST_OUTPUT} --sourcedir=${CMAKE_CURRENT_SOURCE_DIR})
-
-    # daveh - what configuration does this use? Debug? it's cmake-time, not build time. + poppy 2009-04-19
-    IF(LL_TEST_VERBOSE)
-      MESSAGE(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_cmd  = ${TEST_CMD}")
-    ENDIF(LL_TEST_VERBOSE)
-
-    SET_TEST_PATH(LD_LIBRARY_PATH)
-    LL_TEST_COMMAND(TEST_SCRIPT_CMD "${LD_LIBRARY_PATH}" ${TEST_CMD})
-    IF(LL_TEST_VERBOSE)
-      MESSAGE(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_script  = ${TEST_SCRIPT_CMD}")
-    ENDIF(LL_TEST_VERBOSE)
-    # Add test
-    ADD_CUSTOM_COMMAND(
-        OUTPUT ${TEST_OUTPUT}
-        COMMAND ${TEST_SCRIPT_CMD}
-        DEPENDS PROJECT_${project}_TEST_${name}
-        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-        )
-    # Why not add custom target and add POST_BUILD command?
-    # Slightly less uncertain behavior
-    # (OUTPUT commands run non-deterministically AFAIK) + poppy 2009-04-19
-    # > I did not use a post build step as I could not make it notify of a
-    # > failure after the first time you build and fail a test. - daveh 2009-04-20
-    LIST(APPEND ${project}_TEST_OUTPUT ${TEST_OUTPUT})
-  ENDFOREACH (source)
-
-  # Add the test runner target per-project
-  # (replaces old _test_ok targets all over the place)
-  ADD_CUSTOM_TARGET(${project}_tests ALL DEPENDS ${${project}_TEST_OUTPUT})
-  ADD_DEPENDENCIES(${project} ${project}_tests)
-ENDMACRO(LL_ADD_PROJECT_UNIT_TESTS)
-
-FUNCTION(LL_ADD_INTEGRATION_TEST
-    testname
-    additional_source_files
-    library_dependencies
-# variable args
-    )
-  if(TEST_DEBUG)
-    message(STATUS "Adding INTEGRATION_TEST_${testname} - debug output is on")
-  endif(TEST_DEBUG)
-
-  SET(source_files
-    tests/${testname}_test.cpp
-    ${CMAKE_SOURCE_DIR}/test/test.cpp
-    ${CMAKE_SOURCE_DIR}/test/lltut.cpp
-    ${additional_source_files}
-    )
-
-  SET(libraries
-    ${library_dependencies}
-    ${GOOGLEMOCK_LIBRARIES}
-    ${PTHREAD_LIBRARY}
-    )
-
-  # Add test executable build target
-  if(TEST_DEBUG)
-    message(STATUS "ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})")
-  endif(TEST_DEBUG)
-  ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})
-  SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
-
-  # Add link deps to the executable
-  if(TEST_DEBUG)
-    message(STATUS "TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries})")
-  endif(TEST_DEBUG)
-  TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries})
-
-  # Create the test running command
-  SET(test_command ${ARGN})
-  GET_TARGET_PROPERTY(TEST_EXE INTEGRATION_TEST_${testname} LOCATION)
-  LIST(FIND test_command "{}" test_exe_pos)
-  IF(test_exe_pos LESS 0)
-    # The {} marker means "the full pathname of the test executable."
-    # test_exe_pos -1 means we didn't find it -- so append the test executable
-    # name to $ARGN, the variable part of the arg list. This is convenient
-    # shorthand for both straightforward execution of the test program (empty
-    # $ARGN) and for running a "wrapper" program of some kind accepting the
-    # pathname of the test program as the last of its args. You need specify
-    # {} only if the test program's pathname isn't the last argument in the
-    # desired command line.
-    LIST(APPEND test_command "${TEST_EXE}")
-  ELSE (test_exe_pos LESS 0)
-    # Found {} marker at test_exe_pos. Remove the {}...
-    LIST(REMOVE_AT test_command test_exe_pos)
-    # ...and replace it with the actual name of the test executable.
-    LIST(INSERT test_command test_exe_pos "${TEST_EXE}")
-  ENDIF (test_exe_pos LESS 0)
-
-  SET_TEST_PATH(LD_LIBRARY_PATH)
-  LL_TEST_COMMAND(TEST_SCRIPT_CMD "${LD_LIBRARY_PATH}" ${test_command})
-
-  if(TEST_DEBUG)
-    message(STATUS "TEST_SCRIPT_CMD: ${TEST_SCRIPT_CMD}")
-  endif(TEST_DEBUG)
-
-  ADD_CUSTOM_COMMAND(
-    TARGET INTEGRATION_TEST_${testname}
-    POST_BUILD
-    COMMAND ${TEST_SCRIPT_CMD}
-    )
-
-  # Use CTEST? Not sure how to yet...
-  # ADD_TEST(INTEGRATION_TEST_RUNNER_${testname} ${TEST_SCRIPT_CMD})
-
-ENDFUNCTION(LL_ADD_INTEGRATION_TEST)
-
-MACRO(SET_TEST_PATH LISTVAR)
-  IF(WINDOWS)
-    # We typically build/package only Release variants of third-party
-    # libraries, so append the Release staging dir in case the library being
-    # sought doesn't have a debug variant.
-    set(${LISTVAR} ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR} ${SHARED_LIB_STAGING_DIR}/Release)
-  ELSEIF(DARWIN)
-    # We typically build/package only Release variants of third-party
-    # libraries, so append the Release staging dir in case the library being
-    # sought doesn't have a debug variant.
-    set(${LISTVAR} ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/Resources ${SHARED_LIB_STAGING_DIR}/Release/Resources /usr/lib)
-  ELSE(WINDOWS)
-    # Linux uses a single staging directory anyway.
-    IF (STANDALONE)
-      set(${LISTVAR} ${CMAKE_BINARY_DIR}/llcommon /usr/lib /usr/local/lib)
-    ELSE (STANDALONE)
-      set(${LISTVAR} ${SHARED_LIB_STAGING_DIR} /usr/lib)
-    ENDIF (STANDALONE)
-  ENDIF(WINDOWS)
-ENDMACRO(SET_TEST_PATH)
+# -*- cmake -*-
+include(LLTestCommand)
+include(GoogleMock)
+
+MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources)
+  # Given a project name and a list of sourcefiles (with optional properties on each),
+  # add targets to build and run the tests specified.
+  # ASSUMPTIONS:
+  # * this macro is being executed in the project file that is passed in
+  # * current working SOURCE dir is that project dir
+  # * there is a subfolder tests/ with test code corresponding to the filenames passed in
+  # * properties for each sourcefile passed in indicate what libs to link that file with (MAKE NO ASSUMPTIONS ASIDE FROM TUT)
+  #
+  # More info and examples at: https://wiki.secondlife.com/wiki/How_to_add_unit_tests_to_indra_code
+  #
+  # WARNING: do NOT modify this code without working with poppy -
+  # there is another branch that will conflict heavily with any changes here.
+INCLUDE(GoogleMock)
+
+
+  IF(LL_TEST_VERBOSE)
+    MESSAGE("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} sources: ${sources}")
+  ENDIF(LL_TEST_VERBOSE)
+
+  # Start with the header and project-wide setup before making targets
+  #project(UNITTEST_PROJECT_${project})
+  # Setup includes, paths, etc
+  SET(alltest_SOURCE_FILES
+    ${CMAKE_SOURCE_DIR}/test/test.cpp
+    ${CMAKE_SOURCE_DIR}/test/lltut.cpp
+    )
+  SET(alltest_DEP_TARGETS
+    # needed by the test harness itself
+    ${APRUTIL_LIBRARIES}
+    ${APR_LIBRARIES}
+    llcommon
+    )
+  IF(NOT "${project}" STREQUAL "llmath")
+    # add llmath as a dep unless the tested module *is* llmath!
+    LIST(APPEND alltest_DEP_TARGETS
+      llmath
+      )
+  ENDIF(NOT "${project}" STREQUAL "llmath")
+  SET(alltest_INCLUDE_DIRS
+    ${LLMATH_INCLUDE_DIRS}
+    ${LLCOMMON_INCLUDE_DIRS}
+    ${LIBS_OPEN_DIR}/test
+    ${GOOGLEMOCK_INCLUDE_DIRS}
+    )
+  SET(alltest_LIBRARIES
+    ${GOOGLEMOCK_LIBRARIES}
+    ${PTHREAD_LIBRARY}
+    ${WINDOWS_LIBRARIES}
+    )
+  # Headers, for convenience in targets.
+  SET(alltest_HEADER_FILES
+    ${CMAKE_SOURCE_DIR}/test/test.h
+    )
+
+  # Use the default flags
+  if (LINUX)
+    SET(CMAKE_EXE_LINKER_FLAGS "")
+  endif (LINUX)
+
+  # start the source test executable definitions
+  SET(${project}_TEST_OUTPUT "")
+  FOREACH (source ${sources})
+    STRING( REGEX REPLACE "(.*)\\.[^.]+$" "\\1" name ${source} )
+    STRING( REGEX REPLACE ".*\\.([^.]+)$" "\\1" extension ${source} )
+    IF(LL_TEST_VERBOSE)
+      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} individual source: ${source} (${name}.${extension})")
+    ENDIF(LL_TEST_VERBOSE)
+
+    #
+    # Per-codefile additional / external source, header, and include dir property extraction
+    #
+    # Source
+    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_SOURCE_FILES ${source} LL_TEST_ADDITIONAL_SOURCE_FILES)
+    IF(${name}_test_additional_SOURCE_FILES MATCHES NOTFOUND)
+      SET(${name}_test_additional_SOURCE_FILES "")
+    ENDIF(${name}_test_additional_SOURCE_FILES MATCHES NOTFOUND)
+    SET(${name}_test_SOURCE_FILES ${source} tests/${name}_test.${extension} ${alltest_SOURCE_FILES} ${${name}_test_additional_SOURCE_FILES} )
+    IF(LL_TEST_VERBOSE)
+      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_SOURCE_FILES ${${name}_test_SOURCE_FILES}")
+    ENDIF(LL_TEST_VERBOSE)
+    # Headers
+    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_HEADER_FILES ${source} LL_TEST_ADDITIONAL_HEADER_FILES)
+    IF(${name}_test_additional_HEADER_FILES MATCHES NOTFOUND)
+      SET(${name}_test_additional_HEADER_FILES "")
+    ENDIF(${name}_test_additional_HEADER_FILES MATCHES NOTFOUND)
+    SET(${name}_test_HEADER_FILES ${name}.h ${${name}_test_additional_HEADER_FILES})
+    set_source_files_properties(${${name}_test_HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE)
+    LIST(APPEND ${name}_test_SOURCE_FILES ${${name}_test_HEADER_FILES})
+    IF(LL_TEST_VERBOSE)
+      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_HEADER_FILES ${${name}_test_HEADER_FILES}")
+    ENDIF(LL_TEST_VERBOSE)
+    # Include dirs
+    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_INCLUDE_DIRS ${source} LL_TEST_ADDITIONAL_INCLUDE_DIRS)
+    IF(${name}_test_additional_INCLUDE_DIRS MATCHES NOTFOUND)
+      SET(${name}_test_additional_INCLUDE_DIRS "")
+    ENDIF(${name}_test_additional_INCLUDE_DIRS MATCHES NOTFOUND)
+    INCLUDE_DIRECTORIES(${alltest_INCLUDE_DIRS} ${name}_test_additional_INCLUDE_DIRS )
+    IF(LL_TEST_VERBOSE)
+      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_INCLUDE_DIRS ${${name}_test_additional_INCLUDE_DIRS}")
+    ENDIF(LL_TEST_VERBOSE)
+
+
+    # Setup target
+    ADD_EXECUTABLE(PROJECT_${project}_TEST_${name} ${${name}_test_SOURCE_FILES})
+    SET_TARGET_PROPERTIES(PROJECT_${project}_TEST_${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
+
+    #
+    # Per-codefile additional / external project dep and lib dep property extraction
+    #
+    # WARNING: it's REALLY IMPORTANT to not mix these. I guarantee it will not work in the future. + poppy 2009-04-19
+    # Projects
+    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_PROJECTS ${source} LL_TEST_ADDITIONAL_PROJECTS)
+    IF(${name}_test_additional_PROJECTS MATCHES NOTFOUND)
+      SET(${name}_test_additional_PROJECTS "")
+    ENDIF(${name}_test_additional_PROJECTS MATCHES NOTFOUND)
+    # Libraries
+    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_LIBRARIES ${source} LL_TEST_ADDITIONAL_LIBRARIES)
+    IF(${name}_test_additional_LIBRARIES MATCHES NOTFOUND)
+      SET(${name}_test_additional_LIBRARIES "")
+    ENDIF(${name}_test_additional_LIBRARIES MATCHES NOTFOUND)
+    IF(LL_TEST_VERBOSE)
+      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_PROJECTS ${${name}_test_additional_PROJECTS}")
+      MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_LIBRARIES ${${name}_test_additional_LIBRARIES}")
+    ENDIF(LL_TEST_VERBOSE)
+    # Add to project
+    TARGET_LINK_LIBRARIES(PROJECT_${project}_TEST_${name} ${alltest_LIBRARIES} ${alltest_DEP_TARGETS} ${${name}_test_additional_PROJECTS} ${${name}_test_additional_LIBRARIES} )
+    # Compile-time Definitions
+    GET_SOURCE_FILE_PROPERTY(${name}_test_additional_CFLAGS ${source} LL_TEST_ADDITIONAL_CFLAGS)
+     IF(NOT ${name}_test_additional_CFLAGS MATCHES NOTFOUND)
+       SET_TARGET_PROPERTIES(PROJECT_${project}_TEST_${name} PROPERTIES COMPILE_FLAGS ${${name}_test_additional_CFLAGS} )
+       IF(LL_TEST_VERBOSE)
+         MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_CFLAGS ${${name}_test_additional_CFLAGS}")
+       ENDIF(LL_TEST_VERBOSE)
+     ENDIF(NOT ${name}_test_additional_CFLAGS MATCHES NOTFOUND)
+
+    #
+    # Setup test targets
+    #
+    GET_TARGET_PROPERTY(TEST_EXE PROJECT_${project}_TEST_${name} LOCATION)
+    SET(TEST_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/PROJECT_${project}_TEST_${name}_ok.txt)
+    SET(TEST_CMD ${TEST_EXE} --touch=${TEST_OUTPUT} --sourcedir=${CMAKE_CURRENT_SOURCE_DIR})
+
+    # daveh - what configuration does this use? Debug? it's cmake-time, not build time. + poppy 2009-04-19
+    IF(LL_TEST_VERBOSE)
+      MESSAGE(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_cmd  = ${TEST_CMD}")
+    ENDIF(LL_TEST_VERBOSE)
+
+    SET_TEST_PATH(LD_LIBRARY_PATH)
+    LL_TEST_COMMAND(TEST_SCRIPT_CMD "${LD_LIBRARY_PATH}" ${TEST_CMD})
+    IF(LL_TEST_VERBOSE)
+      MESSAGE(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_script  = ${TEST_SCRIPT_CMD}")
+    ENDIF(LL_TEST_VERBOSE)
+    # Add test
+    ADD_CUSTOM_COMMAND(
+        OUTPUT ${TEST_OUTPUT}
+        COMMAND ${TEST_SCRIPT_CMD}
+        DEPENDS PROJECT_${project}_TEST_${name}
+        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+        )
+    # Why not add custom target and add POST_BUILD command?
+    # Slightly less uncertain behavior
+    # (OUTPUT commands run non-deterministically AFAIK) + poppy 2009-04-19
+    # > I did not use a post build step as I could not make it notify of a
+    # > failure after the first time you build and fail a test. - daveh 2009-04-20
+    LIST(APPEND ${project}_TEST_OUTPUT ${TEST_OUTPUT})
+  ENDFOREACH (source)
+
+  # Add the test runner target per-project
+  # (replaces old _test_ok targets all over the place)
+  ADD_CUSTOM_TARGET(${project}_tests ALL DEPENDS ${${project}_TEST_OUTPUT})
+  ADD_DEPENDENCIES(${project} ${project}_tests)
+ENDMACRO(LL_ADD_PROJECT_UNIT_TESTS)
+
+FUNCTION(LL_ADD_INTEGRATION_TEST
+    testname
+    additional_source_files
+    library_dependencies
+# variable args
+    )
+  if(TEST_DEBUG)
+    message(STATUS "Adding INTEGRATION_TEST_${testname} - debug output is on")
+  endif(TEST_DEBUG)
+
+  SET(source_files
+    tests/${testname}_test.cpp
+    ${CMAKE_SOURCE_DIR}/test/test.cpp
+    ${CMAKE_SOURCE_DIR}/test/lltut.cpp
+    ${additional_source_files}
+    )
+
+  SET(libraries
+    ${library_dependencies}
+    ${GOOGLEMOCK_LIBRARIES}
+    ${PTHREAD_LIBRARY}
+    )
+
+  # Add test executable build target
+  if(TEST_DEBUG)
+    message(STATUS "ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})")
+  endif(TEST_DEBUG)
+  ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})
+  SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
+
+  # Add link deps to the executable
+  if(TEST_DEBUG)
+    message(STATUS "TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries})")
+  endif(TEST_DEBUG)
+  TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries})
+
+  # Create the test running command
+  SET(test_command ${ARGN})
+  GET_TARGET_PROPERTY(TEST_EXE INTEGRATION_TEST_${testname} LOCATION)
+  LIST(FIND test_command "{}" test_exe_pos)
+  IF(test_exe_pos LESS 0)
+    # The {} marker means "the full pathname of the test executable."
+    # test_exe_pos -1 means we didn't find it -- so append the test executable
+    # name to $ARGN, the variable part of the arg list. This is convenient
+    # shorthand for both straightforward execution of the test program (empty
+    # $ARGN) and for running a "wrapper" program of some kind accepting the
+    # pathname of the test program as the last of its args. You need specify
+    # {} only if the test program's pathname isn't the last argument in the
+    # desired command line.
+    LIST(APPEND test_command "${TEST_EXE}")
+  ELSE (test_exe_pos LESS 0)
+    # Found {} marker at test_exe_pos. Remove the {}...
+    LIST(REMOVE_AT test_command test_exe_pos)
+    # ...and replace it with the actual name of the test executable.
+    LIST(INSERT test_command test_exe_pos "${TEST_EXE}")
+  ENDIF (test_exe_pos LESS 0)
+
+  SET_TEST_PATH(LD_LIBRARY_PATH)
+  LL_TEST_COMMAND(TEST_SCRIPT_CMD "${LD_LIBRARY_PATH}" ${test_command})
+
+  if(TEST_DEBUG)
+    message(STATUS "TEST_SCRIPT_CMD: ${TEST_SCRIPT_CMD}")
+  endif(TEST_DEBUG)
+
+  ADD_CUSTOM_COMMAND(
+    TARGET INTEGRATION_TEST_${testname}
+    POST_BUILD
+    COMMAND ${TEST_SCRIPT_CMD}
+    )
+
+  # Use CTEST? Not sure how to yet...
+  # ADD_TEST(INTEGRATION_TEST_RUNNER_${testname} ${TEST_SCRIPT_CMD})
+
+ENDFUNCTION(LL_ADD_INTEGRATION_TEST)
+
+MACRO(SET_TEST_PATH LISTVAR)
+  IF(WINDOWS)
+    # We typically build/package only Release variants of third-party
+    # libraries, so append the Release staging dir in case the library being
+    # sought doesn't have a debug variant.
+    set(${LISTVAR} ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR} ${SHARED_LIB_STAGING_DIR}/Release)
+  ELSEIF(DARWIN)
+    # We typically build/package only Release variants of third-party
+    # libraries, so append the Release staging dir in case the library being
+    # sought doesn't have a debug variant.
+    set(${LISTVAR} ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/Resources ${SHARED_LIB_STAGING_DIR}/Release/Resources /usr/lib)
+  ELSE(WINDOWS)
+    # Linux uses a single staging directory anyway.
+    IF (STANDALONE)
+      set(${LISTVAR} ${CMAKE_BINARY_DIR}/llcommon /usr/lib /usr/local/lib)
+    ELSE (STANDALONE)
+      set(${LISTVAR} ${SHARED_LIB_STAGING_DIR} /usr/lib)
+    ENDIF (STANDALONE)
+  ENDIF(WINDOWS)
+ENDMACRO(SET_TEST_PATH)


Removed obsolete generation script.

Removed obsolete generation script.

--- scripts/regenerate_jni_headers.sh.cmake
+++ scripts/regenerate_jni_headers.sh.cmake
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-cd @CMAKE_SOURCE_DIR@/client/Android/FreeRDPCore/jni/generated/
-javah -classpath ../../bin/classes:@ANDROID_SDK@/platforms/android-8/android.jar -jni com.freerdp.freerdpcore.services.LibFreeRDP
-rm com_freerdp_freerdpcore_services_LibFreeRDP_EventListener.h \
-   com_freerdp_freerdpcore_services_LibFreeRDP_UIEventListener.h


* Replaced `DMRG_APPEND_LIBSUFFIX` with `DMRG_DEPS_IN_SUBDIR` to clarify intent
* Copy install manifests to ease uninstall process

Former-commit-id: 4b884a3646d056044b3a08979437dc707a1b4fa1


PhotoacousticsHardware Module should/can only be build on a system with the right hardware

--- CMake/BuildConfigurations/All.cmake
+++ CMake/BuildConfigurations/All.cmake
@@ -31,6 +31,7 @@
   SOFA_PLUGINS_DIR
   SUPERBUILD
   BiophotonicsHardware_SpectroCam
+  PhotoacousticsHardware
   POLHEMUS_TRACKER

   KWSTYLE


[Build] Added full support for SEvMgr, TraDemGen, TravelCCM, AirSched, AvlCal, SimFQT, SimLFS and SimCRS.

--- project_config_embeddable.cmake
+++ project_config_embeddable.cmake
@@ -590,6 +590,134 @@

 endmacro (get_stdair)

+# ~~~~~~~~~~ SEvMgr ~~~~~~~~~
+macro (get_sevmgr)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires SEvMgr-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires SEvMgr without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (SEvMgr ${_required_version} REQUIRED
+	HINTS ${WITH_SEVMGR_PREFIX})
+  if (SEvMgr_FOUND)
+    #
+    message (STATUS "Found SEvMgr version: ${SEVMGR_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${SEVMGR_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${SEVMGR_LIBRARIES})
+
+  else (SEvMgr_FOUND)
+    set (ERROR_MSG "The SEvMgr library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_SEVMGR_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<SEvMgr install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (SEvMgr_FOUND)
+
+endmacro (get_sevmgr)
+
+# ~~~~~~~~~~ TraDemGen ~~~~~~~~~
+macro (get_trademgen)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires TraDemGen-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires TraDemGen without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (TraDemGen ${_required_version} REQUIRED
+	HINTS ${WITH_TRADEMGEN_PREFIX})
+  if (TraDemGen_FOUND)
+    #
+    message (STATUS "Found TraDemGen version: ${TRADEMGEN_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${TRADEMGEN_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${TRADEMGEN_LIBRARIES})
+
+  else (TraDemGen_FOUND)
+    set (ERROR_MSG "The TraDemGen library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_TRADEMGEN_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<TraDemGen install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (TraDemGen_FOUND)
+
+endmacro (get_trademgen)
+
+# ~~~~~~~~~~ TravelCCM ~~~~~~~~~
+macro (get_travelccm)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires TravelCCM-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires TravelCCM without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (TravelCCM ${_required_version} REQUIRED
+	HINTS ${WITH_TRAVELCCM_PREFIX})
+  if (TravelCCM_FOUND)
+    #
+    message (STATUS "Found TravelCCM version: ${TRAVELCCM_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${TRAVELCCM_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${TRAVELCCM_LIBRARIES})
+
+  else (TravelCCM_FOUND)
+    set (ERROR_MSG "The TravelCCM library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_TRAVELCCM_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<TravelCCM install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (TravelCCM_FOUND)
+
+endmacro (get_travelccm)
+
+# ~~~~~~~~~~ AirSched ~~~~~~~~~
+macro (get_airsched)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires AirSched-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires AirSched without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (AirSched ${_required_version} REQUIRED
+	HINTS ${WITH_AIRSCHED_PREFIX})
+  if (AirSched_FOUND)
+    #
+    message (STATUS "Found AirSched version: ${AIRSCHED_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${AIRSCHED_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${AIRSCHED_LIBRARIES})
+
+  else (AirSched_FOUND)
+    set (ERROR_MSG "The AirSched library cannot be found. If it is installed")
+    set (ERROR_MSG "${ERROR_MSG} in a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_AIRSCHED_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<AirSched install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (AirSched_FOUND)
+
+endmacro (get_airsched)
+
 # ~~~~~~~~~~ AirRAC ~~~~~~~~~
 macro (get_airrac)
   unset (_required_version)
@@ -654,21 +782,21 @@

 endmacro (get_rmol)

-# ~~~~~~~~~~ Airinv ~~~~~~~~~
+# ~~~~~~~~~~ AirInv ~~~~~~~~~
 macro (get_airinv)
   unset (_required_version)
   if (${ARGC} GREATER 0)
     set (_required_version ${ARGV0})
-    message (STATUS "Requires Airinv-${_required_version}")
+    message (STATUS "Requires AirInv-${_required_version}")
   else (${ARGC} GREATER 0)
-    message (STATUS "Requires Airinv without specifying any version")
+    message (STATUS "Requires AirInv without specifying any version")
   endif (${ARGC} GREATER 0)

-  find_package (Airinv ${_required_version} REQUIRED
+  find_package (AirInv ${_required_version} REQUIRED
 	HINTS ${WITH_AIRINV_PREFIX})
-  if (Airinv_FOUND)
+  if (AirInv_FOUND)
     #
-    message (STATUS "Found Airinv version: ${AIRINV_VERSION}")
+    message (STATUS "Found AirInv version: ${AIRINV_VERSION}")

     # Update the list of include directories for the project
     include_directories (${AIRINV_INCLUDE_DIRS})
@@ -676,15 +804,143 @@
     # Update the list of dependencies for the project
     set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${AIRINV_LIBRARIES})

-  else (Airinv_FOUND)
-    set (ERROR_MSG "The Airinv library cannot be found. If it is installed in")
+  else (AirInv_FOUND)
+    set (ERROR_MSG "The AirInv library cannot be found. If it is installed in")
     set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
     set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_AIRINV_PREFIX=")
-    set (ERROR_MSG "${ERROR_MSG}<Airinv install path> variable.")
+    set (ERROR_MSG "${ERROR_MSG}<AirInv install path> variable.")
     message (FATAL_ERROR "${ERROR_MSG}")
-  endif (Airinv_FOUND)
+  endif (AirInv_FOUND)

 endmacro (get_airinv)
+
+# ~~~~~~~~~~ AvlCal ~~~~~~~~~
+macro (get_avlcal)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires AvlCal-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires AvlCal without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (AvlCal ${_required_version} REQUIRED
+	HINTS ${WITH_AVLCAL_PREFIX})
+  if (AvlCal_FOUND)
+    #
+    message (STATUS "Found AvlCal version: ${AVLCAL_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${AVLCAL_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${AVLCAL_LIBRARIES})
+
+  else (AvlCal_FOUND)
+    set (ERROR_MSG "The AvlCal library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_AVLCAL_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<AvlCal install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (AvlCal_FOUND)
+
+endmacro (get_avlcal)
+
+# ~~~~~~~~~~ SimFQT ~~~~~~~~~
+macro (get_simfqt)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires SimFQT-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires SimFQT without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (SimFQT ${_required_version} REQUIRED
+	HINTS ${WITH_SIMFQT_PREFIX})
+  if (SimFQT_FOUND)
+    #
+    message (STATUS "Found SimFQT version: ${SIMFQT_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${SIMFQT_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${SIMFQT_LIBRARIES})
+
+  else (SimFQT_FOUND)
+    set (ERROR_MSG "The SimFQT library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_SIMFQT_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<SimFQT install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (SimFQT_FOUND)
+
+endmacro (get_simfqt)
+
+# ~~~~~~~~~~ SimLFS ~~~~~~~~~
+macro (get_simlfs)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires SimLFS-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires SimLFS without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (SimLFS ${_required_version} REQUIRED
+	HINTS ${WITH_SIMLFS_PREFIX})
+  if (SimLFS_FOUND)
+    #
+    message (STATUS "Found SimLFS version: ${SIMLFS_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${SIMLFS_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${SIMLFS_LIBRARIES})
+
+  else (SimLFS_FOUND)
+    set (ERROR_MSG "The SimLFS library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_SIMLFS_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<SimLFS install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (SimLFS_FOUND)
+
+endmacro (get_simlfs)
+
+# ~~~~~~~~~~ SimCRS ~~~~~~~~~
+macro (get_simcrs)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires SimCRS-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires SimCRS without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (SimCRS ${_required_version} REQUIRED
+	HINTS ${WITH_SIMCRS_PREFIX})
+  if (SimCRS_FOUND)
+    #
+    message (STATUS "Found SimCRS version: ${SIMCRS_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${SIMCRS_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${SIMCRS_LIBRARIES})
+
+  else (SimCRS_FOUND)
+    set (ERROR_MSG "The SimCRS library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_SIMCRS_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<SimCRS install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (SimCRS_FOUND)
+
+endmacro (get_simcrs)

 ##############################################
@@ -1667,6 +1923,62 @@
   endif (StdAir_FOUND)
 endmacro (display_stdair)

+# SEvMgr
+macro (display_sevmgr)
+  if (SEvMgr_FOUND)
+    message (STATUS)
+    message (STATUS "* SEvMgr:")
+    message (STATUS "  - SEVMGR_VERSION ............. : ${SEVMGR_VERSION}")
+    message (STATUS "  - SEVMGR_BINARY_DIRS ......... : ${SEVMGR_BINARY_DIRS}")
+    message (STATUS "  - SEVMGR_EXECUTABLES ......... : ${SEVMGR_EXECUTABLES}")
+    message (STATUS "  - SEVMGR_LIBRARY_DIRS ........ : ${SEVMGR_LIBRARY_DIRS}")
+    message (STATUS "  - SEVMGR_LIBRARIES ........... : ${SEVMGR_LIBRARIES}")
+    message (STATUS "  - SEVMGR_INCLUDE_DIRS ........ : ${SEVMGR_INCLUDE_DIRS}")
+  endif (SEvMgr_FOUND)
+endmacro (display_sevmgr)
+
+# TraDemGen
+macro (display_trademgen)
+  if (TraDemGen_FOUND)
+    message (STATUS)
+    message (STATUS "* TraDemGen:")
+    message (STATUS "  - TRADEMGEN_VERSION .......... : ${TRADEMGEN_VERSION}")
+    message (STATUS "  - TRADEMGEN_BINARY_DIRS ...... : ${TRADEMGEN_BINARY_DIRS}")
+    message (STATUS "  - TRADEMGEN_EXECUTABLES ...... : ${TRADEMGEN_EXECUTABLES}")
+    message (STATUS "  - TRADEMGEN_LIBRARY_DIRS ..... : ${TRADEMGEN_LIBRARY_DIRS}")
+    message (STATUS "  - TRADEMGEN_LIBRARIES ........ : ${TRADEMGEN_LIBRARIES}")
+    message (STATUS "  - TRADEMGEN_INCLUDE_DIRS ..... : ${TRADEMGEN_INCLUDE_DIRS}")
+  endif (TraDemGen_FOUND)
+endmacro (display_trademgen)
+
+# TravelCCM
+macro (display_travelccm)
+  if (TravelCCM_FOUND)
+    message (STATUS)
+    message (STATUS "* TravelCCM:")
+    message (STATUS "  - TRAVELCCM_VERSION .......... : ${TRAVELCCM_VERSION}")
+    message (STATUS "  - TRAVELCCM_BINARY_DIRS ...... : ${TRAVELCCM_BINARY_DIRS}")
+    message (STATUS "  - TRAVELCCM_EXECUTABLES ...... : ${TRAVELCCM_EXECUTABLES}")
+    message (STATUS "  - TRAVELCCM_LIBRARY_DIRS ..... : ${TRAVELCCM_LIBRARY_DIRS}")
+    message (STATUS "  - TRAVELCCM_LIBRARIES ........ : ${TRAVELCCM_LIBRARIES}")
+    message (STATUS "  - TRAVELCCM_INCLUDE_DIRS ..... : ${TRAVELCCM_INCLUDE_DIRS}")
+  endif (TravelCCM_FOUND)
+endmacro (display_travelccm)
+
+# AirSched
+macro (display_airsched)
+  if (AirSched_FOUND)
+    message (STATUS)
+    message (STATUS "* AirSched:")
+    message (STATUS "  - AIRSCHED_VERSION ........... : ${AIRSCHED_VERSION}")
+    message (STATUS "  - AIRSCHED_BINARY_DIRS ....... : ${AIRSCHED_BINARY_DIRS}")
+    message (STATUS "  - AIRSCHED_EXECUTABLES ....... : ${AIRSCHED_EXECUTABLES}")
+    message (STATUS "  - AIRSCHED_LIBRARY_DIRS ...... : ${AIRSCHED_LIBRARY_DIRS}")
+    message (STATUS "  - AIRSCHED_LIBRARIES ......... : ${AIRSCHED_LIBRARIES}")
+    message (STATUS "  - AIRSCHED_INCLUDE_DIRS ...... : ${AIRSCHED_INCLUDE_DIRS}")
+  endif (AirSched_FOUND)
+endmacro (display_airsched)
+
 # AirRAC
 macro (display_airrac)
   if (AirRAC_FOUND)
@@ -1695,19 +2007,75 @@
   endif (RMOL_FOUND)
 endmacro (display_rmol)

-# Airinv
+# AirInv
 macro (display_airinv)
-  if (Airinv_FOUND)
+  if (AirInv_FOUND)
     message (STATUS)
-    message (STATUS "* Airinv:")
+    message (STATUS "* AirInv:")
     message (STATUS "  - AIRINV_VERSION ............. : ${AIRINV_VERSION}")
     message (STATUS "  - AIRINV_BINARY_DIRS ......... : ${AIRINV_BINARY_DIRS}")
     message (STATUS "  - AIRINV_EXECUTABLES ......... : ${AIRINV_EXECUTABLES}")
     message (STATUS "  - AIRINV_LIBRARY_DIRS ........ : ${AIRINV_LIBRARY_DIRS}")
     message (STATUS "  - AIRINV_LIBRARIES ........... : ${AIRINV_LIBRARIES}")
     message (STATUS "  - AIRINV_INCLUDE_DIRS ........ : ${AIRINV_INCLUDE_DIRS}")
-  endif (Airinv_FOUND)
+  endif (AirInv_FOUND)
 endmacro (display_airinv)
+
+# AvlCal
+macro (display_avlcal)
+  if (AvlCal_FOUND)
+    message (STATUS)
+    message (STATUS "* AvlCal:")
+    message (STATUS "  - AVLCAL_VERSION ............. : ${AVLCAL_VERSION}")
+    message (STATUS "  - AVLCAL_BINARY_DIRS ......... : ${AVLCAL_BINARY_DIRS}")
+    message (STATUS "  - AVLCAL_EXECUTABLES ......... : ${AVLCAL_EXECUTABLES}")
+    message (STATUS "  - AVLCAL_LIBRARY_DIRS ........ : ${AVLCAL_LIBRARY_DIRS}")
+    message (STATUS "  - AVLCAL_LIBRARIES ........... : ${AVLCAL_LIBRARIES}")
+    message (STATUS "  - AVLCAL_INCLUDE_DIRS ........ : ${AVLCAL_INCLUDE_DIRS}")
+  endif (AvlCal_FOUND)
+endmacro (display_avlcal)
+
+# SimFQT
+macro (display_simfqt)
+  if (SimFQT_FOUND)
+    message (STATUS)
+    message (STATUS "* SimFQT:")
+    message (STATUS "  - SIMFQT_VERSION ............. : ${SIMFQT_VERSION}")
+    message (STATUS "  - SIMFQT_BINARY_DIRS ......... : ${SIMFQT_BINARY_DIRS}")
+    message (STATUS "  - SIMFQT_EXECUTABLES ......... : ${SIMFQT_EXECUTABLES}")
+    message (STATUS "  - SIMFQT_LIBRARY_DIRS ........ : ${SIMFQT_LIBRARY_DIRS}")
+    message (STATUS "  - SIMFQT_LIBRARIES ........... : ${SIMFQT_LIBRARIES}")
+    message (STATUS "  - SIMFQT_INCLUDE_DIRS ........ : ${SIMFQT_INCLUDE_DIRS}")
+  endif (SimFQT_FOUND)
+endmacro (display_simfqt)
+
+# SimLFS
+macro (display_simlfs)
+  if (SimLFS_FOUND)
+    message (STATUS)
+    message (STATUS "* SimLFS:")
+    message (STATUS "  - SIMLFS_VERSION ............. : ${SIMLFS_VERSION}")
+    message (STATUS "  - SIMLFS_BINARY_DIRS ......... : ${SIMLFS_BINARY_DIRS}")
+    message (STATUS "  - SIMLFS_EXECUTABLES ......... : ${SIMLFS_EXECUTABLES}")
+    message (STATUS "  - SIMLFS_LIBRARY_DIRS ........ : ${SIMLFS_LIBRARY_DIRS}")
+    message (STATUS "  - SIMLFS_LIBRARIES ........... : ${SIMLFS_LIBRARIES}")
+    message (STATUS "  - SIMLFS_INCLUDE_DIRS ........ : ${SIMLFS_INCLUDE_DIRS}")
+  endif (SimLFS_FOUND)
+endmacro (display_simlfs)
+
+# SimCRS
+macro (display_simcrs)
+  if (SimCRS_FOUND)
+    message (STATUS)
+    message (STATUS "* SimCRS:")
+    message (STATUS "  - SIMCRS_VERSION ............. : ${SIMCRS_VERSION}")
+    message (STATUS "  - SIMCRS_BINARY_DIRS ......... : ${SIMCRS_BINARY_DIRS}")
+    message (STATUS "  - SIMCRS_EXECUTABLES ......... : ${SIMCRS_EXECUTABLES}")
+    message (STATUS "  - SIMCRS_LIBRARY_DIRS ........ : ${SIMCRS_LIBRARY_DIRS}")
+    message (STATUS "  - SIMCRS_LIBRARIES ........... : ${SIMCRS_LIBRARIES}")
+    message (STATUS "  - SIMCRS_INCLUDE_DIRS ........ : ${SIMCRS_INCLUDE_DIRS}")
+  endif (SimCRS_FOUND)
+endmacro (display_simcrs)

 ##
 macro (display_status_all_modules)
@@ -1793,9 +2161,17 @@
   display_mysql ()
   display_soci ()
   display_stdair ()
+  display_sevmgr ()
+  display_trademgen ()
+  display_travelccm ()
+  display_airsched ()
   display_airrac ()
   display_rmol ()
   display_airinv ()
+  display_avlcal ()
+  display_simfqt ()
+  display_simlfs ()
+  display_simcrs ()
   #
   message (STATUS)
   message (STATUS "Change a value with: cmake -D<Variable>=<Value>" )


NO-JIRA: [cmake] Remove C++ flags before running C compile tests

--- proton-c/bindings/cpp/cpp.cmake
+++ proton-c/bindings/cpp/cpp.cmake
@@ -63,6 +63,7 @@
     cxx_test("#include <thread>\nstd::thread t; int main(int, char**) { return 0; }" STD_THREAD)
     cxx_test("#include <mutex>\nstd::mutex m; int main(int, char**) { return 0; }" STD_MUTEX)
     cxx_test("#include <atomic>\nstd::atomic<int> a; int main(int, char**) { return 0; }" STD_ATOMIC)
+    unset(CMAKE_REQUIRED_FLAGS) # Don't contaminate later C tests with C++ flags
   endif()
 endmacro()


MOD: Install headers for loadable modules. See: http://www.cegui.org.uk/mantis/view.php?id=724

--- cmake/CEGUIMacros.cmake
+++ cmake/CEGUIMacros.cmake
@@ -186,11 +186,7 @@

     include_directories("${CMAKE_SOURCE_DIR}/${_REL_INC_DIR}")

-    if (${_IS_MODULE})
-        set (_LIB_TYPE MODULE)
-    else()
-        set (_LIB_TYPE SHARED)
-    endif()
+    set (_LIB_TYPE SHARED)

     ###########################################################################
     #                       STATIC LIBRARY SET UP
@@ -272,7 +268,7 @@
 # to (except in static builds)
 #
 macro (cegui_add_loadable_module _MODULE_NAME _SOURCE_FILES_VAR _HEADER_FILES_VAR)
-    cegui_add_library_impl(${_MODULE_NAME} TRUE ${_SOURCE_FILES_VAR} ${_HEADER_FILES_VAR} TRUE FALSE)
+    cegui_add_library_impl(${_MODULE_NAME} TRUE ${_SOURCE_FILES_VAR} ${_HEADER_FILES_VAR} TRUE TRUE)
 endmacro()

 #


Clang format handling of subdirectories fixed.

--- cmake/ClangFormat.cmake
+++ cmake/ClangFormat.cmake
@@ -1,15 +1,16 @@

-find_program(CLANG_FORMAT_EXE clang-format DOC "Clang Format executable")
+find_program(CLANG_FORMAT clang-format DOC "Clang Format executable")

-if( CLANG_FORMAT_EXE )
-    set(FORMAT_SOURCE_DIRS demos include src test tests)
+if( CLANG_FORMAT )

-    add_custom_target(format
-                        find ${FORMAT_SOURCE_DIRS} -name "*.h" -o -name "*.cpp" | xargs
-                            ${CLANG_FORMAT_EXE} -i ${FORMAT_SOURCES}
-                        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
-                        COMMENT "Formatting Code"
-                        VERBATIM
-                        )
+    file(GLOB_RECURSE FORMAT_SRC_FILES
+            "${PROJECT_SOURCE_DIR}/include/**.h"
+            "${PROJECT_SOURCE_DIR}/src/**.h"
+            "${PROJECT_SOURCE_DIR}/src/**.cpp"
+            "${PROJECT_SOURCE_DIR}/test/**.h"
+            "${PROJECT_SOURCE_DIR}/test/**.cpp"
+            )
+
+    add_custom_target(clang-format COMMAND ${CLANG_FORMAT} -i ${FORMAT_SRC_FILES})
 endif()


fixed typo in cmake/build_rules.cmake

fixed typo in cmake/build_rules.cmake

--- cmake/build_rules.cmake
+++ cmake/build_rules.cmake
@@ -16,7 +16,7 @@
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -Wall")
 ELSEIF (CPP_LANGUAGE_VERSION STREQUAL "98")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -Wall")
-ENDIF ( STREQUAL "0x")
+ENDIF (CPP_LANGUAGE_VERSION STREQUAL "0x")

 if(CMAKE_COMPILER_IS_GNUCXX)
 set( CMAKE_BUILD_WITH_INSTALL_RPATH FALSE )


Fix CMake version info bad quoting (#501)

* Fix quote escaping in commit message

* This is a "Test
message"

* Update to latest cmake-git-version-tracking git_watcher cmake file

Listed permalink to make it easier to diff any future changes

--- cmake/git_watcher.cmake
+++ cmake/git_watcher.cmake
@@ -1,5 +1,5 @@
 # git_watcher.cmake
-# https://raw.githubusercontent.com/andrew-hardin/cmake-git-version-tracking/master/git_watcher.cmake
+# https://github.com/andrew-hardin/cmake-git-version-tracking/blob/20c58d5d08bad70550d969b478943c962faa6264/git_watcher.cmake
 #
 # Released under the MIT License.
 # https://raw.githubusercontent.com/andrew-hardin/cmake-git-version-tracking/master/LICENSE
@@ -158,6 +158,7 @@

     RunGitCommand(show -s "--format=%s" ${object})
     if(exit_code EQUAL 0)
+        # Escape quotes
         string(REPLACE "\"" "\\\"" output "${output}")
         set(ENV{GIT_COMMIT_SUBJECT} "${output}")
     endif()
@@ -165,6 +166,8 @@
     RunGitCommand(show -s "--format=%b" ${object})
     if(exit_code EQUAL 0)
         if(output)
+            # Escape quotes
+            string(REPLACE "\"" "\\\"" output "${output}")
             # Escape line breaks in the commit message.
             string(REPLACE "\r\n" "\\r\\n\\\r\n" safe "${output}")
             if(safe STREQUAL output)
@@ -178,6 +181,14 @@
         set(ENV{GIT_COMMIT_BODY} "\"${safe}\"")
     else()
         set(ENV{GIT_COMMIT_BODY} "\"\"") # empty string.
+    endif()
+
+    # Get output of git describe
+    RunGitCommand(describe --always ${object})
+    if(NOT exit_code EQUAL 0)
+        set(ENV{GIT_DESCRIBE} "unknown")
+    else()
+        set(ENV{GIT_DESCRIBE} "${output}")
     endif()

     # >>>


Add single install target to make release symlinks. (#186)

--- cmake/layers/ufid.cmake
+++ cmake/layers/ufid.cmake
@@ -184,5 +184,12 @@
             COMPONENT "${uorName}-release-symlink"
             EXCLUDE_FROM_ALL
         )
+        install(
+            CODE
+                "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \
+                ${symlinkVal} ${symlinkReleaseFile})"
+            COMPONENT "release-symlink"
+            EXCLUDE_FROM_ALL
+        )
     endif()
 endfunction()


[VTA] Infinite recursive device_api.ext_dev call fix (#7985)

#3843 fixed the infinite recursive call for the Xilinx boards, but didn't fix it for the intel boards. This fixes it for the DE10 (same missing symbol problem with same fix).

--- cmake/modules/VTA.cmake
+++ cmake/modules/VTA.cmake
@@ -103,7 +103,8 @@
       # Rules for Pynq v2.4
       find_library(__cma_lib NAMES cma PATH /usr/lib)
     elseif(${VTA_TARGET} STREQUAL "de10nano")  # DE10-Nano rules
-      file(GLOB FPGA_RUNTIME_SRCS ${VTA_HW_PATH}/src/de10nano/*.cc ${VTA_HW_PATH}/src/*.cc)
+      file(GLOB DE10_FPGA_RUNTIME_SRCS ${VTA_HW_PATH}/src/de10nano/*.cc ${VTA_HW_PATH}/src/*.cc)
+      list(APPEND FPGA_RUNTIME_SRCS ${DE10_FPGA_RUNTIME_SRCS})
     elseif(${VTA_TARGET} STREQUAL "intelfocl")  # Intel OpenCL for FPGA rules
       file(GLOB FOCL_SRC ${VTA_HW_PATH}/src/oclfpga/*.cc)
       list(APPEND FPGA_RUNTIME_SRCS ${FOCL_SRC})


add support for GTest where libraries are not build (Ubuntu Precis and above)

--- cmake/tools/gtest.cmake
+++ cmake/tools/gtest.cmake
@@ -26,10 +26,20 @@
 # POSSIBILITY OF SUCH DAMAGE.
 #

+if (CATKIN_GTEST_SRC_FOUND)
+  return()
+endif()
+
 find_package(GTest QUIET)
 set(GTEST_FOUND ${GTEST_FOUND} CACHE INTERNAL "")
 if(NOT GTEST_FOUND)
-  message(WARNING "GTest not found; C++ tests will fail to build.")
+  if (EXISTS "/usr/src/gtest")
+    # for now, this would only work on Ubuntu
+    add_subdirectory("/usr/src/gtest/" ${CMAKE_BINARY_DIR}/gtest)
+    set(CATKIN_GTEST_SRC_FOUND TRUE)
+  else()
+    message(WARNING "GTest not found; C++ tests will fail to build.")
+  endif()
 else()
   message(STATUS "Found gtest: gtests will be built.")
   set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} CACHE INTERNAL "")
@@ -38,4 +48,3 @@
   set(GTEST_BOTH_LIBRARIES ${GTEST_BOTH_LIBRARIES} CACHE INTERNAL "")
   set(GTEST_FOUND ${GTEST_FOUND} CACHE INTERNAL "")
 endif()
-


update and merge from master

update and merge from master

--- cmake/OpenSimMacros.cmake
+++ cmake/OpenSimMacros.cmake
@@ -37,11 +37,10 @@

     STRING(TOUPPER "${OSIMADDLIB_KIT}" OSIMADDLIB_UKIT)

-
+
     # Version stuff.
     # --------------
     SET(OSIMADDLIB_LIBRARY_NAME osim${OSIMADDLIB_KIT})
-    SET(COPYRIGHT_YEARS "2005-14")

     ADD_DEFINITIONS(
         -DOPENSIM_${OSIMADDLIB_UKIT}_LIBRARY_NAME=${OSIMADDLIB_LIBRARY_NAME}
@@ -52,24 +51,29 @@
         -DOPENSIM_${OSIMADDLIB_UKIT}_AUTHORS="${AUTHORS}"
         -DOPENSIM_${OSIMADDLIB_UKIT}_TYPE="Shared"
         )
-
+

     # Add the library.
     # ----------------
+    # These next few lines are the most important:
+    # Specify the directories in OpenSim that contain header files.
     INCLUDE_DIRECTORIES(${OpenSim_SOURCE_DIR}/Vendors ${OpenSim_SOURCE_DIR})
-
-    ADD_LIBRARY(osim${OSIMADDLIB_KIT} SHARED
-        ${OSIMADDLIB_SOURCES} ${OSIMADDLIB_INCLUDES})

-    TARGET_LINK_LIBRARIES(osim${OSIMADDLIB_KIT} ${OSIMADDLIB_LINKLIBS})
-
+    # Create the library using the provided source and include files.
+    ADD_LIBRARY(${OSIMADDLIB_LIBRARY_NAME} SHARED
+        ${OSIMADDLIB_SOURCES} ${OSIMADDLIB_INCLUDES})
+
+    # This target links to the libraries provided as arguments to this func.
+    TARGET_LINK_LIBRARIES(${OSIMADDLIB_LIBRARY_NAME} ${OSIMADDLIB_LINKLIBS})
+
+    # This is for exporting classes on Windows.
     SET(EXPORT_MACRO OSIM${OSIMADDLIB_UKIT}_EXPORTS)
-    SET_TARGET_PROPERTIES(osim${OSIMADDLIB_KIT} PROPERTIES
+    SET_TARGET_PROPERTIES(${OSIMADDLIB_LIBRARY_NAME} PROPERTIES
        DEFINE_SYMBOL ${EXPORT_MACRO}
-       PROJECT_LABEL "Libraries - osim${OSIMADDLIB_KIT}"
+       PROJECT_LABEL "Libraries - ${OSIMADDLIB_LIBRARY_NAME}"
     )
-
-
+
+
     # Install.
     # --------
     # Shared libraries are needed at runtime for applications, so we put them
@@ -77,14 +81,14 @@
     # (Linux) or OpemSim/lib/*.dylib (Mac). Windows .lib files, and Linux/Mac
     # .a static archives are only needed at link time so go in sdk/lib.
     IF(WIN32)
-        SET(OSIMLIB_LIBRARY_DESTINATION sdk/lib)
+        SET(OSIMADDLIB_LIBRARY_DESTINATION sdk/lib)
     ELSE()
-        SET(OSIMLIB_LIBRARY_DESTINATION lib)
+        SET(OSIMADDLIB_LIBRARY_DESTINATION lib)
     ENDIF()
-    INSTALL(TARGETS osim${OSIMADDLIB_KIT}
+    INSTALL(TARGETS ${OSIMADDLIB_LIBRARY_NAME}
         EXPORT OpenSimTargets
         RUNTIME DESTINATION bin
-        LIBRARY DESTINATION "${OSIMLIB_LIBRARY_DESTINATION}"
+        LIBRARY DESTINATION "${OSIMADDLIB_LIBRARY_DESTINATION}"
         ARCHIVE DESTINATION sdk/lib)

     # Install headers.
@@ -100,21 +104,21 @@
             DESTINATION sdk/include/OpenSim/${OSIMADDLIB_KIT})
     ENDIF()

-
+
     # Testing.
     # --------
     ENABLE_TESTING()
-
-    IF (EXECUTABLE_OUTPUT_PATH)
-      SET (TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
-    ELSE (EXECUTABLE_OUTPUT_PATH)
-      SET (TEST_PATH .)
-    ENDIF (EXECUTABLE_OUTPUT_PATH)
+
+    IF(EXECUTABLE_OUTPUT_PATH)
+        SET(TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
+    ELSE()
+        SET(TEST_PATH .)
+    ENDIF()

     IF(BUILD_TESTING)
         FOREACH(OSIMADDLIB_TESTDIR ${OSIMADDLIB_TESTDIRS})
             SUBDIRS("${OSIMADDLIB_TESTDIR}")
         ENDFOREACH()
-    ENDIF(BUILD_TESTING)
+    ENDIF()

 ENDFUNCTION()


fixed wrong macro names for detect CUDA cmake

--- cmake/V4RDetectCUDA.cmake
+++ cmake/V4RDetectCUDA.cmake
@@ -167,7 +167,7 @@

   mark_as_advanced(CUDA_BUILD_CUBIN CUDA_BUILD_EMULATION CUDA_VERBOSE_BUILD CUDA_SDK_ROOT_DIR)

-  macro(ocv_cuda_compile VAR)
+  macro(v4r_cuda_compile VAR)
     foreach(var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG)
       set(${var}_backup_in_cuda_compile_ "${${var}}")

@@ -205,7 +205,7 @@

     # disabled because of multiple warnings during building nvcc auto generated files
     if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_GCC_REGEX_VERSION VERSION_GREATER "4.6.0")
-      ocv_warnings_disable(CMAKE_CXX_FLAGS -Wunused-but-set-variable)
+      v4r_warnings_disable(CMAKE_CXX_FLAGS -Wunused-but-set-variable)
     endif()

     CUDA_COMPILE(${VAR} ${ARGN})
@@ -245,16 +245,16 @@
   link_directories(${CUDA_LIBS_PATH})

   set(CUDA_LIBRARIES_ABS ${CUDA_LIBRARIES})
-  ocv_convert_to_lib_name(CUDA_LIBRARIES ${CUDA_LIBRARIES})
+  v4r_convert_to_lib_name(CUDA_LIBRARIES ${CUDA_LIBRARIES})
   set(CUDA_npp_LIBRARY_ABS ${CUDA_npp_LIBRARY})
-  ocv_convert_to_lib_name(CUDA_npp_LIBRARY ${CUDA_npp_LIBRARY})
+  v4r_convert_to_lib_name(CUDA_npp_LIBRARY ${CUDA_npp_LIBRARY})
   if(HAVE_CUBLAS)
     set(CUDA_cublas_LIBRARY_ABS ${CUDA_cublas_LIBRARY})
-    ocv_convert_to_lib_name(CUDA_cublas_LIBRARY ${CUDA_cublas_LIBRARY})
+    v4r_convert_to_lib_name(CUDA_cublas_LIBRARY ${CUDA_cublas_LIBRARY})
   endif()

   if(HAVE_CUFFT)
     set(CUDA_cufft_LIBRARY_ABS ${CUDA_cufft_LIBRARY})
-    ocv_convert_to_lib_name(CUDA_cufft_LIBRARY ${CUDA_cufft_LIBRARY})
-  endif()
-endif()
+    v4r_convert_to_lib_name(CUDA_cufft_LIBRARY ${CUDA_cufft_LIBRARY})
+  endif()
+endif()


remove version change

remove version change

--- cmake/external/grpc.cmake
+++ cmake/external/grpc.cmake
@@ -33,7 +33,7 @@
     extern_grpc
     DEPENDS protobuf zlib
     GIT_REPOSITORY "https://github.com/grpc/grpc.git"
-    GIT_TAG "v1.8.x"
+    GIT_TAG "v1.10.x"
     PREFIX          ${GRPC_SOURCES_DIR}
     UPDATE_COMMAND  ""
     CONFIGURE_COMMAND ""


If user requests to use prebuilt llvm but prebuilt is the wrong hash then fail (#4936)

--- cmake/external/llvm.cmake
+++ cmake/external/llvm.cmake
@@ -51,6 +51,9 @@
 endif()

 if(NEED_TO_BUILD_LLVM)
+    if (NGRAPH_USE_PREBUILT_LLVM)
+        message(FATAL_ERROR "LLVM: prebuilt is the wrong hash, expected ${LLVM_COMMIT_ID}")
+    endif()
     if(NOT NGRAPH_OVERWRITE_LLVM_ROOT)
         message(FATAL_ERROR "nGraph is not allowed overwrite contents at LLVM_ROOT: ${LLVM_ROOT} "
             "Set NGRAPH_OVERWRITE_LLVM_ROOT to ON if you would like to overwrite.")


Tweak the wincairo message to remove the WARNING label from it since this is
just an informational message concerning a condition (this is not a Windows
platform) which the user can do nothing about on that platform.

We should also systematically drop the WARNING label from messages on other
platforms as well if they are just informational. Thus, WARNING messages
should be reserved for something the user has control over such as
downloading/installing more software.  The ideal here is no WARNING messages
at all for fully loaded systems.  With this change we have reestablished
that ideal on Linux, but this needs to be checked for other platforms as
well.

svn path=/trunk/; revision=10912

--- cmake/modules/cairo.cmake
+++ cmake/modules/cairo.cmake
@@ -174,7 +174,7 @@

 if(NOT WIN32)
   message(STATUS
-    "WARNING: Not a Windows platform so setting wincairo driver to OFF."
-  )
+    "Not a Windows platform so setting wincairo driver to OFF."
+    )
   set(PLD_wincairo OFF CACHE BOOL "Enable wincairo device" FORCE)
 endif(NOT WIN32)


Whitespace changes as per emacs CMake mode.

Additional location output if qhull library is found.

svn path=/trunk/; revision=9224

--- cmake/modules/csiro.cmake
+++ cmake/modules/csiro.cmake
@@ -41,29 +41,29 @@
   if(NOT DEFINED NaNAwareCCompiler)
     message(STATUS "Check for NaN awareness in C compiler")
     try_run(NaNAwareCCompiler COMPILE_RESULT
-    ${CMAKE_BINARY_DIR}
-    ${CMAKE_SOURCE_DIR}/cmake/modules/TestNaNAware.c
-    CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${NAN_CFLAGS} -I${CMAKE_SOURCE_DIR}/lib/csa"
-    OUTPUT_VARIABLE OUTPUT
-    )
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_SOURCE_DIR}/cmake/modules/TestNaNAware.c
+      CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${NAN_CFLAGS} -I${CMAKE_SOURCE_DIR}/lib/csa"
+      OUTPUT_VARIABLE OUTPUT
+      )
     if(NOT COMPILE_RESULT)
       set(NaNAwareCCompiler ${COMPILE_RESULT})
     endif(NOT COMPILE_RESULT)
     if(NaNAwareCCompiler)
       message(STATUS "Check for NaN awareness in C compiler - found")
       file(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeOutput.log
-      "Determining whether C compiler is NaN aware succeeded with "
-      "the following output:\n${OUTPUT}\n\n"
-      )
+	"Determining whether C compiler is NaN aware succeeded with "
+	"the following output:\n${OUTPUT}\n\n"
+	)
     else(NaNAwareCCompiler)
       message(STATUS "Check for NaN awareness in C compiler - not found")
       message(STATUS "WARNING: Setting HAVE_QHULL and WITH_CSA to OFF.")
       set(HAVE_QHULL OFF CACHE BOOL "Enable use of the Qhull library" FORCE)
       set(WITH_CSA OFF CACHE BOOL "Enable use of the csa library" FORCE)
       file(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
-      "Determining whether C compiler is NaN aware failed with "
-      "the following output:\n${OUTPUT}\n\n"
-      )
+	"Determining whether C compiler is NaN aware failed with "
+	"the following output:\n${OUTPUT}\n\n"
+	)
     endif(NaNAwareCCompiler)
   endif(NOT DEFINED NaNAwareCCompiler)
 endif(HAVE_QHULL OR WITH_CSA)
@@ -75,14 +75,17 @@
     set(CMAKE_REQUIRED_LIBRARIES ${QHULL_LIBRARIES})
     check_function_exists(qh_new_qhull QH_NEW_EXIST)
     set(CMAKE_REQUIRED_LIBRARIES)
-    if(NOT QH_NEW_EXIST)
+    if(QH_NEW_EXIST)
+      message(STATUS "QHULL_INCLUDE_DIRS = ${QHULL_INCLUDE_DIRS}")
+      message(STATUS "QHULL_LIBRARIES = ${QHULL_LIBRARIES}")
+    else(QH_NEW_EXIST)
       message(STATUS "WARNING: function qh_new_qhull not found.  Setting HAVE_QHULL to OFF.")
       set(HAVE_QHULL OFF CACHE BOOL "Enable use of the Qhull library" FORCE)
-    endif(NOT QH_NEW_EXIST)
+    endif(QH_NEW_EXIST)
   else(QHULL_FOUND)
     message(STATUS
-    "WARNING: qhull library not found.  Setting HAVE_QHULL to OFF."
-    )
+      "WARNING: qhull library not found.  Setting HAVE_QHULL to OFF."
+      )
     set(HAVE_QHULL OFF CACHE BOOL "Enable use of the Qhull library" FORCE)
   endif(QHULL_FOUND)
 endif(HAVE_QHULL)


updated STIR tag

updated STIR tag

--- version_config.cmake
+++ version_config.cmake
@@ -2,8 +2,8 @@
 # Author: Edoardo Pasca
 # Author: Benjamin A Thomas
 # Author: Kris Thielemans
-# Copyright 2017 University College London
-# Copyright 2017 Science Technology Facilities Council
+# Copyright 2017-2018 University College London
+# Copyright 2017-2018 Science Technology Facilities Council
 #
 # This file is part of the CCP PETMR Synergistic Image Reconstruction Framework (SIRF) SuperBuild.
 #
@@ -120,7 +120,7 @@

   ## STIR
   set(DEFAULT_STIR_URL https://github.com/UCL/STIR )
-  set(DEFAULT_STIR_TAG 36200d37f83a9487a6eb3929b007967907910948 )
+  set(DEFAULT_STIR_TAG 5710d438090a972bd7b0636ff6de5315519b78e9 )

   ## Gadgetron
   set(DEFAULT_Gadgetron_URL https://github.com/gadgetron/gadgetron )


Removed berkeleydb.

Removed berkeleydb.

--- FindBerkeleyDB.cmake
+++ FindBerkeleyDB.cmake
@@ -1,156 +0,0 @@
-#---------------------------------------------------------------------------------------------------
-#
-#  Copyright (C) 2009  Artem Rodygin
-#
-#  This program is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation, either version 3 of the License, or
-#  (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-#---------------------------------------------------------------------------------------------------
-#
-#  This module finds if C API of Berkeley DB is installed and determines where required
-#  include files and libraries are. The module sets the following variables:
-#
-#    BerkeleyDB_FOUND         - system has Berkeley DB
-#    BerkeleyDB_INCLUDE_DIR   - the Berkeley DB include directory
-#    BerkeleyDB_LIBRARIES     - the libraries needed to use Berkeley DB
-#    BerkeleyDB_VERSION       - Berkeley DB full version information string
-#    BerkeleyDB_VERSION_MAJOR - the major version of the Berkeley DB release
-#    BerkeleyDB_VERSION_MINOR - the minor version of the Berkeley DB release
-#    BerkeleyDB_VERSION_PATCH - the patch version of the Berkeley DB release
-#
-#  You can help the module to find Berkeley DB by specifying its root path
-#  in environment variable named "DBROOTDIR". If this variable is not set
-#  then module will search for files in default path as following:
-#
-#    CMAKE_HOST_WIN32 - "C:\Program Files\Oracle\Berkeley DB.X.Y"
-#    CMAKE_HOST_UNIX  - "/usr/local/BerkeleyDB.X.Y", "/usr/local", "/usr"
-#
-#---------------------------------------------------------------------------------------------------
-
-set(BerkeleyDB_FOUND TRUE)
-
-# set the search path
-
-if (WIN32)
-    file(GLOB BerkeleyDB_SEARCH_PATH "C:/Program Files/Oracle/Berkeley DB*")
-    if (NOT BerkeleyDB_SEARCH_PATH)
-    file(GLOB BerkeleyDB_SEARCH_PATH "C:/Program Files (x86)/Oracle/Berkeley DB*")
-    endif (NOT BerkeleyDB_SEARCH_PATH)
-else (WIN32)
-    file(GLOB BerkeleyDB_SEARCH_PATH "/usr/local/BerkeleyDB*")
-endif (WIN32)
-
-file(TO_CMAKE_PATH "$ENV{DBROOTDIR}" DBROOTDIR)
-
-# search for header
-
-find_path(BerkeleyDB_INCLUDE_DIR
-          NAMES "db.h"
-          PATHS "${BerkeleyDB_SEARCH_PATH}"
-                "/usr/local"
-                "/usr"
-		“/opt/local”
-          ENV DBROOTDIR
-          PATH_SUFFIXES "include")
-
-# header is found
-
-if (BerkeleyDB_INCLUDE_DIR)
-
-    # retrieve version information from the header
-    file(READ "${BerkeleyDB_INCLUDE_DIR}/db.h" DB_H_FILE)
-
-    string(REGEX REPLACE ".*#define[ \t]+DB_VERSION_STRING[ \t]+\"([^\"]+)\".*" "\\1" BerkeleyDB_VERSION       "${DB_H_FILE}")
-    string(REGEX REPLACE ".*#define[ \t]+DB_VERSION_MAJOR[ \t]+([0-9]+).*"      "\\1" BerkeleyDB_VERSION_MAJOR "${DB_H_FILE}")
-    string(REGEX REPLACE ".*#define[ \t]+DB_VERSION_MINOR[ \t]+([0-9]+).*"      "\\1" BerkeleyDB_VERSION_MINOR "${DB_H_FILE}")
-    string(REGEX REPLACE ".*#define[ \t]+DB_VERSION_PATCH[ \t]+([0-9]+).*"      "\\1" BerkeleyDB_VERSION_PATCH "${DB_H_FILE}")
-
-    # search for library
-    if (WIN32)
-
-        file(GLOB BerkeleyDB_LIBRARIES
-             "${DBROOTDIR}/lib/libdb${BerkeleyDB_VERSION_MAJOR}${BerkeleyDB_VERSION_MINOR}.lib"
-             "${BerkeleyDB_SEARCH_PATH}/lib/libdb${BerkeleyDB_VERSION_MAJOR}${BerkeleyDB_VERSION_MINOR}.lib")
-
-    else (WIN32)
-
-        find_library(BerkeleyDB_LIBRARIES
-                     NAMES "libdb-${BerkeleyDB_VERSION_MAJOR}.${BerkeleyDB_VERSION_MINOR}.so"
-                     PATHS "${BerkeleyDB_SEARCH_PATH}"
-                     ENV DBROOTDIR
-                     PATH_SUFFIXES "lib")
-
-    endif (WIN32)
-
-endif (BerkeleyDB_INCLUDE_DIR)
-
-# header is not found
-
-if (NOT BerkeleyDB_INCLUDE_DIR)
-    set(BerkeleyDB_FOUND FALSE)
-endif (NOT BerkeleyDB_INCLUDE_DIR)
-
-# library is not found
-
-if (NOT BerkeleyDB_LIBRARIES)
-    set(BerkeleyDB_FOUND FALSE)
-endif (NOT BerkeleyDB_LIBRARIES)
-
-# set default error message
-
-if (BerkeleyDB_FIND_VERSION)
-    set(BerkeleyDB_ERROR_MESSAGE "Unable to find Berkeley DB library v${BerkeleyDB_FIND_VERSION}")
-else (BerkeleyDB_FIND_VERSION)
-    set(BerkeleyDB_ERROR_MESSAGE "Unable to find Berkeley DB library")
-endif (BerkeleyDB_FIND_VERSION)
-
-# check found version
-
-if (BerkeleyDB_FIND_VERSION AND BerkeleyDB_FOUND)
-
-    set(BerkeleyDB_FOUND_VERSION "${BerkeleyDB_VERSION_MAJOR}.${BerkeleyDB_VERSION_MINOR}.${BerkeleyDB_VERSION_PATCH}")
-
-    if (BerkeleyDB_FIND_VERSION_EXACT)
-        if (NOT ${BerkeleyDB_FOUND_VERSION} VERSION_EQUAL ${BerkeleyDB_FIND_VERSION})
-            set(BerkeleyDB_FOUND FALSE)
-        endif (NOT ${BerkeleyDB_FOUND_VERSION} VERSION_EQUAL ${BerkeleyDB_FIND_VERSION})
-    else (BerkeleyDB_FIND_VERSION_EXACT)
-        if (${BerkeleyDB_FOUND_VERSION} VERSION_LESS ${BerkeleyDB_FIND_VERSION})
-            set(BerkeleyDB_FOUND FALSE)
-        endif (${BerkeleyDB_FOUND_VERSION} VERSION_LESS ${BerkeleyDB_FIND_VERSION})
-    endif (BerkeleyDB_FIND_VERSION_EXACT)
-
-    if (NOT BerkeleyDB_FOUND)
-        set(BerkeleyDB_ERROR_MESSAGE "Unable to find Berkeley DB library v${BerkeleyDB_FIND_VERSION} (${BerkeleyDB_FOUND_VERSION} was found)")
-    endif (NOT BerkeleyDB_FOUND)
-
-endif (BerkeleyDB_FIND_VERSION AND BerkeleyDB_FOUND)
-
-# final status messages
-
-if (BerkeleyDB_FOUND)
-
-    if (NOT BerkeleyDB_FIND_QUIETLY)
-        message(STATUS ${BerkeleyDB_VERSION})
-    endif (NOT BerkeleyDB_FIND_QUIETLY)
-
-    mark_as_advanced(BerkeleyDB_INCLUDE_DIR
-                     BerkeleyDB_LIBRARIES)
-
-else (BerkeleyDB_FOUND)
-
-    if (BerkeleyDB_FIND_REQUIRED)
-        message(SEND_ERROR "${BerkeleyDB_ERROR_MESSAGE}")
-    endif (BerkeleyDB_FIND_REQUIRED)
-
-endif (BerkeleyDB_FOUND)


CodeGenerator: Order variable declaration

Change-Id: Ib0a2129357814f7e4e3de4488ae96a8ddea32ee0

--- CMake/CodeGenerator.cmake
+++ CMake/CodeGenerator.cmake
@@ -380,6 +380,7 @@
   set(exec_prefix "\${prefix}")
   set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
   set(includedir "\${prefix}/${INCLUDE_PREFIX}")
+  set (requires ${requires} ${PARAM_SERVER_IMPL_LIB_PKGCONFIG_EXTRA_REQUIRES})

   execute_code_generator (OUTPUT_VARIABLE PROCESSOR_OUTPUT
     EXEC_PARAMS ${KTOOL_PROCESSOR_LINE}
@@ -392,7 +393,6 @@
     string(REPLACE "\n" ";" PROCESSOR_OUTPUT ${PROCESSOR_OUTPUT})
   endif()

-  set (requires ${requires} ${PARAM_SERVER_IMPL_LIB_PKGCONFIG_EXTRA_REQUIRES})
   foreach (_FILE ${PROCESSOR_OUTPUT})
     if (${_FILE} MATCHES "${PROCESSED_PREFIX}.*")
       string(REPLACE ${PROCESSED_PREFIX} "" _FILE ${_FILE})


fix indent

fix indent

--- cmake/Cuti.cmake
+++ cmake/Cuti.cmake
@@ -35,7 +35,7 @@
 			VERSION "1.0.0"
 			SOVERSION "1.0.0"
 			FRAMEWORK_VERSION "A"
-	)
+		)
 		xctest_add_bundle(${target} ${testee} ${CUTI_SOURCE} ${ARGN} ${CUTI_INCLUDE})
 	ELSE()
 		add_library(${target} SHARED ${ARGN} ${CUTI_INCLUDE})


Fixing PYC compilation: should fail when invalid Python.

--- salome_adm/cmake_files/SalomeMacros.cmake
+++ salome_adm/cmake_files/SalomeMacros.cmake
@@ -136,13 +136,13 @@
       LIST(APPEND _all_pyo ${_pyo_file})
       ADD_CUSTOM_COMMAND(
            OUTPUT ${_pyc_file}
-           COMMAND ${PYTHON_EXECUTABLE} -c "import py_compile ; py_compile.compile('${_source_prefix}${file}', '${_pyc_file}' )"
+           COMMAND ${PYTHON_EXECUTABLE} -c "import py_compile ; py_compile.compile('${_source_prefix}${file}', '${_pyc_file}', doraise=True )"
            DEPENDS ${PREFIX}${file}
            VERBATIM
        )
       ADD_CUSTOM_COMMAND(
            OUTPUT ${_pyo_file}
-           COMMAND ${PYTHON_EXECUTABLE} -O -c "import py_compile ; py_compile.compile('${_source_prefix}${file}', '${_pyo_file}' )"
+           COMMAND ${PYTHON_EXECUTABLE} -O -c "import py_compile ; py_compile.compile('${_source_prefix}${file}', '${_pyo_file}', doraise=True )"
            DEPENDS ${PREFIX}${file}
            VERBATIM
        )


Adsk Contrib - Remove the useless cmake target on oiiotool (#1477)

* Adsk Contrib - REmove the useless cmake target on oiiotool

Signed-off-by: Patrick Hodoul <2019e9a13f1419b080c92fd66770378d8ba52d2b@autodesk.com>

* Improve the OIIO Util library support

Signed-off-by: hodoulp <2019e9a13f1419b080c92fd66770378d8ba52d2b@autodesk.com>

--- share/cmake/modules/FindOpenImageIO.cmake
+++ share/cmake/modules/FindOpenImageIO.cmake
@@ -106,7 +106,6 @@
         message ( STATUS "OpenImageIO includes     = ${OPENIMAGEIO_INCLUDE_DIR}" )
         message ( STATUS "OpenImageIO libraries    = ${OPENIMAGEIO_LIBRARIES}" )
         message ( STATUS "OpenImageIO library_dirs = ${OPENIMAGEIO_LIBRARY_DIRS}" )
-        message ( STATUS "OpenImageIO oiiotool     = ${OIIOTOOL_BIN}" )
     endif ()

     if (NOT TARGET OpenImageIO::OpenImageIO)
@@ -118,17 +117,13 @@
             IMPORTED_LOCATION "${OPENIMAGEIO_LIBRARIES}")
     endif ()

-    if (NOT TARGET OpenImageIO::OpenImageIO_Util AND EXISTS "${OPENIMAGEIO_UTIL_LIBRARY}")
+    # Starting with OIIO v2.3, some utility classes are now only declared in OpenImageIO_Util
+    # (and not in both libraries like in older versions).
+    if (${OPENIMAGEIO_VERSION} VERSION_GREATER_EQUAL "2.3" AND NOT TARGET OpenImageIO::OpenImageIO_Util)
         add_library(OpenImageIO::OpenImageIO_Util UNKNOWN IMPORTED)
         set_target_properties(OpenImageIO::OpenImageIO_Util PROPERTIES
             IMPORTED_LOCATION "${OPENIMAGEIO_UTIL_LIBRARY}")
         target_link_libraries(OpenImageIO::OpenImageIO INTERFACE OpenImageIO::OpenImageIO_Util)
-    endif ()
-
-    if (NOT TARGET OpenImageIO::oiiotool AND EXISTS "${OIIOTOOL_BIN}")
-        add_executable(OpenImageIO::oiiotool IMPORTED)
-        set_target_properties(OpenImageIO::oiiotool PROPERTIES
-            IMPORTED_LOCATION "${OIIOTOOL_BIN}")
     endif ()
 endif ()


Fix the creation of batch scripts and ancillary path files.

--- VigraAddDep.cmake
+++ VigraAddDep.cmake
@@ -13,13 +13,17 @@
   function(VAD_CREATE_ACTIVATE)
     if(WIN32)
       set(VAD_LIBRARY_DIR_LIST "${_VAD_LIBRARY_DIR_LIST}")
-      configure_file("${VigraAddDepPath}/vad_activate.bat.in" "${CMAKE_BINARY_DIR}/vad_activate.bat.generate" @ONLY)
+      configure_file("${VigraAddDepPath}/vad_activate.bat.in" "${CMAKE_BINARY_DIR}/.vad/vad_activate.bat.generate" @ONLY)
+      configure_file("${VigraAddDepPath}/vad_path.in" "${CMAKE_BINARY_DIR}/.vad/vad_path.generate" @ONLY)
     endif()
   endfunction()
   variable_watch(_VAD_LIBRARY_DIR_LIST VAD_CREATE_ACTIVATE)
   set_property(GLOBAL PROPERTY VigraAddDepIncludedOnce TRUE)
-  file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/vad_activate_$<CONFIG>.bat" INPUT "${CMAKE_CURRENT_BINARY_DIR}/vad_activate.bat.generate")
-  file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/vad_deactivate_$<CONFIG>.bat" INPUT "${VigraAddDepPath}/vad_deactivate.bat.in")
+  if(WIN32)
+    file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/vad_activate_$<CONFIG>.bat" INPUT "${CMAKE_CURRENT_BINARY_DIR}/.vad/vad_activate.bat.generate")
+    file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/vad_deactivate_$<CONFIG>.bat" INPUT "${VigraAddDepPath}/vad_deactivate.bat.in")
+    file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/.vad/vad_path_$<CONFIG>" INPUT "${CMAKE_CURRENT_BINARY_DIR}/.vad/vad_path.generate")
+  endif()
 endif()

 include(CMakeParseArguments)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 07)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   28)
+SET(KWSYS_DATE_STAMP_DAY   29)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 07)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   04)
+SET(KWSYS_DATE_STAMP_DAY   05)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 01)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   14)
+SET(KWSYS_DATE_STAMP_DAY   15)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 12)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   10)
+SET(KWSYS_DATE_STAMP_DAY   11)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 12)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   03)
+SET(KWSYS_DATE_STAMP_DAY   04)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 03)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   24)
+SET(KWSYS_DATE_STAMP_DAY   25)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 01)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   11)
+SET(KWSYS_DATE_STAMP_DAY   12)


fixed: update format define also in exisiting build dirs

git-svn-id: 6c7e10cdde2c115f53707ba8ec4efe535f92d362@2081 4683daeb-ad0f-0410-a623-93161e962ae5

--- CMake/UpdateCompiler.cmake
+++ CMake/UpdateCompiler.cmake
@@ -9,12 +9,12 @@
             MESSAGE(STATUS "Apply sse2 settings")

             IF(CMAKE_CXX_FLAGS)
-                string(REGEX MATCH "-msse2 -mfpmath=sse"
+                STRING(REGEX MATCH "-msse2 -mfpmath=sse"
                                    SSE2_CXX_RES ${CMAKE_CXX_FLAGS})
             ENDIF(CMAKE_CXX_FLAGS)

             IF(CMAKE_C_FLAGS)
-                string(REGEX MATCH "-msse2 -mfpmath=sse"
+                STRING(REGEX MATCH "-msse2 -mfpmath=sse"
                                    SSE2_C_RES ${CMAKE_C_FLAGS})
             ENDIF(CMAKE_C_FLAGS)

@@ -58,6 +58,26 @@
         ENDIF(OSG_ENABLE_SSE2)
     ENDIF(LINUX OR APPLE)

+    IF(CMAKE_CXX_FLAGS)
+       STRING(REGEX MATCH "__STDC_FORMAT_MACROS"
+       STDFORMAT_CXX_RES ${CMAKE_CXX_FLAGS})
+    ENDIF(CMAKE_CXX_FLAGS)
+
+    IF(CMAKE_C_FLAGS)
+        STRING(REGEX MATCH "__STDC_FORMAT_MACROS"
+               STDFORMAT_C_RES ${CMAKE_C_FLAGS})
+    ENDIF(CMAKE_C_FLAGS)
+
+    IF(NOT STDFORMAT_CXX_RES)
+      SET(CMAKE_CXX_FLAGS   "${CMAKE_CXX_FLAGS} -D__STDC_FORMAT_MACROS"
+          CACHE STRING "OpenSG defaults" FORCE )
+    ENDIF(NOT STDFORMAT_CXX_RES)
+
+    IF(NOT STDFORMAT_C_RES)
+      SET(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -D__STDC_FORMAT_MACROS"
+          CACHE STRING "OpenSG defaults" FORCE )
+    ENDIF(NOT STDFORMAT_C_RES)
+
 ENDIF(CMAKE_COMPILER_IS_GNUCC)

 IF(MSVC)


COMP: Require MSVC VS14 2015 for C++11 compatibility

Change-Id: I37ed7c9becddcc6cb3e856773e9303ea09cdd5b5

--- CMake/itkCompilerChecks.cmake
+++ CMake/itkCompilerChecks.cmake
@@ -16,10 +16,10 @@
   message(FATAL_ERROR "Apple Clang 5.0 or later is required.")
 endif ()

-# Minimum compiler version check: Microsoft C/C++ >= 18.0 (aka VS 2013 aka VS 12.0)
+# Minimum compiler version check: Microsoft C/C++ >= 19.0 (aka VS 2015 aka VS 14.0)
 if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND
-    CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0)
-  message(FATAL_ERROR "Microsoft Visual Studio 2013 or later is required.")
+    CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0)
+  message(FATAL_ERROR "Microsoft Visual Studio 2015 or later is required.")
 endif ()

 # Minimum compiler version check: Intel C++ (ICC) >= 14


Update link to MITK-Data

Update link to MITK-Data

Conflicts:

	CMakeExternals/MITKData.cmake

--- CMakeExternals/MITKData.cmake
+++ CMakeExternals/MITKData.cmake
@@ -13,7 +13,7 @@

 if(BUILD_TESTING)

-  set(revision_tag ae9267c8)
+  set(revision_tag 255cba2)
   #if(${proj}_REVISION_TAG)
   #  set(revision_tag ${${proj}_REVISION_TAG})
   #endif()


Indentation.

Indentation.

--- build_settings.cmake
+++ build_settings.cmake
@@ -26,7 +26,7 @@
 # Select C++ ABI
 if(DEFINED VESPA_CXX_ABI_FLAGS)
 else()
-set (VESPA_CXX_ABI_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0")
+    set (VESPA_CXX_ABI_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0")
 endif()

 # C and C++ compiler flags
@@ -38,7 +38,7 @@
 SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -rdynamic" )

 # Use C++ 17
-#TODO renable when cmake 3.8 is out.
+# TODO renable when cmake 3.8 is out.
 # set(CMAKE_CXX_STANDARD 17)

 # Always build shared libs if not explicitly specified


Revert unintentional change.

Revert unintentional change.

--- build_settings.cmake
+++ build_settings.cmake
@@ -73,7 +73,7 @@
 endif()

 # C and C++ compiler flags
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fno-omit-frame-pointer ${C_WARN_OPTS} -fPIC ${VESPA_CXX_ABI_FLAGS} ${VESPA_XXHASH_DEFINE} -DBOOST_DISABLE_ASSERTS ${VESPA_CPU_ARCH_FLAGS} ${EXTRA_C_FLAGS}")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O3 -fno-omit-frame-pointer ${C_WARN_OPTS} -fPIC ${VESPA_CXX_ABI_FLAGS} ${VESPA_XXHASH_DEFINE} -DBOOST_DISABLE_ASSERTS ${VESPA_CPU_ARCH_FLAGS} ${EXTRA_C_FLAGS}")
 # AddressSanitizer/ThreadSanitizer work for both GCC and Clang
 if (VESPA_USE_SANITIZER)
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=${VESPA_USE_SANITIZER}")


Fixed "make check" for cmake build

Fixed "make check" for cmake build

The check target did not depend on the test_plugin binary, so this would
cause "make check" to fail at times because of the absence of
test_plugin. This change adds a dependency on test_plugin so that it
will always get built before the tests are executed.

--- cmake/tests.cmake
+++ cmake/tests.cmake
@@ -214,4 +214,5 @@

 add_custom_target(check
   COMMAND tests
+  DEPENDS tests test_plugin
   WORKING_DIRECTORY ${protobuf_source_dir})


- Fix minor issue borking up Windows builds

--- cmake/Modules/CMakeConvenience.cmake
+++ cmake/Modules/CMakeConvenience.cmake
@@ -4,10 +4,12 @@
     endif()

     # Sneaky sneaky
-    target_compile_options ( ${TARGET}
-        PRIVATE
-        -O2
-        )
+    if(EMSCRIPTEN)
+        target_compile_options ( ${TARGET}
+            PRIVATE
+            -O2
+            )
+    endif()
 #    if(EMSCRIPTEN)
 #        target_compile_options(${TARGET} PRIVATE
 #            -s USE_SDL=2


ENH: rename package to distinguish static and shared build.

--- cmake/do_installation_settings.cmake
+++ cmake/do_installation_settings.cmake
@@ -45,6 +45,11 @@
   set(CPACK_PACKAGE_NAME "DO-Sara")
 else()
   set(CPACK_PACKAGE_NAME "libDO-Sara")
+endif ()
+if (DO_BUILD_SHARED_LIBS)
+  set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-shared")
+else ()
+  set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-static")
 endif ()
 if (CMAKE_BUILD_TYPE STREQUAL "Debug")
   set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-dbg")


[ROOT-10851] Enable builtin Glew for Apple and CMake greater then 3.15

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -441,6 +441,12 @@
     foreach(_prefix /sw /opt/local /usr/local) # Fink installs in /sw, and MacPort in /opt/local and Brew in /usr/local
       list(APPEND CMAKE_IGNORE_PATH ${_prefix}/bin ${_prefix}/include ${_prefix}/lib)
     endforeach()
+    if(CMAKE_VERSION VERSION_GREATER 3.15)
+      # Bug was reported on newer version of CMake on Mac OS X:
+      # https://gitlab.kitware.com/cmake/cmake/-/issues/19662
+      # https://github.com/microsoft/vcpkg/pull/7967
+      set(builtin_glew_defvalue ON)
+    endif()
   else()
     message(STATUS "Option 'macos_native' is only for MacOS systems. Ignoring it.")
   endif()


[CMake] Turn on ccache by default on 32bits builds

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -90,7 +90,7 @@
 ROOT_BUILD_OPTION(builtin_xxhash OFF "Build included xxHash library")
 ROOT_BUILD_OPTION(builtin_zlib OFF "Build included libz, or use system libz")
 ROOT_BUILD_OPTION(castor ON "CASTOR support, requires libshift from CASTOR >= 1.5.2")
-if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SIZEOF_VOID_P EQUAL 4)
   ROOT_BUILD_OPTION(ccache ON "Enable ccache usage for speeding up builds")
 else()
   ROOT_BUILD_OPTION(ccache OFF "Enable ccache usage for speeding up builds")


Add quiet flag to msiexec installs

Add quiet flag to msiexec installs

--- cmake/pcl_all_in_one_installer.cmake
+++ cmake/pcl_all_in_one_installer.cmake
@@ -61,7 +61,7 @@
     )
     list(APPEND PCL_3RDPARTY_COMPONENTS OpenNI)
     set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
-      "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}\n    ExecWait 'msiexec /i \\\"$INSTDIR\\\\3rdParty\\\\OpenNI\\\\${OPENNI_PACKAGE}\\\" '")
+      "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}\n    ExecWait 'msiexec /i \\\"$INSTDIR\\\\3rdParty\\\\OpenNI\\\\${OPENNI_PACKAGE}\\\" /quiet '")
   else()
     message("WARNING : Could not download ${OPENNI_URL}, error code : ${_error_code}, error message : ${_error_message}")
   endif()
@@ -80,7 +80,7 @@
     )
     list(APPEND PCL_3RDPARTY_COMPONENTS OpenNI)
     set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
-      "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}\n    ExecWait 'msiexec /i \\\"$INSTDIR\\\\3rdParty\\\\OpenNI\\\\${OPENNI_SENSOR_PACKAGE}\\\" '")
+      "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}\n    ExecWait 'msiexec /i \\\"$INSTDIR\\\\3rdParty\\\\OpenNI\\\\${OPENNI_SENSOR_PACKAGE}\\\" /quiet '")
   else()
     message("WARNING : Could not download ${OPENNI_SENSOR_URL}, error code : ${_error_code}, error message : ${_error_message}")
   endif()
@@ -124,7 +124,7 @@
       )
       list(APPEND PCL_3RDPARTY_COMPONENTS OpenNI2)
       set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
-        "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}\n    ExecWait 'msiexec /i \\\"$INSTDIR\\\\3rdParty\\\\OpenNI2\\\\${OPENNI2_PACKAGE}\\\" '")
+        "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}\n    ExecWait 'msiexec /i \\\"$INSTDIR\\\\3rdParty\\\\OpenNI2\\\\${OPENNI2_PACKAGE}\\\" /quiet '")
     else()
       message("WARNING : Could not unzip ${OPENNI2_ZIP}, error code : ${_error_code}, error message : ${_error_message}")
     endif()


Fix installing .pdb files on Windows.

Fix installing .pdb files on Windows.

--HG--
branch : v1-7

--- CMake/Utils/OgreConfigTargets.cmake
+++ CMake/Utils/OgreConfigTargets.cmake
@@ -191,25 +191,7 @@
 endfunction(ogre_config_lib)

 function(ogre_config_component LIBNAME)
-  ogre_config_common(${LIBNAME})
-  ogre_install_target(${LIBNAME} "" TRUE)
-
-  if (MINGW)
-	# remove lib prefix from DLL outputs
-	set_target_properties(${LIBNAME} PROPERTIES PREFIX "")
-  endif ()
-
-  if (OGRE_INSTALL_PDB)
-    # install debug pdb files
-    install(FILES ${OGRE_BINARY_DIR}/lib${OGRE_DEBUG_PATH}/${LIBNAME}_d.pdb
-	  DESTINATION bin${OGRE_DEBUG_PATH}
-	  CONFIGURATIONS Debug
-	)
-	install(FILES ${OGRE_BINARY_DIR}/lib${OGRE_RELWDBG_PATH}/${LIBNAME}.pdb
-	  DESTINATION bin${OGRE_RELWDBG_PATH}
-	  CONFIGURATIONS RelWithDebInfo
-	)
-  endif ()
+  ogre_config_lib(${LIBNAME} FALSE)
 endfunction(ogre_config_component)

@@ -296,7 +278,7 @@

 function(ogre_config_sample_exe SAMPLENAME)
   ogre_config_sample_common(${SAMPLENAME})
-  if (OGRE_INSTALL_PDB)
+  if (OGRE_INSTALL_PDB AND OGRE_INSTALL_SAMPLES)
 	  # install debug pdb files - no _d on exe
 	  install(FILES ${OGRE_BINARY_DIR}/bin${OGRE_DEBUG_PATH}/${SAMPLENAME}.pdb
 		  DESTINATION bin${OGRE_DEBUG_PATH}
@@ -311,7 +293,7 @@

 function(ogre_config_sample_lib SAMPLENAME)
   ogre_config_sample_common(${SAMPLENAME})
-  if (OGRE_INSTALL_PDB)
+  if (OGRE_INSTALL_PDB AND OGRE_INSTALL_SAMPLES)
 	  # install debug pdb files - with a _d on lib
 	  install(FILES ${OGRE_BINARY_DIR}/bin${OGRE_DEBUG_PATH}/${SAMPLENAME}_d.pdb
 		  DESTINATION bin${OGRE_DEBUG_PATH}


CMake export broke install directory structures; disabled for the moment.

--HG--
branch : v1-7
extra : convert_revision : svn%3A8631bf8a-c64b-0410-883c-f3eb003322f7/branches/v1-7%401652

--- CMake/Utils/OgreConfigTargets.cmake
+++ CMake/Utils/OgreConfigTargets.cmake
@@ -48,33 +48,35 @@
 function(ogre_install_target TARGETNAME SUFFIX EXPORT)

 	if(EXPORT)
-	  install(TARGETS ${TARGETNAME}
-		EXPORT Ogre-exports
+	  install(TARGETS ${TARGETNAME} #EXPORT Ogre-exports
 		BUNDLE DESTINATION "bin${OGRE_RELEASE_PATH}" CONFIGURATIONS Release None ""
 		RUNTIME DESTINATION "bin${OGRE_RELEASE_PATH}" CONFIGURATIONS Release None ""
 		LIBRARY DESTINATION "lib${OGRE_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
 		ARCHIVE DESTINATION "lib${OGRE_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
 		FRAMEWORK DESTINATION "bin${OGRE_RELEASE_PATH}" CONFIGURATIONS Release None ""
-
+      )
+	  install(TARGETS ${TARGETNAME} #EXPORT Ogre-exports
 		BUNDLE DESTINATION "bin${OGRE_RELWDBG_PATH}" CONFIGURATIONS RelWithDebInfo
 		RUNTIME DESTINATION "bin${OGRE_RELWDBG_PATH}" CONFIGURATIONS RelWithDebInfo
 		LIBRARY DESTINATION "lib${OGRE_LIB_RELWDBG_PATH}${SUFFIX}" CONFIGURATIONS RelWithDebInfo
 		ARCHIVE DESTINATION "lib${OGRE_LIB_RELWDBG_PATH}${SUFFIX}" CONFIGURATIONS RelWithDebInfo
 		FRAMEWORK DESTINATION "bin${OGRE_RELWDBG_PATH}" CONFIGURATIONS RelWithDebInfo
-
+      )
+	  install(TARGETS ${TARGETNAME} #EXPORT Ogre-exports
 		BUNDLE DESTINATION "bin${OGRE_MINSIZE_PATH}" CONFIGURATIONS MinSizeRel
 		RUNTIME DESTINATION "bin${OGRE_MINSIZE_PATH}" CONFIGURATIONS MinSizeRel
 		LIBRARY DESTINATION "lib${OGRE_LIB_MINSIZE_PATH}${SUFFIX}" CONFIGURATIONS MinSizeRel
 		ARCHIVE DESTINATION "lib${OGRE_LIB_MINSIZE_PATH}${SUFFIX}" CONFIGURATIONS MinSizeRel
 		FRAMEWORK DESTINATION "bin${OGRE_MINSIZE_PATH}" CONFIGURATIONS MinSizeRel
-
+      )
+	  install(TARGETS ${TARGETNAME} #EXPORT Ogre-exports
 		BUNDLE DESTINATION "bin${OGRE_DEBUG_PATH}" CONFIGURATIONS Debug
 		RUNTIME DESTINATION "bin${OGRE_DEBUG_PATH}" CONFIGURATIONS Debug
 		LIBRARY DESTINATION "lib${OGRE_LIB_DEBUG_PATH}${SUFFIX}" CONFIGURATIONS Debug
 		ARCHIVE DESTINATION "lib${OGRE_LIB_DEBUG_PATH}${SUFFIX}" CONFIGURATIONS Debug
 		FRAMEWORK DESTINATION "bin${OGRE_DEBUG_PATH}" CONFIGURATIONS Debug
 	  )
-	  install(EXPORT Ogre-exports DESTINATION lib)
+	  #install(EXPORT Ogre-exports DESTINATION lib)
 	else()
 	  install(TARGETS ${TARGETNAME}
 		BUNDLE DESTINATION "bin${OGRE_RELEASE_PATH}" CONFIGURATIONS Release None ""
@@ -82,19 +84,22 @@
 		LIBRARY DESTINATION "lib${OGRE_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
 		ARCHIVE DESTINATION "lib${OGRE_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
 		FRAMEWORK DESTINATION "bin${OGRE_RELEASE_PATH}" CONFIGURATIONS Release None ""
-
+      )
+	  install(TARGETS ${TARGETNAME}
 		BUNDLE DESTINATION "bin${OGRE_RELWDBG_PATH}" CONFIGURATIONS RelWithDebInfo
 		RUNTIME DESTINATION "bin${OGRE_RELWDBG_PATH}" CONFIGURATIONS RelWithDebInfo
 		LIBRARY DESTINATION "lib${OGRE_LIB_RELWDBG_PATH}${SUFFIX}" CONFIGURATIONS RelWithDebInfo
 		ARCHIVE DESTINATION "lib${OGRE_LIB_RELWDBG_PATH}${SUFFIX}" CONFIGURATIONS RelWithDebInfo
 		FRAMEWORK DESTINATION "bin${OGRE_RELWDBG_PATH}" CONFIGURATIONS RelWithDebInfo
-
+      )
+	  install(TARGETS ${TARGETNAME}
 		BUNDLE DESTINATION "bin${OGRE_MINSIZE_PATH}" CONFIGURATIONS MinSizeRel
 		RUNTIME DESTINATION "bin${OGRE_MINSIZE_PATH}" CONFIGURATIONS MinSizeRel
 		LIBRARY DESTINATION "lib${OGRE_LIB_MINSIZE_PATH}${SUFFIX}" CONFIGURATIONS MinSizeRel
 		ARCHIVE DESTINATION "lib${OGRE_LIB_MINSIZE_PATH}${SUFFIX}" CONFIGURATIONS MinSizeRel
 		FRAMEWORK DESTINATION "bin${OGRE_MINSIZE_PATH}" CONFIGURATIONS MinSizeRel
-
+      )
+	  install(TARGETS ${TARGETNAME}
 		BUNDLE DESTINATION "bin${OGRE_DEBUG_PATH}" CONFIGURATIONS Debug
 		RUNTIME DESTINATION "bin${OGRE_DEBUG_PATH}" CONFIGURATIONS Debug
 		LIBRARY DESTINATION "lib${OGRE_LIB_DEBUG_PATH}${SUFFIX}" CONFIGURATIONS Debug


Issue #45: Windows seems to require linking to libpython.

--- CMake/mpIncludePythonBindings.cmake
+++ CMake/mpIncludePythonBindings.cmake
@@ -18,4 +18,7 @@

 if(BUILD_Python_Boost OR BUILD_Python_PyBind)
   include_directories(${PYTHON_INCLUDE_DIRS})
+  if(WIN32)
+    link_libraries(${PYTHON_LIBRARIES})
+  endif()
 endif()


Prefer glut32.lib over glut.lib

Prefer glut32.lib over glut.lib

According to http://www.opengl.org/resources/faq/technical/gettingstarted.htm
, glXXX.lib are SGI libraries and incompatible with the glXXX32.lib versions by Microsoft. These libraries may not be mixed

git-svn-id: a0a066a1d7ce87c7a04dae20f169ad0cd8bda35d@1382 04231f92-3938-0410-9931-e931ac552b4f

--- CMakeModules/windows/FindGLUT.cmake
+++ CMakeModules/windows/FindGLUT.cmake
@@ -25,13 +25,13 @@
     PATHS
     $ENV{EXTERNLIBS}/glut/include
     ${GLUT_ROOT_PATH}/include )
-  FIND_LIBRARY( GLUT_LIBRARY_DEBUG NAMES glutD glut32D freeglutD
+  FIND_LIBRARY( GLUT_LIBRARY_DEBUG NAMES glut32D glutD freeglutD
     PATHS
     $ENV{EXTERNLIBS}/glut/lib
     ${OPENGL_LIBRARY_DIR}
     ${GLUT_ROOT_PATH}/Debug
     )
-    FIND_LIBRARY( GLUT_LIBRARY_RELEASE NAMES glut glut32 freeglut
+    FIND_LIBRARY( GLUT_LIBRARY_RELEASE NAMES glut32 glut freeglut
     PATHS
     ${OPENGL_LIBRARY_DIR}
     $ENV{EXTERNLIBS}/glut/lib