summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2020-01-15Reintroduce version check for MSVC /TP flagNick Wellnhofer
The flag is only required for old MSVC versions.
2020-01-05Move C_VISIBILITY_PRESET back to src/CMakeLists.txt.John MacFarlane
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. ```
2020-01-02build: chmod -x CMakeLists.txt (NFC)Saleem Abdulrasool
Remove the unnecessary execute permission on CMakeLists.txt.
2020-01-02build: use `CMAKE_INCLUDE_CURRENT_DIRECTORY`Saleem Abdulrasool
This uses the CMake mechanism for including the current source and binary directories. This avoids the custom handling for this.
2020-01-02build: improve man page installationSaleem Abdulrasool
man pages are extremely useful, but are not generally available on Windows. This changes the install condition to check for the Windows cross-compile rather than the toolchain in use. It is possible to build for Windows using clang in the GNU driver.
2020-01-02build: only include GNUInstallDirs onceSaleem Abdulrasool
Avoid including the utility once, which should avoid some unnecessary CMake checks, and reduces duplication.
2019-12-26build: replace `add_compile_definitions` (#321)Saleem Abdulrasool
Replace `add_compile_definitions` with `add_compile_options` since the former was introduced in 3.12.
2019-12-22build: cleanup CMake (#319)Saleem Abdulrasool
* 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
2019-05-29Remove "-rdynamic" flag for static builds (#300)Eric Pruitt
cmake adds `-rdynamic` on linux, even for static builds. This commit removes it for linux builds by resetting `CMAKE_SHARED_LIBRARY_LINK_C_FLAGS`.
2019-04-06Bump version to 0.29.0.John MacFarlane
2019-03-18Bump CMake to version 3Jonathan Müller
2017-11-18Also run API tests with CMARK_SHARED=OFFNick Wellnhofer
2017-10-21BUmp to 0.28.3John MacFarlane
2017-10-12Bump to 0.28.2, update changelog.John MacFarlane
2017-10-10Bump to 0.28.1, update changelog.John MacFarlane
2017-08-01Bump version to 0.28.0.John MacFarlane
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
2016-11-19Bump version to 0.27.1, update changelog.John MacFarlane
2016-11-18Bump to 0.27.0.John MacFarlane
2016-07-16Bump to 0.26.1.John MacFarlane
2016-07-15Bump version to 0.26.0John MacFarlane
2016-06-27Change export install locationJonathan Müller
2016-06-27Fix cmake warning about CMP0048Jonathan Müller
2016-06-27Export the targets on installationJonathan Müller
This allows using them in other cmake projects.
2016-03-26Version bump to 0.25.2.John MacFarlane
2016-03-24Updated version to 0.25.0.John MacFarlane
2016-03-10Moved the cmake minimum version to top linetinysun212
In the file CMakeLists.txt, the required version should be placed to top line. The information could not used at CMake/Modules/CYGWIN.cmake under Cygwin.
2016-01-17Bump to 0.24.1, updated changelog.John MacFarlane
2016-01-12Bump version to 0.24.0John MacFarlane
2015-12-28Bump version to 0.23.John MacFarlane
2015-08-23Version bump to 0.22.0.John MacFarlane
2015-08-11Add option to disable testsKevin Wojniak
2015-07-14Bump version to 0.21.0.John MacFarlane
2015-06-06Updated version to 0.20.0.John MacFarlane
2015-05-29Added Ubsan build target, to check for undefined behavior.John MacFarlane
2015-04-27Bump version to 0.19.0.John MacFarlane
2015-04-01Bump version to 0.18.3.John MacFarlane
2015-03-30Updated version to 0.18.2John MacFarlane
2015-03-09Version to 0.18.1.John MacFarlane
2015-03-03Updated version to 0.18.John MacFarlane
2015-02-19Added 'Asan' build type.John MacFarlane
`make asan` will link against ASan; the resulting executable will do checks for memory access issues. Thanks @JordanMilne for the suggestion.
2015-01-28Added Profile build type, 'make prof' target.John MacFarlane
2015-01-24Updated version in CMakeLists.txt.John MacFarlane
2015-01-23Set version in CMakeLists to 0.16.0.John MacFarlane
See #296.
2015-01-23Let cmake update versionNick Wellnhofer
Add a new template cmark_version.h.in to generate cmark_version.h containing version information.
2014-12-31Rename test builddir to 'build/testdir'Nick Wellnhofer
The directory 'build/test' clashed with the 'test' Makefile target. Since nmake doesn't support phony targets, the tests wouldn't be run on Windows.
2014-12-30Require cmake >= 2.8.9, use a ppa for travis.John MacFarlane
`package_find(PythonInterp)` doesn't find python 3.2 with the cmake travis provides.
2014-11-29Moved testing programs to test/.John MacFarlane
Added test/CMakeLists.txt.
2014-11-29Moved man page generation to man/CMakeLists.txt.John MacFarlane
Removed doxygen stuff for now. It seems too complex for what we need. We'll find another way to create cmark.3.