summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
AgeCommit message (Collapse)Author
2019-04-23Link executable with static or shared libraryNick Wellnhofer
If CMARK_STATIC is on (default), link the executable with the static library. This produces exactly the same result as compiling the library sources again and linking with the object files. If CMARK_STATIC is off, link the executable with the shared library. This wasn't supported before and should be the preferred way to package cmark on Linux distros. Building only a shared library and a statically linked executable isn't supported anymore but this doesn't seem useful.
2019-03-18Remove deprecated call to add_compiler_export_flags()Jonathan Müller
It is deprecated in CMake 3.0, the replacement is to set the CXX_VISIBILITY_PRESET (or in our case C_VISIBILITY_PRESET) and VISIBILITY_INLINES_HIDDEN properties of the target. We're already setting them by setting the CMake variables anyway, so the call can be removed.
2018-09-05build: only attempt to install MSVC system libraries on WindowsSaleem Abdulrasool
Newer versions of CMake attempt to query the system for information about the VS 2017 installation. Unfortunately, this query fails on non-Windows systems when cross-compiling: cmake_host_system_information does not recognize <key> VS_15_DIR CMake will not find these system libraries on non-Windows hosts anyways, and we were silencing the warnings, so simply omit the installation when cross-compiling to Windows.
2017-11-14Generate export header for static-only buildNick Wellnhofer
Fixes issue #247.
2017-10-19Include GNUInstallDirs in src/CMakeLists.txtNick Wellnhofer
Fixes installation error under some CMake versions, notably kalakris' CMake backport often used with Travis.
2017-10-12Fixed regression in install dest for static library.John MacFarlane
Due to a mistake, 0.28.1 installed libcmark.a into include/. Closes #238.
2017-10-10Don't use CMAKE_INSTALL_LIBDIR to create libcmark.pc.John MacFarlane
For some reason this wasn't getting set in processing libcmark.pc.in, and we were getting the wrong entry in libcmark.pc. (See #236) The new approach sets an internal libdir variable to lib${LIB_SUFFIX}. This variable is used both to set the install destination and in the libcmark.pc.in template. Closes #236. However, I'd welcome comments from @juhp who originally added CMAKE_INSTALL_LIBDIR in #185. I think that the new system should work fine with Fedora, since LIB_SUFFIX will be set appropriately, but some testing is in order.
2017-06-27Add Makefile target and harness to fuzz with libFuzzerPhil Turnbull
This can be run locally with `make libFuzzer` but the harness will be integrated into oss-fuzz for large-scale fuzzing.
2017-01-06Make shared and static libraries optionalAzamat H. Hackimov
Now you can enable/disable compilation and installation targets for shared and static libraries via -DCMARK_SHARED=ON/OFF and -DCMARK_STATIC=ON/OFF
2017-01-06Added support for built-in ${LIB_SUFFIX} featureAzamat H. Hackimov
Replaced ${LIB_INSTALL_DIR} option with built-in ${LIB_SUFFIX} for installing for 32/64-bit systems. Normally, CMake will set ${LIB_SUFFIX} automatically for required enviroment. If you have any issues with it, you can override this option with -DLIB_SUFFIX=64 or -DLIB_SUFFIX="" during configuration.
2017-01-03Revert "More sourcepos! (#169)"John MacFarlane
This reverts commit 9e643720ec903f3b448bd2589a0c02c2514805ae.
2016-12-20More sourcepos! (#169)Mathieu Duponchelle
* open_new_blocks: always create child before advancing offset * Source map * Extent's typology * In-depth python bindings
2016-11-24Remove redundant cmake_minimum_required.John MacFarlane
Closes #163, thanks to @kainjow.
2016-11-19Use VERSION_GREATER to clean up cmake version test.John MacFarlane
2016-11-19Put set_policy under cmake version test.John MacFarlane
Otherwise we get errors in older versions of cmake.
2016-11-18Set policy for CMP0063 to avoid a warning.John MacFarlane
See #162.
2016-11-09Fix CMAKE_C_VISIBILITY_PRESET for cmake versions greater than 1.8 (e.g. ↵Hugh Bellamy
3.6.2) (#162) This lets us build swift-cmark on Windows, using clang-cl This was an oversight: CMAKE_C_VISIBILITY_PRESET is only available on CMAKE 1.8 or greater. However, the current check doesn't work for a version such as CMAKE 3.6.2, for example ```bash mkdir "C:/Users/hughb/Documents/GitHub/my-swift/build/Ninja-DebugAssert/cmark-windows-amd64" pushd "C:/Users/hughb/Documents/GitHub/my-swift/build/Ninja-DebugAssert/cmark-windows-amd64" cmake -G Ninja -DCMAKE_C_COMPILER="C:/Program Files/LLVM/msbuild-bin/cl.exe" -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/msbuild-bin/cl.exe" -DCMAKE_CXX_FLAGS="-Xclang -std=c++14" "C:/Users/hughb/Documents/GitHub/my-swift/cmark" popd cmake --build "C:/Users/hughb/Documents/GitHub/my-swift/build/Ninja-DebugAssert/cmark-windows-amd64/" -- -j6 all ```
2016-06-27Change export install locationJonathan Müller
2016-06-27Export the targets on installationJonathan Müller
This allows using them in other cmake projects.
2016-03-12Compile in plain C mode with MSVC 12.0 or newerNick Wellnhofer
Under MSVC, we used to compile in C++ mode to get some C99 features like mixing declarations and code. With newer MSVC versions, it's possible to build in plain C mode.
2015-12-28Make LIB_INSTALL_DIR configurable.John MacFarlane
Closes #79. Thanks to Mathieu Bridon for the patch.
2015-12-24Removed obsolete TIMER macro.John MacFarlane
2015-12-19Removed bench.h and timing calls in main.cJohn MacFarlane
2015-12-04Install static library.John MacFarlane
Closes jgm/CommonMark#381.
2015-08-10Remove need to disable MSVC warning 4267Kevin Wojniak
2015-08-10Remove need to disable MSVC warning 4244Kevin Wojniak
2015-08-10Remove need to disable MSVC warning 4244Kevin Wojniak
2015-08-10Remove need to disable MSVC warning 4800Kevin Wojniak
2015-08-09Avoid name clash between Windows .pdb filesNick Wellnhofer
2015-07-25Removed cmark_strbuf_printf and cmark_strbuf_vprintf.John MacFarlane
These are no longer needed, and cause complications for MSVC. Also removed HAVE_VA_COPY and HAVE_C99_SNPRINTF feature tests.
2015-07-15Set POSITION_INDEPENDENT_CODE ON for static library.John MacFarlane
See discussion in #39.
2015-07-11Factored out common bits of rendering into separate render module.John MacFarlane
* Added render.c, render.h. * Moved common functions and definitions from latex.c and commonmark.c to render.c, render.h. * Added a wrapper, cmark_render, that creates a renderer given a character-escaper and a node renderer. Closes #63.
2015-07-11Removed dependence on debug.h.John MacFarlane
(It uses GNU extensions, and we don't need it anyway.)
2015-07-05Added LaTeX renderer.John MacFarlane
* New exported function in API: `cmark_render_latex`. * Added src/latex.hs. * Updated README and man page. * Closes #31.
2015-06-17Renamed entities.h -> entities.inc.John MacFarlane
Also tools/make_entities_h.py -> tools/make_entitis_inc.py.
2015-06-16Replace gperf-based entity lookup with binary tree lookup.John MacFarlane
The primary advantage is a big reduction in the size of the compiled library and executable (> 100K). There should be no measurable performance difference in normal documents. I detected a slight performance hit (around 5%) in a file containing 1,000,000 entities. * Removed `src/html_unescape.gperf` and `src/html_unescape.h`. * Added `src/entities.h` (generated by `tools/make_entities_h.py`). * Added binary tree lookup functions to `houdini_html_u.c`, and use the data in `src/entities.h`.
2015-05-31Merge pull request #45 from nwellnhof/windows_snprintfJohn MacFarlane
Cope with broken snprintf on Windows
2015-05-31Removed -pg from Debug build flags.John MacFarlane
Closes #47.
2015-05-29Cope with broken snprintf on WindowsNick Wellnhofer
On Windows, snprintf returns -1 if the output was truncated. Fall back to Windows-specific _scprintf.
2015-05-29Revert "Ubsan: add -fsanitize=undefined to link flags too."John MacFarlane
This reverts commit 678bdab4a4421e64f7c36991a098ae6db730140b. This commit led to two -fsanitized=undefined in the same linker invocation.
2015-05-29Ubsan: add -fsanitize=undefined to link flags too.John MacFarlane
2015-05-29Added Ubsan build target, to check for undefined behavior.John MacFarlane
2015-04-26Suppress warnings about Windows runtime library filesNick Wellnhofer
Visual Studio Express editions do not include the redistributable files. Set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS to suppress warnings.
2015-04-26Compile static library with -DCMARK_STATIC_DEFINENick Wellnhofer
Fixes warnings on Windows.
2015-04-25Revert "CMakeLists.txt: quote variable to avoid warning."John MacFarlane
This reverts commit 890a926dec02d8f024a4492248dbff4f84d37ff2. Conflicts: src/CMakeLists.txt
2015-04-25Really fixed cmake warning.John MacFarlane
2015-04-25CMakeLists.txt: quote variable to avoid warning.John MacFarlane
2015-04-01Include patch level in sonameNick Wellnhofer
Minor version is tied to spec version, so this allows to break the ABI between spec releases.
2015-03-31Install compiler-provided system runtime libraries.Changjiang Yang
2015-03-21Added commonmark renderer.John MacFarlane
This is still incomplete. (See TODOs in the source.)