2015-12-11 15:47:35 +01:00
|
|
|
# $NetBSD: Makefile,v 1.110 2015/12/11 14:47:35 wiz Exp $
|
import cmake-1.6.6
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.
2003-05-07 13:55:03 +02:00
|
|
|
|
2015-12-07 10:30:32 +01:00
|
|
|
DISTNAME= cmake-${CMAKE_API}.1
|
2015-12-11 15:47:35 +01:00
|
|
|
PKGREVISION= 1
|
import cmake-1.6.6
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.
2003-05-07 13:55:03 +02:00
|
|
|
CATEGORIES= devel
|
2012-08-07 18:18:26 +02:00
|
|
|
MASTER_SITES= http://www.cmake.org/files/v${CMAKE_API}/
|
2008-08-25 04:44:05 +02:00
|
|
|
|
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 <cmake-generator-expressions(7)>`.
* The :command:`install(FILES)` command ``DESTINATION`` option learned to
support :manual:`generator expressions <cmake-generator-expressions(7)>`.
* 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_<LANG>_COMPILER_LAUNCHER` variable and
:prop_tgt:`<LANG>_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 <cmake-generator-expressions(7)>`.
* 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 <cmake-generator-expressions(7)>`.
* 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 ``$<SHELL_PATH:...>``
:manual:`generator expression <cmake-generator-expressions(7)>`
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_<COMPONENT>_PACKAGE_BREAKS`
* :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS`
* :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES`
* :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS`
* :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES`
* :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS`
* :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES`
* :variable:`CPACK_DEBIAN_<COMPONENT>_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 <cmake-compile-features(7)>` 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 <https://ccur.com>`__ compiler is now supported.
Its :variable:`compiler id <CMAKE_<LANG>_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_<LANG>_COMPILE_OBJECT` rule variable now
substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder
instead of the main ``<FLAGS>`` placeholder.
2015-11-17 13:12:11 +01:00
|
|
|
CMAKE_API= 3.4
|
import cmake-1.6.6
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.
2003-05-07 13:55:03 +02:00
|
|
|
|
2014-08-06 17:43:52 +02:00
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2003-12-30 18:21:54 +01:00
|
|
|
HOMEPAGE= http://www.cmake.org/
|
2004-08-02 15:08:09 +02:00
|
|
|
COMMENT= Cross platform make
|
2011-02-22 16:05:33 +01:00
|
|
|
LICENSE= modified-bsd
|
import cmake-1.6.6
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.
2003-05-07 13:55:03 +02:00
|
|
|
|
2005-05-22 22:07:36 +02:00
|
|
|
USE_TOOLS+= gmake
|
2005-01-06 14:07:59 +01:00
|
|
|
USE_LANGUAGES= c c++
|
2010-11-11 09:34:01 +01:00
|
|
|
HAS_CONFIGURE= yes
|
|
|
|
CONFIGURE_SCRIPT= bootstrap
|
2008-08-25 04:44:05 +02:00
|
|
|
|
|
|
|
BUILD_TARGET= default_target
|
|
|
|
|
2005-10-24 17:15:25 +02:00
|
|
|
CONFIGURE_HAS_MANDIR= no
|
|
|
|
CONFIGURE_ARGS+= --mandir=/${PKGMANDIR}
|
2008-08-25 04:44:05 +02:00
|
|
|
CONFIGURE_ARGS+= --docdir=/share/doc/cmake-${CMAKE_API}
|
2010-11-11 09:34:01 +01:00
|
|
|
CONFIGURE_ARGS+= --prefix=${PREFIX}
|
Update to 2.4.6:
Changes in CMake 2.4.6
* Remove svn test in ctestctest3
* Fix for FIND_* order and framworks with PREFIX usage.
* Fix for FindDoxygen and quiet mode.
* Find JavaVM as well as jvm
* Look for ruby1.8 and ruby
* Fix for cpack .tgz.sh and dash
* Fix for finding custom commands from a full path with CMAKE_CFG_INTDIR.
* Fix for Borland make and custom commands that do nothing
Changes in CMake 2.4.5
* Fix for seg fault when a macro runs a bad command BUG# 3815
* Fix fix for foo.dll.lib that does not brea -L/usr/lib in link names
* Fix problem with LIBRARY_OUTPUT_PATH and linking to a dll foo.dll.lib
instead of foo.lib
* Do not depend on optimized libraries for a debug build and visa versa.
* Fix target name matching custom command output conflict.
* Fix FindQt3 so that it does not find qt4
* Fix FindKDE4 so that it only looks for kde4-config
Changes in CMake 2.4.4
* CMake Version numbers on module directory
* elseif added
* Fix docs in CheckCSourceCompiles CheckCXXSourceCompiles and diagnostic
output.
* added Check(C/CXX)SourceRuns.cmake, CheckCXXCompilerFlag.cmake, Check
* add static and shared flags to make sure the specified versions of
libraries are used with -static -lfoo -shared -lbar
* Search for the compiler only once and store a full path. avoids problems
with PATH changes in cmake re-runs.
* make sure manifest files are generated with VS 8
* added FindASPELL.cmake, FindBZip2.cmake FindHPELL.cmake, FindJasper.cmake
FindLibXml2.cmake, FindLibXslt.cmake, FindOpenSSL.cmake
* fix for bug#3646 GLUT not Glut for framework name
* many fixes for FindKDE3.cmake
* Better FindPNG that honors REQUIRED and looks in more places.
* Support to find python 2.5
* Find Qt3 better
* Find Qt4 better and work with qmake and qmake-qt4 on the same machine.
* Much better FindRuby.cmake
* More stuff marked as advanced in FindTcl and FindSDL
* FindwxWidgets runs shell script wx-config with sh
* Support for cpack and vs8 install libraries
* Darwin shared library create and Fortran now work
* Support for isystem directories INCLUDE_DIRECTORIES (SYSTEM)
* Targets in makefiles to create pre-processed files and assembly files
can be turned off with these variables:
CMAKE_SKIP_PREPROCESSED_SOURCE_RULES CMAKE_SKIP_ASSEMBLY_SOURCE_RULES
* Support for QNX
* Better default search paths for unix and FIND_* stuff
* Use link /lib and not lib to create static libraries with MS
* Useqt4 works with static qt4 and other fixes
* UseSwig.cmake interface to add extra dependencies.
* Added APPEND option to ADD_CUSTOM_COMMAND, Added VERBATIM option to
ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET
* add EXCLUDE_FROM_ALL option for ADD_LIBRARY and ADD_EXECUTABLE
* Fix automatic computation of binary path to work for subdirectories of out
of source directories. This addresses bug#3592.
* --debug-ouput to cmake that gives stack trace to message send error commands.
The stack trace is no longer there without it.
* + can be in a variable
* Do not replace @VAR@ syntax in list files. This addresses bug #2722
* much faster depend scanning
* do depends on system include directories
* Permission and install directory fixes
* New target property <CONFIG>_LOCATION (Debug, Release, etc)
* fix exclude from all in VS
* fix code completion problem in KDevelop
* Define MSYS when using msys generator
* fix referencece to projects outside the build tree VS 7,8
* Fix ZERO_CHECK to not always try and rebuild
* Fix Xcode universal binary rebuild problem
* add FILE_IS_NEWER to if command
* Add OPTIONAL to INSTALL command fix bug@2922
* add SORT and REVERSE to LIST command
* fix for seg fault bug #3815
* add SYBOLIC as a source file property see SET_SOURCE_FILES_PROPERTIES
* fix ctest valgrind if no coverage is done
* better message if bogus generator is specified.
* Better FindJava and FindJNI
* Fix doxygen.config for CMake
* add CPACK_MODULE_PATH
* Fix configuration for ctest dashboard targets Experimental, Nightly, etc
* Fix FindDoxygen for mac and app-bundles
* Fix CPack simple install test with NSIS
* Allow EXECUTE_PROCESS to strip trailing white space
* Fix mingw echo in makefiles
* Fix Xcode to not mess up -gdwarf-2
* Fix crash when "linking" to custom targets.
* Allow HEADER_FILE_ONLY to not compile the file in VS 7 and 8
* Fix mingw out of binary with spaces in the path.
* Fix for sudo make install (partial)
* Allow installed zlib, curl, expat, xmlrpc to be used.
* Add CMakeDependentOption.cmake module
* Allow projects to set install prefix default
* improved Find/Use wxWidgets
* add support for windows dll version numbers
* Fix message for -G when generator does not exist
* Fix html references in help
* Fix version on .exe cygwin
* allow global timeout in ctest
* Fix some odd cases with custom commands in VS 6
* Fix path suffix stuff with lib64 in FIND_* stuff.
* Fix delete in CMakeSetup to not change the current position in the list
* Fix debug stl run of ctest on Mac
* Use #2 for manifest nt command on dll and #1 on exe
* Add depends from files inside qrc files in qt
* Fix explort_library_depends to work with optimized and debug
Changes in CMake 2.4.3
* fix for 3557 - Under MSVC8 hardcoded TargetEnvironment for MIDL Compiler
* Fix for Xcode all projects to prevent -fvisibility=hidden flags. This is
needed to make RTTI work by default.
* better prototype for main in try compile of c programs avoids warnings in
logs.
* with visual studio do not use incremental linking for release builds by
default.
* fix bootstrap to use more ansi c main it test compiler
* fix import build settings to do case insensitive match on windows
* fix building in root directory c:/
* Add support for CXX only projects
* Better FindWxWidgets
* Added FindBoose.cmake
* add more fortran file extensions
* Cpack supports multiple packages at the same time
* Fix to FindKDE4 to look for kde4-config first
* Support for env var CMAKE_CONFIG_TYPE in ctest
* Fix for -DVAR=foo on the command line not saving to the cache
* ENH: Added creation of XXX_FIND_COMPONENTS list of all components requested
withREQUIRED option. This addresses the feature request in bug#3494.
* Object files get safe names
* progress is now reported with makefiles
* location of CMakeTmp changed to a varible
* CMAKE_COLOR_MAKEFILE cache variable available to turn off color output
* fixes for FindQt4 on mac.
* Better search paths for finding VTK
* Fix relative path problems in ADD_SUBDIRECTORY
* Fix long link commands on UNIX shells
* Fix depend file names in makefiles for generated headers
* CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS allows for if/endif without variable
* Xcode multiple custom command problem fixed.
* INSTALL_RPATH_USE_LINK_PATH when true will add the link path to the rpath
* Add target/fast rules in the sub directories
* Fix Visual stuido C and C++ targets to not add /TP and /TC
* print a context when cmake errors occur
* add rxvt-unicode, cygwin, and screen terminal support for color output
* Fix crash in CMakeSetup when status line is long
* make sure try compile files have a newline at the end
* fix for hp itanium build
2007-02-23 12:48:18 +01:00
|
|
|
CONFIGURE_ARGS+= --system-libs
|
Changes 3.2.1:
* CMake learned to support unicode characters *encoded as UTF-8* on
Windows. This was already supported on platforms whose system APIs
accept UTF-8 encoded strings. Unicode characters may now be used in
CMake code, paths to source files, configured files such as ".h.in"
files, and other files read and written by CMake. Note that because
CMake interoperates with many other tools, there may still be some
limitations when using certain unicode characters.
* The "Compile Features" functionality is now aware of features
supported by more compilers, including:
* Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1.
* GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU").
* Microsoft Visual Studio ("MSVC") for versions 2010 through 2015.
* Oracle SolarisStudio ("SunPro") version 12.4.
* The "add_custom_command()" and "add_custom_target()" commands
learned a new "BYPRODUCTS" option to specify files produced as side
effects of the custom commands. These are not outputs because they
do not always have to be newer than inputs.
* The "file(GENERATE)" command can now generate files which are used
as source files for buildsystem targets. Generated files
automatically get their "GENERATED" property set to "TRUE".
Deprecated and Removed Features:
* Files written in the "cmake-language(7)", such as "CMakeLists.txt"
or "*.cmake" files, are now expected to be encoded as UTF-8. If
files are already ASCII, they will be compatible. If files were in
a different encoding, including Latin 1, they will need to be
converted.
* The "FindOpenGL" module no longer explicitly searches for any
dependency on X11 libraries with the "FindX11" module. Such
dependencies should not need to be explicit. Applications using X11
APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
|
|
|
# jsoncpp requires cmake to build, so use the one provided with cmake
|
|
|
|
CONFIGURE_ARGS+= --no-system-jsoncpp
|
2008-08-25 04:44:05 +02:00
|
|
|
|
2013-10-19 10:04:34 +02:00
|
|
|
LDFLAGS.SunOS+= -lsocket -lnsl
|
|
|
|
|
2010-10-19 10:15:01 +02:00
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
|
|
|
|
.if !empty(MAKE_JOBS)
|
|
|
|
CONFIGURE_ARGS+= --parallel=${MAKE_JOBS:Q}
|
|
|
|
.endif
|
|
|
|
|
2008-08-25 04:44:05 +02:00
|
|
|
PLIST_SUBST+= CMAKE_API=${CMAKE_API}
|
import cmake-1.6.6
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.
2003-05-07 13:55:03 +02:00
|
|
|
|
2008-02-03 03:12:11 +01:00
|
|
|
# for Source/cmDependsJavaParser.cxx
|
|
|
|
UNLIMIT_RESOURCES= datasize
|
|
|
|
|
Update to 2.4.6:
Changes in CMake 2.4.6
* Remove svn test in ctestctest3
* Fix for FIND_* order and framworks with PREFIX usage.
* Fix for FindDoxygen and quiet mode.
* Find JavaVM as well as jvm
* Look for ruby1.8 and ruby
* Fix for cpack .tgz.sh and dash
* Fix for finding custom commands from a full path with CMAKE_CFG_INTDIR.
* Fix for Borland make and custom commands that do nothing
Changes in CMake 2.4.5
* Fix for seg fault when a macro runs a bad command BUG# 3815
* Fix fix for foo.dll.lib that does not brea -L/usr/lib in link names
* Fix problem with LIBRARY_OUTPUT_PATH and linking to a dll foo.dll.lib
instead of foo.lib
* Do not depend on optimized libraries for a debug build and visa versa.
* Fix target name matching custom command output conflict.
* Fix FindQt3 so that it does not find qt4
* Fix FindKDE4 so that it only looks for kde4-config
Changes in CMake 2.4.4
* CMake Version numbers on module directory
* elseif added
* Fix docs in CheckCSourceCompiles CheckCXXSourceCompiles and diagnostic
output.
* added Check(C/CXX)SourceRuns.cmake, CheckCXXCompilerFlag.cmake, Check
* add static and shared flags to make sure the specified versions of
libraries are used with -static -lfoo -shared -lbar
* Search for the compiler only once and store a full path. avoids problems
with PATH changes in cmake re-runs.
* make sure manifest files are generated with VS 8
* added FindASPELL.cmake, FindBZip2.cmake FindHPELL.cmake, FindJasper.cmake
FindLibXml2.cmake, FindLibXslt.cmake, FindOpenSSL.cmake
* fix for bug#3646 GLUT not Glut for framework name
* many fixes for FindKDE3.cmake
* Better FindPNG that honors REQUIRED and looks in more places.
* Support to find python 2.5
* Find Qt3 better
* Find Qt4 better and work with qmake and qmake-qt4 on the same machine.
* Much better FindRuby.cmake
* More stuff marked as advanced in FindTcl and FindSDL
* FindwxWidgets runs shell script wx-config with sh
* Support for cpack and vs8 install libraries
* Darwin shared library create and Fortran now work
* Support for isystem directories INCLUDE_DIRECTORIES (SYSTEM)
* Targets in makefiles to create pre-processed files and assembly files
can be turned off with these variables:
CMAKE_SKIP_PREPROCESSED_SOURCE_RULES CMAKE_SKIP_ASSEMBLY_SOURCE_RULES
* Support for QNX
* Better default search paths for unix and FIND_* stuff
* Use link /lib and not lib to create static libraries with MS
* Useqt4 works with static qt4 and other fixes
* UseSwig.cmake interface to add extra dependencies.
* Added APPEND option to ADD_CUSTOM_COMMAND, Added VERBATIM option to
ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET
* add EXCLUDE_FROM_ALL option for ADD_LIBRARY and ADD_EXECUTABLE
* Fix automatic computation of binary path to work for subdirectories of out
of source directories. This addresses bug#3592.
* --debug-ouput to cmake that gives stack trace to message send error commands.
The stack trace is no longer there without it.
* + can be in a variable
* Do not replace @VAR@ syntax in list files. This addresses bug #2722
* much faster depend scanning
* do depends on system include directories
* Permission and install directory fixes
* New target property <CONFIG>_LOCATION (Debug, Release, etc)
* fix exclude from all in VS
* fix code completion problem in KDevelop
* Define MSYS when using msys generator
* fix referencece to projects outside the build tree VS 7,8
* Fix ZERO_CHECK to not always try and rebuild
* Fix Xcode universal binary rebuild problem
* add FILE_IS_NEWER to if command
* Add OPTIONAL to INSTALL command fix bug@2922
* add SORT and REVERSE to LIST command
* fix for seg fault bug #3815
* add SYBOLIC as a source file property see SET_SOURCE_FILES_PROPERTIES
* fix ctest valgrind if no coverage is done
* better message if bogus generator is specified.
* Better FindJava and FindJNI
* Fix doxygen.config for CMake
* add CPACK_MODULE_PATH
* Fix configuration for ctest dashboard targets Experimental, Nightly, etc
* Fix FindDoxygen for mac and app-bundles
* Fix CPack simple install test with NSIS
* Allow EXECUTE_PROCESS to strip trailing white space
* Fix mingw echo in makefiles
* Fix Xcode to not mess up -gdwarf-2
* Fix crash when "linking" to custom targets.
* Allow HEADER_FILE_ONLY to not compile the file in VS 7 and 8
* Fix mingw out of binary with spaces in the path.
* Fix for sudo make install (partial)
* Allow installed zlib, curl, expat, xmlrpc to be used.
* Add CMakeDependentOption.cmake module
* Allow projects to set install prefix default
* improved Find/Use wxWidgets
* add support for windows dll version numbers
* Fix message for -G when generator does not exist
* Fix html references in help
* Fix version on .exe cygwin
* allow global timeout in ctest
* Fix some odd cases with custom commands in VS 6
* Fix path suffix stuff with lib64 in FIND_* stuff.
* Fix delete in CMakeSetup to not change the current position in the list
* Fix debug stl run of ctest on Mac
* Use #2 for manifest nt command on dll and #1 on exe
* Add depends from files inside qrc files in qt
* Fix explort_library_depends to work with optimized and debug
Changes in CMake 2.4.3
* fix for 3557 - Under MSVC8 hardcoded TargetEnvironment for MIDL Compiler
* Fix for Xcode all projects to prevent -fvisibility=hidden flags. This is
needed to make RTTI work by default.
* better prototype for main in try compile of c programs avoids warnings in
logs.
* with visual studio do not use incremental linking for release builds by
default.
* fix bootstrap to use more ansi c main it test compiler
* fix import build settings to do case insensitive match on windows
* fix building in root directory c:/
* Add support for CXX only projects
* Better FindWxWidgets
* Added FindBoose.cmake
* add more fortran file extensions
* Cpack supports multiple packages at the same time
* Fix to FindKDE4 to look for kde4-config first
* Support for env var CMAKE_CONFIG_TYPE in ctest
* Fix for -DVAR=foo on the command line not saving to the cache
* ENH: Added creation of XXX_FIND_COMPONENTS list of all components requested
withREQUIRED option. This addresses the feature request in bug#3494.
* Object files get safe names
* progress is now reported with makefiles
* location of CMakeTmp changed to a varible
* CMAKE_COLOR_MAKEFILE cache variable available to turn off color output
* fixes for FindQt4 on mac.
* Better search paths for finding VTK
* Fix relative path problems in ADD_SUBDIRECTORY
* Fix long link commands on UNIX shells
* Fix depend file names in makefiles for generated headers
* CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS allows for if/endif without variable
* Xcode multiple custom command problem fixed.
* INSTALL_RPATH_USE_LINK_PATH when true will add the link path to the rpath
* Add target/fast rules in the sub directories
* Fix Visual stuido C and C++ targets to not add /TP and /TC
* print a context when cmake errors occur
* add rxvt-unicode, cygwin, and screen terminal support for color output
* Fix crash in CMakeSetup when status line is long
* make sure try compile files have a newline at the end
* fix for hp itanium build
2007-02-23 12:48:18 +01:00
|
|
|
# as of 2.4.6, x11 and fortran tests fail in pkgsrc
|
|
|
|
TEST_TARGET= test
|
|
|
|
|
2006-05-19 23:32:52 +02:00
|
|
|
SUBST_CLASSES+= cmake
|
2010-11-11 09:34:01 +01:00
|
|
|
SUBST_STAGE.cmake= pre-configure
|
2011-09-14 19:54:48 +02:00
|
|
|
SUBST_MESSAGE.cmake= Fixing LOCALBASE and X11 paths.
|
|
|
|
SUBST_FILES.cmake+= Modules/FindX11.cmake
|
|
|
|
SUBST_FILES.cmake+= Modules/Platform/UnixPaths.cmake
|
|
|
|
SUBST_VARS.cmake= LOCALBASE X11BASE
|
2005-10-29 17:57:48 +02:00
|
|
|
|
2010-10-19 10:15:01 +02:00
|
|
|
SUBST_CLASSES+= flags
|
2010-11-11 09:34:01 +01:00
|
|
|
SUBST_STAGE.flags= pre-configure
|
2010-10-19 10:15:01 +02:00
|
|
|
SUBST_MESSAGE.flags= Fixing compiler flags.
|
|
|
|
SUBST_FILES.flags= Modules/Compiler/*.cmake
|
|
|
|
SUBST_SED.flags= -e 's,-O.,,'
|
2010-02-12 14:45:54 +01:00
|
|
|
|
2010-11-11 09:34:01 +01:00
|
|
|
pre-configure:
|
2013-12-19 15:29:07 +01:00
|
|
|
${RM} -f ${WRKSRC}/Modules/*.orig ${WRKSRC}/Modules/Platform/*.orig
|
|
|
|
${LN} -f ${WRKSRC}/Modules/Platform/OpenBSD.cmake ${WRKSRC}/Modules/Platform/MirBSD.cmake
|
2015-10-27 10:04:38 +01:00
|
|
|
.for lang in C CXX Fortran
|
|
|
|
${LN} -f ${WRKSRC}/Modules/Platform/SunOS-GNU-${lang}.cmake \
|
|
|
|
${WRKSRC}/Modules/Platform/SunOS-Clang-${lang}.cmake
|
|
|
|
.endfor
|
2010-06-14 00:43:46 +02:00
|
|
|
|
2015-12-11 15:47:35 +01:00
|
|
|
INCOMPAT_CURSES= NetBSD-[0-7].*-*
|
2015-09-15 15:08:37 +02:00
|
|
|
|
Changes 3.2.1:
* CMake learned to support unicode characters *encoded as UTF-8* on
Windows. This was already supported on platforms whose system APIs
accept UTF-8 encoded strings. Unicode characters may now be used in
CMake code, paths to source files, configured files such as ".h.in"
files, and other files read and written by CMake. Note that because
CMake interoperates with many other tools, there may still be some
limitations when using certain unicode characters.
* The "Compile Features" functionality is now aware of features
supported by more compilers, including:
* Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1.
* GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU").
* Microsoft Visual Studio ("MSVC") for versions 2010 through 2015.
* Oracle SolarisStudio ("SunPro") version 12.4.
* The "add_custom_command()" and "add_custom_target()" commands
learned a new "BYPRODUCTS" option to specify files produced as side
effects of the custom commands. These are not outputs because they
do not always have to be newer than inputs.
* The "file(GENERATE)" command can now generate files which are used
as source files for buildsystem targets. Generated files
automatically get their "GENERATED" property set to "TRUE".
Deprecated and Removed Features:
* Files written in the "cmake-language(7)", such as "CMakeLists.txt"
or "*.cmake" files, are now expected to be encoded as UTF-8. If
files are already ASCII, they will be compatible. If files were in
a different encoding, including Latin 1, they will need to be
converted.
* The "FindOpenGL" module no longer explicitly searches for any
dependency on X11 libraries with the "FindX11" module. Such
dependencies should not need to be explicit. Applications using X11
APIs themselves should find and link to X11 libraries explicitly.
2015-04-07 22:53:48 +02:00
|
|
|
BUILDLINK_API_DEPENDS.libarchive+= libarchive>=3.0.0
|
2010-11-11 09:34:01 +01:00
|
|
|
.include "../../archivers/libarchive/buildlink3.mk"
|
2014-03-14 23:47:44 +01:00
|
|
|
.include "../../devel/libexecinfo/buildlink3.mk"
|
2015-12-11 15:47:35 +01:00
|
|
|
.include "../../mk/curses.buildlink3.mk"
|
Update to 2.4.6:
Changes in CMake 2.4.6
* Remove svn test in ctestctest3
* Fix for FIND_* order and framworks with PREFIX usage.
* Fix for FindDoxygen and quiet mode.
* Find JavaVM as well as jvm
* Look for ruby1.8 and ruby
* Fix for cpack .tgz.sh and dash
* Fix for finding custom commands from a full path with CMAKE_CFG_INTDIR.
* Fix for Borland make and custom commands that do nothing
Changes in CMake 2.4.5
* Fix for seg fault when a macro runs a bad command BUG# 3815
* Fix fix for foo.dll.lib that does not brea -L/usr/lib in link names
* Fix problem with LIBRARY_OUTPUT_PATH and linking to a dll foo.dll.lib
instead of foo.lib
* Do not depend on optimized libraries for a debug build and visa versa.
* Fix target name matching custom command output conflict.
* Fix FindQt3 so that it does not find qt4
* Fix FindKDE4 so that it only looks for kde4-config
Changes in CMake 2.4.4
* CMake Version numbers on module directory
* elseif added
* Fix docs in CheckCSourceCompiles CheckCXXSourceCompiles and diagnostic
output.
* added Check(C/CXX)SourceRuns.cmake, CheckCXXCompilerFlag.cmake, Check
* add static and shared flags to make sure the specified versions of
libraries are used with -static -lfoo -shared -lbar
* Search for the compiler only once and store a full path. avoids problems
with PATH changes in cmake re-runs.
* make sure manifest files are generated with VS 8
* added FindASPELL.cmake, FindBZip2.cmake FindHPELL.cmake, FindJasper.cmake
FindLibXml2.cmake, FindLibXslt.cmake, FindOpenSSL.cmake
* fix for bug#3646 GLUT not Glut for framework name
* many fixes for FindKDE3.cmake
* Better FindPNG that honors REQUIRED and looks in more places.
* Support to find python 2.5
* Find Qt3 better
* Find Qt4 better and work with qmake and qmake-qt4 on the same machine.
* Much better FindRuby.cmake
* More stuff marked as advanced in FindTcl and FindSDL
* FindwxWidgets runs shell script wx-config with sh
* Support for cpack and vs8 install libraries
* Darwin shared library create and Fortran now work
* Support for isystem directories INCLUDE_DIRECTORIES (SYSTEM)
* Targets in makefiles to create pre-processed files and assembly files
can be turned off with these variables:
CMAKE_SKIP_PREPROCESSED_SOURCE_RULES CMAKE_SKIP_ASSEMBLY_SOURCE_RULES
* Support for QNX
* Better default search paths for unix and FIND_* stuff
* Use link /lib and not lib to create static libraries with MS
* Useqt4 works with static qt4 and other fixes
* UseSwig.cmake interface to add extra dependencies.
* Added APPEND option to ADD_CUSTOM_COMMAND, Added VERBATIM option to
ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET
* add EXCLUDE_FROM_ALL option for ADD_LIBRARY and ADD_EXECUTABLE
* Fix automatic computation of binary path to work for subdirectories of out
of source directories. This addresses bug#3592.
* --debug-ouput to cmake that gives stack trace to message send error commands.
The stack trace is no longer there without it.
* + can be in a variable
* Do not replace @VAR@ syntax in list files. This addresses bug #2722
* much faster depend scanning
* do depends on system include directories
* Permission and install directory fixes
* New target property <CONFIG>_LOCATION (Debug, Release, etc)
* fix exclude from all in VS
* fix code completion problem in KDevelop
* Define MSYS when using msys generator
* fix referencece to projects outside the build tree VS 7,8
* Fix ZERO_CHECK to not always try and rebuild
* Fix Xcode universal binary rebuild problem
* add FILE_IS_NEWER to if command
* Add OPTIONAL to INSTALL command fix bug@2922
* add SORT and REVERSE to LIST command
* fix for seg fault bug #3815
* add SYBOLIC as a source file property see SET_SOURCE_FILES_PROPERTIES
* fix ctest valgrind if no coverage is done
* better message if bogus generator is specified.
* Better FindJava and FindJNI
* Fix doxygen.config for CMake
* add CPACK_MODULE_PATH
* Fix configuration for ctest dashboard targets Experimental, Nightly, etc
* Fix FindDoxygen for mac and app-bundles
* Fix CPack simple install test with NSIS
* Allow EXECUTE_PROCESS to strip trailing white space
* Fix mingw echo in makefiles
* Fix Xcode to not mess up -gdwarf-2
* Fix crash when "linking" to custom targets.
* Allow HEADER_FILE_ONLY to not compile the file in VS 7 and 8
* Fix mingw out of binary with spaces in the path.
* Fix for sudo make install (partial)
* Allow installed zlib, curl, expat, xmlrpc to be used.
* Add CMakeDependentOption.cmake module
* Allow projects to set install prefix default
* improved Find/Use wxWidgets
* add support for windows dll version numbers
* Fix message for -G when generator does not exist
* Fix html references in help
* Fix version on .exe cygwin
* allow global timeout in ctest
* Fix some odd cases with custom commands in VS 6
* Fix path suffix stuff with lib64 in FIND_* stuff.
* Fix delete in CMakeSetup to not change the current position in the list
* Fix debug stl run of ctest on Mac
* Use #2 for manifest nt command on dll and #1 on exe
* Add depends from files inside qrc files in qt
* Fix explort_library_depends to work with optimized and debug
Changes in CMake 2.4.3
* fix for 3557 - Under MSVC8 hardcoded TargetEnvironment for MIDL Compiler
* Fix for Xcode all projects to prevent -fvisibility=hidden flags. This is
needed to make RTTI work by default.
* better prototype for main in try compile of c programs avoids warnings in
logs.
* with visual studio do not use incremental linking for release builds by
default.
* fix bootstrap to use more ansi c main it test compiler
* fix import build settings to do case insensitive match on windows
* fix building in root directory c:/
* Add support for CXX only projects
* Better FindWxWidgets
* Added FindBoose.cmake
* add more fortran file extensions
* Cpack supports multiple packages at the same time
* Fix to FindKDE4 to look for kde4-config first
* Support for env var CMAKE_CONFIG_TYPE in ctest
* Fix for -DVAR=foo on the command line not saving to the cache
* ENH: Added creation of XXX_FIND_COMPONENTS list of all components requested
withREQUIRED option. This addresses the feature request in bug#3494.
* Object files get safe names
* progress is now reported with makefiles
* location of CMakeTmp changed to a varible
* CMAKE_COLOR_MAKEFILE cache variable available to turn off color output
* fixes for FindQt4 on mac.
* Better search paths for finding VTK
* Fix relative path problems in ADD_SUBDIRECTORY
* Fix long link commands on UNIX shells
* Fix depend file names in makefiles for generated headers
* CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS allows for if/endif without variable
* Xcode multiple custom command problem fixed.
* INSTALL_RPATH_USE_LINK_PATH when true will add the link path to the rpath
* Add target/fast rules in the sub directories
* Fix Visual stuido C and C++ targets to not add /TP and /TC
* print a context when cmake errors occur
* add rxvt-unicode, cygwin, and screen terminal support for color output
* Fix crash in CMakeSetup when status line is long
* make sure try compile files have a newline at the end
* fix for hp itanium build
2007-02-23 12:48:18 +01:00
|
|
|
.include "../../textproc/expat/buildlink3.mk"
|
|
|
|
.include "../../www/curl/buildlink3.mk"
|
import cmake-1.6.6
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.
2003-05-07 13:55:03 +02:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|