head 1.4; access; symbols pkgsrc-2015Q3:1.3.0.24 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.22 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.20 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.18 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.16 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.14 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.12 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.10 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.8 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.6 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.4 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.3.0.2 pkgsrc-2012Q4-base:1.3 pkgsrc-2012Q3:1.2.0.2 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.1.0.4 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.2 pkgsrc-2012Q1-base:1.1; locks; strict; comment @# @; 1.4 date 2015.11.17.12.12.11; author wiz; state dead; branches; next 1.3; commitid qOOSfZ2j4D97srJy; 1.3 date 2012.11.15.19.31.55; author adam; state Exp; branches; next 1.2; 1.2 date 2012.08.11.11.10.54; author marino; state Exp; branches; next 1.1; 1.1 date 2012.02.16.18.32.25; author hans; state Exp; branches; next ; desc @@ 1.4 log @Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions `. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions `. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE__COMPILER_LAUNCHER` variable and :prop_tgt:`_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions `. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions `. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$`` :manual:`generator expression ` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN__PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN__PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN__PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN__PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN__PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN__PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN__PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN__PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features ` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 `__ compiler is now supported. Its :variable:`compiler id _COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE__COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ```` placeholder instead of the main ```` placeholder. @ text @$NetBSD: patch-Modules_Platform_SunOS.cmake,v 1.3 2012/11/15 19:31:55 adam Exp $ Don't use gcc to link c++ libraries on SunOS, unless we are really using a gcc lacking libstdc++. See http://public.kitware.com/pipermail/cmake/2011-July/045300.html --- Modules/Platform/SunOS.cmake.orig 2012-11-14 19:47:33.000000000 +0000 +++ Modules/Platform/SunOS.cmake @@@@ -7,12 +7,20 @@@@ if(CMAKE_SYSTEM MATCHES "SunOS-4.*") set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") endif() +# Take the default c++ shared library creation rule from the +# CMakeDefaultMakeRuleVariables.cmake file unless using GCC and libstdc++.so +# does not exist, in which case fall back to the old implementation; +# using gcc to invoke the linker. if(CMAKE_COMPILER_IS_GNUCXX) if(CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_CXX_CREATE_SHARED_LIBRARY - " -o ") - else() - # Take default rule from CMakeDefaultMakeRuleVariables.cmake. + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libstdc++.so + OUTPUT_VARIABLE SHARED_LIBSTDCXX_FILENAME + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT EXISTS "${SHARED_LIBSTDCXX_FILENAME}") + set(CMAKE_CXX_CREATE_SHARED_LIBRARY + " -o ") + endif() endif() endif() include(Platform/UnixPaths) @ 1.3 log @With the 2.8.10 release, users now have a new way to arrange exported targets that depend on other targets into "export sets." In addition, there are new target properties for PDB_OUTPUT_DIRECTORY and PDB_NAME implemented for Visual Studio 7 and later. Generator expressions, which are used to introduce conditional statements at generate time rather than at CMake compile time, are now available in more contexts, notably in the INCLUDE_DIRECTORIES and COMPILE_DEFINITIONS target properties. There are also new generator expressions available in the 2.8.10 release. The file(DOWNLOAD command can accommodate https URLs. The pre-built binaries for this are available from Kitware and link to OpenSSL. The team has also added uniform compiler "id" and version number variables available for nearly all known compilers and platforms. @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @devel/cmake: Update from 2.8.8 to 2.8.9 Version 2.8.8 has some serious bugs regarding pkgconfig handling. Luckily 2.8.9 was just released which resolves them. There are numerous bugfixes, see: http://www.cmake.org/files/v2.8/CMakeChangeLog-2.8.9 @ text @d8 1 a8 1 --- Modules/Platform/SunOS.cmake.orig 2012-08-09 18:15:19.000000000 +0000 d10 3 a12 3 @@@@ -7,12 +7,20 @@@@ IF(CMAKE_SYSTEM MATCHES "SunOS-4.*") SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") ENDIF(CMAKE_SYSTEM MATCHES "SunOS-4.*") d18 3 a20 3 IF(CMAKE_COMPILER_IS_GNUCXX) IF(CMAKE_COMPILER_IS_GNUCC) - SET(CMAKE_CXX_CREATE_SHARED_LIBRARY d22 1 a22 1 - ELSE(CMAKE_COMPILER_IS_GNUCC) d24 1 a24 1 + EXECUTE_PROCESS( d28 2 a29 2 + IF(NOT EXISTS "${SHARED_LIBSTDCXX_FILENAME}") + SET(CMAKE_CXX_CREATE_SHARED_LIBRARY d31 4 a34 4 + ENDIF(NOT EXISTS "${SHARED_LIBSTDCXX_FILENAME}") ENDIF(CMAKE_COMPILER_IS_GNUCC) ENDIF(CMAKE_COMPILER_IS_GNUCXX) INCLUDE(Platform/UnixPaths) @ 1.1 log @Fix two problems observed on SunOS: - don't try to find a python executable when running for pkgsrc - use g++ instead of gcc for linking c++ libraries, patch from http://public.kitware.com/pipermail/cmake/2011-July/045300.html @ text @d8 3 a10 3 --- Modules/Platform/SunOS.cmake.orig 2011-10-04 18:09:24.000000000 +0200 +++ Modules/Platform/SunOS.cmake 2012-01-11 17:50:43.768105308 +0100 @@@@ -5,12 +5,20 @@@@ IF(CMAKE_SYSTEM MATCHES "SunOS-4.*") d21 1 a21 1 - " -o ") @