Commit Graph

886 Commits

Author SHA1 Message Date
Brad King 440822fa5c Source: Fix regression causing CMakeLib sources to be compiled repeatedly
In commit 4ff8604604 (Build: Do not use variables for sources lists,
2022-08-21) the sources of `CMakeLib` were accidentally made PUBLIC.
This causes them to be compiled again in all consuming targets.
Make the sources PRIVATE instead.
2022-10-05 12:51:44 -04:00
Kyle Edwards e316812884 CMakePresets.json: Add workflow presets to schema 2022-09-26 10:53:28 -04:00
Alex Turbov 9629be8080 Build: Use CMAKE_CURRENT_XXX_DIR instead of top dirs 2022-09-22 10:21:39 -04:00
Alex Turbov e6fb5a1feb Build: Sort linked libraries list of CMakeLib 2022-09-22 10:21:39 -04:00
Alex Turbov aa7290e8dc Build: Use imported target Threads::Threads instead of variable 2022-09-22 10:21:39 -04:00
Alex Turbov df8ad72ffa Build: Use imported target kwiml::kwiml instead of variables 2022-09-22 10:21:39 -04:00
Alex Turbov eeebf31e54 Build: Use imported target LibRHash::LibRHash instead of variables 2022-09-22 10:21:39 -04:00
Alex Turbov 08be01a181 Build: Use imported target LibUV::LibUV instead of variables 2022-09-22 10:21:38 -04:00
Alex Turbov ddac6dcbe8 Build: Use imported target JsonCpp::JsonCpp instead of variables 2022-09-22 10:21:38 -04:00
Alex Turbov ac76c53d33 Build: Use imported target CURL::libcurl instead of variables 2022-09-22 10:21:38 -04:00
Alex Turbov 1f5d9c5299 Build: Use imported target LibArchive::LibArchive instead of variables 2022-09-22 10:21:38 -04:00
Alex Turbov 9cdf5a6779 Build: Use imported target EXPAT::EXPAT instead of variables 2022-09-22 10:21:38 -04:00
Alex Turbov 2be5a7de4e Build: Use imported target ZLIB::ZLIB instead of variables 2022-09-22 10:20:30 -04:00
Alex Turbov 4c6a47c6b6 Build: Extract CMAKE_BUILD_UTILITIES macro into a separate include
The macro was one time used with the comment "Simply to improve readability...".
The result file doesn't have a macro anymore and just included into
the root `CMakeLists.txt`.
2022-09-22 09:24:49 -04:00
Alex Turbov 20b9808f90 Build: Use cmstd target instead of variable CMAKE_STD_LIBRARY 2022-09-22 09:24:49 -04:00
Alex Turbov 35ad2c6e5f Build: Replace foreach with 2 set calls 2022-09-22 09:24:49 -04:00
Alex Turbov 98e8b1755b Build: Move HAVE_CoreServices to cmCPackConfigure.h 2022-09-22 09:24:49 -04:00
Alex Turbov 7df955315b Build: Add ENABLE_BUILD_FREEBSD_PKG to cmCPackConfigure.h 2022-09-22 09:24:49 -04:00
Alex Turbov 626136ad4d Build: Use imported LibUUID::LibUUID target instead of variables
Also, simplify preprocessor condition to enable WIX CPack generator.
2022-09-22 09:24:48 -04:00
Alex Turbov 89a1e1c1be Build: Link w/ OBJECT library is OK since 3.12 2022-09-22 09:24:48 -04:00
Alex Turbov 3b32a1a820 Build: Introduce ManifestLib interface library
… instead of `MANIFEST_FILE` variable.
2022-09-22 09:24:48 -04:00
Alex Turbov a392df50b3 Build: Move KWSYS_ENCODING_DEFAULT_CODEPAGE to the config header 2022-09-22 09:24:48 -04:00
Alex Turbov 94bc776ec2 Style: Builtin commands in lower case 2022-09-22 09:24:48 -04:00
Alex Turbov 83491ddd43 Build: add_definitions()add_compile_definitions() 2022-09-22 09:24:48 -04:00
Alex Turbov 1bcacccce9 Build: Move STAT_HAS_ST_MTIM, STAT_HAS_ST_MTIMESPEC to config file 2022-09-22 09:24:47 -04:00
Alex Turbov 324d13b25d Build: Move CURL_CA_BUNDLE and CURL_CA_PATH to config header 2022-09-22 09:24:47 -04:00
Alex Turbov ae174f0dea Build: Move CMAKE_USE_WMAKE definition to cmConfigure.cmake.h.in 2022-09-22 09:24:47 -04:00
Alex Turbov 9a24c648eb Build: Fix target_link_libraries to use link interface keywords 2022-09-22 09:24:47 -04:00
Alex Turbov d5336ed714 Build: include_directories()target_include_directories() 2022-09-22 09:24:47 -04:00
Alex Turbov 4ff8604604 Build: Do not use variables for sources lists
Instead use `add_library()` with unconditionally compiled sources and
conditional `target_sources()` with extra sources to compile.
2022-09-22 09:24:47 -04:00
Alex Turbov 0aed435b35 Build: Simplify configure_file() calls 2022-09-22 09:24:47 -04:00
Alex Turbov dd28d76203 CMakeLists: Remove redundant spaces around CMake command calls 2022-09-22 09:24:46 -04:00
Alex Turbov a509602699 Build: Modernize some foreach calls to use IN LISTS/IN ITEMS 2022-09-22 09:24:46 -04:00
Kyle Edwards b699610df4 cmCMakePresetsGraph: Add package presets 2022-08-31 10:18:01 -04:00
Marc Chevrier 44a2f3f332 Add new flow-control commands for variables and policies scopes management
Add block() and endblock() commands offering the capability to create
new scopes for variables and/or policies.

Fixes: #20171
2022-08-22 16:25:53 +02:00
Ben Boeckel 29118091dc install: support CXX_MODULES_BMI installation bits 2022-07-06 10:15:23 -04:00
Ben Boeckel 02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents
This will allow all generators to share an implementation for actually
writing out the module map formats.
2022-06-16 10:28:34 -04:00
Ben Boeckel fb289dfcd9 cmExperimental: add a mechanism for experimental CMake features 2022-06-14 19:27:30 -04:00
Craig Scott 2aa83fa15b Dependency providers: Add find_package and FetchContent support
Fixes: #22619
2022-05-25 08:46:18 +10:00
Craig Scott c150f89f4d CPack: Remove the deprecated PackageMaker generator
This CPack generator has been deprecated since commit 7bf187499f
(CPack: Deprecate PackageMaker generator, 2020-01-31).

Fixes: #23344
2022-05-05 08:36:44 +10:00
Marc Chevrier 769f25aa3c cmWindowsRegistry: enhance unicode conversions 2022-04-29 16:51:17 +02:00
Marc Chevrier 17ff86547e cmake_host_system_information: query windows registry
Fixes: #21240, #23367
2022-04-13 08:59:08 -04:00
Brad King 11cc728e75 cmConstStack: Factor out of cmListFileBacktrace
This presents value semantics for a stack of constant values.
Internally it shares ownership to avoid copies.  Previously
this was implemented by `cmListFileBacktrace` explicitly,
but the approach can be re-used for other kinds of stacks.
2022-04-02 05:55:31 -04:00
Marc Chevrier 78dd7d5292 cmRulePlaceholderExpander: add base class for placeholder expansion reuse 2022-02-06 14:32:24 +01:00
Carsten Rudolph 193b8fca52 cmBuildOptions: Split build arguments into separate object. 2022-01-22 06:35:38 -05:00
Brad King 39eabc17c4 Merge topic 'cmake-presets-include'
26a5512c0f CMakePresets: Add include field
a239f23a98 Refactor: Generalize file graph in CMakePresets
84d440caac Refactor: Split JSON processing into configure, build, and test presets
fd6ea2f67f Refactor: Rename cmCMakePresetsFile to cmCMakePresetsGraph

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6829
2022-01-10 17:12:03 -05:00
Kyle Edwards 84d440caac Refactor: Split JSON processing into configure, build, and test presets
Split up the file so that it won't be too big on some systems.
2022-01-06 18:52:30 -05:00
Kyle Edwards fd6ea2f67f Refactor: Rename cmCMakePresetsFile to cmCMakePresetsGraph
And change all references to "file" to say "graph" instead.
2022-01-06 18:52:30 -05:00
Sumit Bhardwaj 938a53f4f1 Refactor VsProjectType to its own header
Move VsProject to its own header so that we can consolidate IsManaged
and IsCSharp.
2021-12-23 11:53:39 -08:00
Brad King 4ef974e6cb CPack: Remove undocumented deprecated OSXX11 generator
This CPack generator was never documented, and has been deprecated since
commit 2ed00e8ef8 (CPack: Deprecate OSXX11 generator, 2020-01-31,
v3.17.0-rc1~45^2).

Issue: #20235
2021-11-05 12:39:22 -04:00