<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cmark/src/CMakeLists.txt, branch master</title>
<subtitle>My own fork of cmark for commonmark conversion</subtitle>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/'/>
<entry>
<title>add support for groff mom filter</title>
<updated>2020-09-02T08:11:08+00:00</updated>
<author>
<name>KatolaZ</name>
<email>katolaz@freaknet.org</email>
</author>
<published>2020-09-02T08:11:08+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=e79cc4d68e6333e13d53e5262572e99c6877cbc6'/>
<id>e79cc4d68e6333e13d53e5262572e99c6877cbc6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>build: substitute the path into the generate files</title>
<updated>2020-01-25T01:27:22+00:00</updated>
<author>
<name>Saleem Abdulrasool</name>
<email>compnerd@compnerd.org</email>
</author>
<published>2020-01-24T22:09:44+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=242e277a661ec7e51f34dcaf86c1925d550b1498'/>
<id>242e277a661ec7e51f34dcaf86c1925d550b1498</id>
<content type='text'>
This resorts to the variable substitution to ensure the path embedded is
correct.  Without this, the path at the time of the configuration.  In
the case of the Swift project, this ended up searching in the *source*
directory rather than the *build* directory.  This will ensure that we
export the file to an absolute location and we use the same location in
the `cmarkConfig.cmake` file by means of CMake's `configure_file`
subsitution.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This resorts to the variable substitution to ensure the path embedded is
correct.  Without this, the path at the time of the configuration.  In
the case of the Swift project, this ended up searching in the *source*
directory rather than the *build* directory.  This will ensure that we
export the file to an absolute location and we use the same location in
the `cmarkConfig.cmake` file by means of CMake's `configure_file`
subsitution.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix CMake generator expression checking for MSVC</title>
<updated>2020-01-12T06:22:10+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-12T01:22:06+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=6b999d990504d02206b20befbc5fbaea9b8e2306'/>
<id>6b999d990504d02206b20befbc5fbaea9b8e2306</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move C_VISIBILITY_PRESET back to src/CMakeLists.txt.</title>
<updated>2020-01-05T20:44:15+00:00</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2020-01-05T20:42:20+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=845bce401846732431f984907a0472e3f0fd8766'/>
<id>845bce401846732431f984907a0472e3f0fd8766</id>
<content type='text'>
This reverts a change by @compnerd in commit
b6ffaca93e2b539ec407aeb4fd588c7f9441e7a9.
We don't want this for api_tests, as it triggers this warning:

```
CMake Warning (dev) at api_test/CMakeLists.txt:1 (add_executable):
  Policy CMP0063 is not set: Honor visibility properties for all target
  types.  Run "cmake --help-policy CMP0063" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  Target "api_test" of type "EXECUTABLE" has the following visibility
  properties set for C:

    C_VISIBILITY_PRESET

  For compatibility CMake is not honoring them for this target.
This warning is for project developers.  Use -Wno-dev to suppress it.
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts a change by @compnerd in commit
b6ffaca93e2b539ec407aeb4fd588c7f9441e7a9.
We don't want this for api_tests, as it triggers this warning:

```
CMake Warning (dev) at api_test/CMakeLists.txt:1 (add_executable):
  Policy CMP0063 is not set: Honor visibility properties for all target
  types.  Run "cmake --help-policy CMP0063" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  Target "api_test" of type "EXECUTABLE" has the following visibility
  properties set for C:

    C_VISIBILITY_PRESET

  For compatibility CMake is not honoring them for this target.
This warning is for project developers.  Use -Wno-dev to suppress it.
```
</pre>
</div>
</content>
</entry>
<entry>
<title>build: add exports targets for build tree usage</title>
<updated>2020-01-03T05:58:05+00:00</updated>
<author>
<name>Saleem Abdulrasool</name>
<email>compnerd@compnerd.org</email>
</author>
<published>2019-12-22T20:43:43+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=1ff180e23cc38ae82f30615e12b07e98f0794676'/>
<id>1ff180e23cc38ae82f30615e12b07e98f0794676</id>
<content type='text'>
This enables the use of the export targets from the build tree to allow
easy use of the CMark library in other projects.

Resolves: #307
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This enables the use of the export targets from the build tree to allow
easy use of the CMark library in other projects.

Resolves: #307
</pre>
</div>
</content>
</entry>
<entry>
<title>build: use target properties for include paths</title>
<updated>2020-01-03T05:58:05+00:00</updated>
<author>
<name>Saleem Abdulrasool</name>
<email>compnerd@compnerd.org</email>
</author>
<published>2019-12-22T19:30:18+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=b6c73d8b5c23000b1c548a01db4019e0a3a53c02'/>
<id>b6c73d8b5c23000b1c548a01db4019e0a3a53c02</id>
<content type='text'>
This configures the target to setup the include paths publicly for the
library targets in the build interface.  This enables uses of the
targets in the build tree without having to specify the include
directories.  This is particularly useful for use in the export targets,
but also simplifies the rules for the API tests.  The install interface
does not need the include directories as `cmark.h` is installed into
`include` which is a default include path.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This configures the target to setup the include paths publicly for the
library targets in the build interface.  This enables uses of the
targets in the build tree without having to specify the include
directories.  This is particularly useful for use in the export targets,
but also simplifies the rules for the API tests.  The install interface
does not need the include directories as `cmark.h` is installed into
`include` which is a default include path.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: reduce property computation in CMake</title>
<updated>2020-01-03T05:58:05+00:00</updated>
<author>
<name>Saleem Abdulrasool</name>
<email>compnerd@compnerd.org</email>
</author>
<published>2019-12-22T19:22:05+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=3113c42ac34c9ea88a555c05ac91bde7f56f9dcc'/>
<id>3113c42ac34c9ea88a555c05ac91bde7f56f9dcc</id>
<content type='text'>
This reduces the work that CMake needs to do to configure the libraries
by setting all the properties at once.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reduces the work that CMake needs to do to configure the libraries
by setting all the properties at once.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: use `CMAKE_INCLUDE_CURRENT_DIRECTORY`</title>
<updated>2020-01-03T05:58:05+00:00</updated>
<author>
<name>Saleem Abdulrasool</name>
<email>compnerd@compnerd.org</email>
</author>
<published>2019-12-22T19:17:48+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=3cad10545eca566bcf6c2bc3b5dd8b577a70493d'/>
<id>3cad10545eca566bcf6c2bc3b5dd8b577a70493d</id>
<content type='text'>
This uses the CMake mechanism for including the current source and
binary directories.  This avoids the custom handling for this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This uses the CMake mechanism for including the current source and
binary directories.  This avoids the custom handling for this.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: only include GNUInstallDirs once</title>
<updated>2020-01-03T05:58:05+00:00</updated>
<author>
<name>Saleem Abdulrasool</name>
<email>compnerd@compnerd.org</email>
</author>
<published>2019-12-22T18:29:46+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=b7188e8c1bfe0e148c3d3e6d08a9004cdfb2264d'/>
<id>b7188e8c1bfe0e148c3d3e6d08a9004cdfb2264d</id>
<content type='text'>
Avoid including the utility once, which should avoid some unnecessary
CMake checks, and reduces duplication.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid including the utility once, which should avoid some unnecessary
CMake checks, and reduces duplication.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: cleanup CMake  (#319)</title>
<updated>2019-12-22T18:21:35+00:00</updated>
<author>
<name>Saleem Abdulrasool</name>
<email>compnerd@compnerd.org</email>
</author>
<published>2019-12-22T18:21:35+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=b6ffaca93e2b539ec407aeb4fd588c7f9441e7a9'/>
<id>b6ffaca93e2b539ec407aeb4fd588c7f9441e7a9</id>
<content type='text'>
* build: inline a variable

* build: use `LINKER_LANGUAGE` property for C++ runtime

Rather than explicitly name the C++ runtime, use the `LINKER_LANGUAGE`
property to use the driver to spell the C++ runtime appropriately.

* build: use CMake to control C standard

Rather than use compiler specific flags to control the language
standard, indicate to CMake the desired standard.

* build: use the correct variable

These flags are being applied to the *C* compiler, check the C compiler,
not the C++ compiler.

* build: loosen the compiler check

This loosens the compiler identifier check to enable matching AppleClang
which is the identifier for the Xcode compiler.

* build: hoist shared flags to top-level CMakeLists

This hoists the common shared flags handling to the top-level CMakeLists
from sub-layers.  This prevents the duplication of the handling.

* build: remove duplicated flags

This is unnecessary, `/TP` is forced on all MSVC builds, no need to
duplicate the flag for older versions.

* build: loosen C compiler identifier check

Loosen the check to a match rather than equality check, this allows it
to match AppleClang which is the identifier for the Apple vended clang
compiler part of Xcode.

* build: use `add_compile_options`

Use `add_compile_options` rather than modify `CMAKE_C_FLAGS`.  The
latter is meant to be only modified by the user, not the package
developer.

* build: hoist sanitizer flags to global state

This moves the CMAKE_C_FLAGS handling to the top-level and uses
`add_compile_options` rather than modifying the user controlled flags.

* build: hoist `-fvisibilty` flags to top-level

These are global settings, hoist them to the top level.

* build: hoist the debug flag handling

Use a generator expression and hoist the flag handling for the debug
build.

* build: hoist the profile flag handling

This is a global flag, hoist it to the top level and use
`add_compile_options` rather than modify the user controlled flags.

* build: remove incorrect variable handling

This seemed to be attempting to set the linker not the linker flags for
the profile configuration.  This variable is not used, do not set it.

* build: remove unused CMake includes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* build: inline a variable

* build: use `LINKER_LANGUAGE` property for C++ runtime

Rather than explicitly name the C++ runtime, use the `LINKER_LANGUAGE`
property to use the driver to spell the C++ runtime appropriately.

* build: use CMake to control C standard

Rather than use compiler specific flags to control the language
standard, indicate to CMake the desired standard.

* build: use the correct variable

These flags are being applied to the *C* compiler, check the C compiler,
not the C++ compiler.

* build: loosen the compiler check

This loosens the compiler identifier check to enable matching AppleClang
which is the identifier for the Xcode compiler.

* build: hoist shared flags to top-level CMakeLists

This hoists the common shared flags handling to the top-level CMakeLists
from sub-layers.  This prevents the duplication of the handling.

* build: remove duplicated flags

This is unnecessary, `/TP` is forced on all MSVC builds, no need to
duplicate the flag for older versions.

* build: loosen C compiler identifier check

Loosen the check to a match rather than equality check, this allows it
to match AppleClang which is the identifier for the Apple vended clang
compiler part of Xcode.

* build: use `add_compile_options`

Use `add_compile_options` rather than modify `CMAKE_C_FLAGS`.  The
latter is meant to be only modified by the user, not the package
developer.

* build: hoist sanitizer flags to global state

This moves the CMAKE_C_FLAGS handling to the top-level and uses
`add_compile_options` rather than modifying the user controlled flags.

* build: hoist `-fvisibilty` flags to top-level

These are global settings, hoist them to the top level.

* build: hoist the debug flag handling

Use a generator expression and hoist the flag handling for the debug
build.

* build: hoist the profile flag handling

This is a global flag, hoist it to the top level and use
`add_compile_options` rather than modify the user controlled flags.

* build: remove incorrect variable handling

This seemed to be attempting to set the linker not the linker flags for
the profile configuration.  This variable is not used, do not set it.

* build: remove unused CMake includes
</pre>
</div>
</content>
</entry>
</feed>
