a57e7630 Help: Add notes for topic 'swig_add_library'
013193d0 SwigTest: Update for swig_add_library and add lua example
ec1d585c UseSWIG: Do not set PREFIX property for SHARED and STATIC lua libraries
4c5b3c1c UseSWIG: Do not set NO_SONAME property for SHARED and STATIC libraries
d0a9d8bb UseSWIG: Add swig_add_library macro.
swig_add_module does not allow to set the type for the library and
instead always create the library as MODULE.
This patch adds the new swig_add_library command with this signature:
SWIG_ADD_LIBRARY(<name>
[TYPE <SHARED|MODULE|STATIC>]
LANGUAGE <language>
SOURCES <file>...
)
The swig_add_module is deprecated in favour of swig_add_library.
Closes: #16415
The `__cplusplus` macro is not defined to the language level reliably.
When simulating MSVC it is always set to `1`. When simulating GCC it is
set to the lower value of the current language level and the maximum
level supported by the simulated version of GCC (from observation).
For MSVC we already used a combination of `__INTEL_CXX11_MODE__` and
`__cpp_aggregate_nsdmi` to detect C++14 mode. Extend this for general
use by removing the condition on `_MSC_VER`.
Add a `GIT_CONFIG` parameter that allows to specify `--config` flags
that are passed to the git clone command. This can be used to specify
for example `core.autocrlf=true`. The `--config` parameter is supported
since Git 1.7.7.
Just modify the cache var property rather than using set() to hide it.
Otherwise the set() includes other values added to the temporary list.
Closes: #16406
b34c0457 Release text for omitting unsupported tags topic
cd042330 CPack/RPM test for Suggests tag
228280d8 CPack/RPM prevent special tags from being removed
d8e83ab9 CPack/RPM omit unsupported tags
The options to the find_library call to create the imported target
used a literal string "HINTS /path NO_DEFAULT_PATH" instead of a
list of options. This resulted in never finding any library in my
testing.
When using a Fortran compiler that produces PIC executables by default
with a C compiler that does not produce PIC by default then the mangling
detection executable fails to link. Explicitly enable PIC for the C
compiler just in case the Fortran compiler needs it to link.
Issue: #16405
9a8d758c Help: Document language standard meta-features
df252db1 Features: Test cycle diagnostic with language standard meta-feature
6d5fb0e0 Features: Test feature propagation with language standard meta-feature
a34b98a8 WCDH: Ignore language standard meta-features
b0996a3f Features: Add meta-features requesting awareness of a particular standard
8b6cc251 Features: Centralize per-compiler recording macros
2d23f7b2 Features: Do not record features on MSVC < 2010
This condition needs to follow the same pattern added in note `[1]` by
commit a5a3642f (Features: Port Intel CXX features to test macros where
possible, 2016-10-26). It was accidentally left out of that commit.
The `{c,cxx}_std_*` features are meant for use with
`target_compile_features` but do not make sense for use with
WriteCompilerDetectionHeader. Filter them out of any requested list.
A common use case of `target_compile_features` is simply to specify that
the compiler should be run in a mode that is aware of e.g. C++11. Some
projects simply specify a particular C++11-only feature to request this.
Provide a first-class way to do this by naming features after the
corresponding language standard. Record them as always available in the
corresponding standard level so that requesting them always ensures that
standard (or higher) is used.
We have no feature tests for versions of VS older than 2010, so do
not even call `record_compiler_features` for such versions. This
is consistent with other compilers where we call this macro only
for versions for which we have recorded features.
Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching
to correctly find HL for all bindings, 2016-05-12) changed the default
behavior from finding only the C bindings to finding everything for the
enabled languages. Restore the original behavior for compatibility and
because many projects need only the C bindings.
Closes: #16397
`CPACK_RPM_COMPONENT_INSTALL` is the correct variable to set to enable
component packaging. `CPACK_RPM_PACKAGE_COMPONENT` is just set to a
component name when CPack calls corresponding installer.
`CPACK_DEB_COMPONENT_INSTALL` is the correct variable to set to enable
component packaging. `CPACK_DEB_PACKAGE_COMPONENT` is just set to a
component name when CPack calls corresponding installer.