Mastering CMake: [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts]
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
[Clifton Park, NY]
Kitware
2007
|
Ausgabe: | 4. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis Inhaltsverzeichnis |
Beschreibung: | VII, 385 S. 7 Bl. Errata |
ISBN: | 9781930934207 1930934203 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035258731 | ||
003 | DE-604 | ||
005 | 20110705 | ||
007 | t | ||
008 | 090120s2007 |||| 00||| eng d | ||
020 | |a 9781930934207 |9 978-1-930934-20-7 | ||
020 | |a 1930934203 |9 1-930934-20-3 | ||
035 | |a (OCoLC)254713739 | ||
035 | |a (DE-599)BVBBV035258731 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-91G |a DE-634 |a DE-83 | ||
084 | |a ST 257 |0 (DE-625)143630: |2 rvk | ||
084 | |a DAT 332f |2 stub | ||
100 | 1 | |a Martin, Ken |d 1968- |e Verfasser |0 (DE-588)13973970X |4 aut | |
245 | 1 | 0 | |a Mastering CMake |b [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] |c Ken Martin & Bill Hoffman |
250 | |a 4. ed. | ||
264 | 1 | |a [Clifton Park, NY] |b Kitware |c 2007 | |
300 | |a VII, 385 S. |e 7 Bl. Errata | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a CMake |0 (DE-588)7573102-2 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a CMake |0 (DE-588)7573102-2 |D s |
689 | 0 | 1 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
700 | 1 | |a Hoffman, Bill |e Verfasser |4 aut | |
856 | 4 | |u http://www.gbv.de/dms/hbz/toc/ht015501912.pdf |3 Inhaltsverzeichnis | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017064283&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-017064283 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804138540895830016 |
---|---|
adam_text | Contents
CHAPTER 1 WHYCMAKE? I
1.1 The History of CMake 3
1.2 Why Not Use Autoconf? 3
1.3 Why Not Use JAM, qmake, SCons, or ANT? 4
1.4 Why Not Script It Yourself? 4
1.5 On What Platforms Does CMake Run? 5
CHAPTER 2 GETTING STARTED 7
2.1 Getting and Installing CMake on Your Computer 7
2.2 UNIX and Mac Binary Installations 7
2.3 Windows Binary Installation: 8
2.4 Building CMake Yourself 8
2.5 Basic CMake Usage and Syntax 8
2.6 Hello World for CMake 9
2.7 How to Run CMake? 11
Running CMake for Windows /Microsoft Visual C++ 11
Running CMake on UNIX /.?
Running CMake on Mac OSX 16
Running CMake from the Command Line 16
Specifying the Compiler to CMake 17
Dependency Analysis Ifi
2.8 Editing CMakeLists Files 18
2.9 Setting Initial Values for CMake 19
CHAPTER 3 KEY CONCEPTS H
3.1 Main Structures 21
3.2 Targets 24
3.3 Source Files 25
3.4 Directories. Generators. Tests, and Properties 26
3.5 Variables and Cache Entries 27
3.6 Build Configurations 30
CHAPTER 4 WRITING CMAKELISTS FILES 33
4.1 CMake Syntax 33
4.2 Basic Commands 34
4.3 Flow Control 34
4.4 Regular Expressions 41
4.5 Checking Versions of CMake 43
jy
4.6 Using Modules 44
Using CMake with SWIG 47
Using CMake with Qt 48
Using CMake with FLTK 49
4.7 Specifying Optimized or Debug Libraries with a Target 49
4.8 Shared Libraries and Loadable Modules 50
4.9 Shared Library Versioning 55
4.10 Installing Files 56
4.11 Advanced Commands 66
CHAPTER 5 PACKAGING WITH CPACK 69
5.1 CPack Basics 69
Simple Example 70
What happens when CPack.cmake is included 71
Adding custom CPack options 72
Options added by CPack 73
5.2 CPack Source Packages 74
5.3 CPack Installer commands 74
CPack and CMake install commands 75
CPack and DESTDIR 75
CPack and other installed directories 75
5.4 CPack for Windows Installer NSIS 76
CPack variables used by CMake for NSIS 76
Creating Windows Short Cuts in the Start Menu 81
Advanced NSIS CPack Options 81
Setting file extension associations with NSIS 82
Installing Microsoft run time libraries 83
5.5 CPack for Cygwin Setup 83
5.6 CPack for Apple OSX PackageMaker 86
5.7 CPack for OSX XI1 applications 89
5.8 CPack for Debian packages 91
5.9 CPack for RPM 92
5.10 CPack files 93
CHAPTER 6 CONVERTING EXISTING SYSTEMS TO CMAKE 95
6.1 Source Code Directory Structures 95
6.2 Build Directories 97
6.3 Useful CMake Commands when Converting Projects 99
6.4 Converting UNIX Makefiles 100
6.5 Converting Autoconf Based Projects 101
6.6 Converting Windows Based Workspaces 103
V
CHAPTER 7 SYSTEM INSPECTION 105
7.1 Using Header Files and Libraries 105
7.2 System Properties 107
7.3 Built-in Find Modules 113
7.4 How to Pass Parameters to a Compilation? 115
7.5 How to Configure a Header File 116
7.6 Creating a Package Config.cmake File 118
CHAPTER 8 CUSTOM COMMANDS AND TARGETS 125
8.1 Portable Custom Commands 125
8.2 Using add_custom_command on a Target 127
How to Copy an Executable Once it is Built? 128
8.3 Using add_custom_command to Generate a File 129
Using an Executable to Build a Source File 129
8.4 Adding a Custom Target 130
8.5 Specifying Dependencies and Outputs 133
8.6 When There Isn t One Rule for One Output 134
A Single Command Producing Multiple Outputs 134
Having One Output That Can Be Generated By Different Commands 134
CHAPTER 9 CROSS COMPILING WITH CMAKE 137
9.1 Toolchain files 138
Finding external libraries, programs and other files 140
9.2 System inspection 142
Using compile checks 142
9.3 Running executables built in the project itself 144
9.4 Cross compiling Hello world 147
9.5 Cross compiling for a microcontroller 152
9.6 Cross compiling an existing project 154
9.7 Cross compiling a complex project - VTK 157
9.8 Some tips and tricks 158
Dealing with try_run tests 158
Target platform and toolchain issues 159
RPATH handling under UNIX 159
CHAPTER 10 AUTOMATION TESTING WITH CMAKE 161
10.1 Automating and Testing with CMake and CTest 161
10.2 How does CMake Facilitate Testing? 162
10.3 Testing Using CTest 163
10.4 Additional Test Properties 166
10.5 Using CTest to Drive Complex Tests 167
yj
10.6 Handling a Large Number of Tests 168
10.7 Producing Test Dashboards 169
Adding DART Dashboard Support to a Project 172
Project Specific Dashboard 174
Customizing Dashboards for a Project 176
Adding Notes to a Dashboard 178
10.8 Setting up Automated Dashboard Clients 178
Settings for Continuous Dashboards 183
Variables Available in CTest Scripts 185
10.9 Advanced CTest Scripting 185
Limitations of Traditional CTest Scripting 185
Extended CTest Scripting 186
10.10 Setting up a Dashboard Server 191
Dart Server Version 1 Setup 191
Dart Server Version 2 Setup 193
CDash Server 195
CHAPTER 11 PORTING CMAKE TO NEW PLATFORMS AND LANGUAGES 197
11.1 The Determine System Process 197
11.2 The Enable Language Process 198
11.3 Porting to a New Platform 200
11.4 Adding a New Language 202
11.5 Rule Variable Listing 202
General Tag Variables 203
Language Specific Information 203
11.6 Compiler and Platform Examples 204
Cotno Compiler 204
Borland Compiler 205
11.7 Extending CMake 206
Creating a Loaded Command 206
Using a Loaded Command 207
CHAPTER 12 TUTORIALS 211
12.1 A Basic Starting Point (Step 1) 211
Adding a Version Number and Configured Header File 212
12.2 Adding a Library (Step 2) 213
12.3 Installing and Testing (Step 3) 216
12.4 Adding System Introspection (Step 4) 218
12.5 Adding a Generated File and Generator (Step 5) 218
12.6 Building an Installer (Step 6) 223
12.7 Adding Support for a Dashboard (Step 7) 224
yi|
APPENDIX A - VARIABLES 225
Variables That Change Behavior 225
Variables That Describe the System 228
Variables for Languages 230
Variables that Control the Build 233
Variables that Provide Information 235
Variables In CMakeBackwardCompatibilityC.cmake 241
Variables in CMakeBackwardCompatibilityCXX.cmake 243
System Environment Variables That Affect CMake 243
APPENDIX B - CMAKE COMMAND REFERENCE 245
CMake Command-Line Options 245
CMake Generators 250
CTest Command-Line Options 251
CPack Command-Line Options 257
Listfile Commands 258
Extra CTest Listfile Commands 308
Compatibility Listfile Commands 310
APPENDIX C - CMAKE MODULES 317
Standard CMake Modules 317
APPENDIX D - PROPERTIES 367
Global Properties 367
Directory Properties 368
Target Properties 369
Test Properties 374
Sourcefile Properties 375
Copyright 377
See Also 378
Mailing List 379
INDEX 381
|
any_adam_object | 1 |
author | Martin, Ken 1968- Hoffman, Bill |
author_GND | (DE-588)13973970X |
author_facet | Martin, Ken 1968- Hoffman, Bill |
author_role | aut aut |
author_sort | Martin, Ken 1968- |
author_variant | k m km b h bh |
building | Verbundindex |
bvnumber | BV035258731 |
classification_rvk | ST 257 |
classification_tum | DAT 332f |
ctrlnum | (OCoLC)254713739 (DE-599)BVBBV035258731 |
discipline | Informatik |
edition | 4. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01777nam a2200409 c 4500</leader><controlfield tag="001">BV035258731</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20110705 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">090120s2007 |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781930934207</subfield><subfield code="9">978-1-930934-20-7</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1930934203</subfield><subfield code="9">1-930934-20-3</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)254713739</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035258731</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-83</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 257</subfield><subfield code="0">(DE-625)143630:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 332f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Martin, Ken</subfield><subfield code="d">1968-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)13973970X</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Mastering CMake</subfield><subfield code="b">[a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts]</subfield><subfield code="c">Ken Martin & Bill Hoffman</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">4. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">[Clifton Park, NY]</subfield><subfield code="b">Kitware</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">VII, 385 S.</subfield><subfield code="e">7 Bl. Errata</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">CMake</subfield><subfield code="0">(DE-588)7573102-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">CMake</subfield><subfield code="0">(DE-588)7573102-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Hoffman, Bill</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.gbv.de/dms/hbz/toc/ht015501912.pdf</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017064283&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-017064283</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV035258731 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T21:29:49Z |
institution | BVB |
isbn | 9781930934207 1930934203 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-017064283 |
oclc_num | 254713739 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM DE-634 DE-83 |
owner_facet | DE-91G DE-BY-TUM DE-634 DE-83 |
physical | VII, 385 S. 7 Bl. Errata |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Kitware |
record_format | marc |
spelling | Martin, Ken 1968- Verfasser (DE-588)13973970X aut Mastering CMake [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] Ken Martin & Bill Hoffman 4. ed. [Clifton Park, NY] Kitware 2007 VII, 385 S. 7 Bl. Errata txt rdacontent n rdamedia nc rdacarrier C Programmiersprache (DE-588)4113195-2 gnd rswk-swf CMake (DE-588)7573102-2 gnd rswk-swf CMake (DE-588)7573102-2 s C Programmiersprache (DE-588)4113195-2 s 1\p DE-604 Hoffman, Bill Verfasser aut http://www.gbv.de/dms/hbz/toc/ht015501912.pdf Inhaltsverzeichnis HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017064283&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Martin, Ken 1968- Hoffman, Bill Mastering CMake [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] C Programmiersprache (DE-588)4113195-2 gnd CMake (DE-588)7573102-2 gnd |
subject_GND | (DE-588)4113195-2 (DE-588)7573102-2 |
title | Mastering CMake [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] |
title_auth | Mastering CMake [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] |
title_exact_search | Mastering CMake [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] |
title_full | Mastering CMake [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] Ken Martin & Bill Hoffman |
title_fullStr | Mastering CMake [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] Ken Martin & Bill Hoffman |
title_full_unstemmed | Mastering CMake [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] Ken Martin & Bill Hoffman |
title_short | Mastering CMake |
title_sort | mastering cmake a cross platform build system covers installing and running cmake details converting existing build processes to cmake create powerful cross platform build scripts |
title_sub | [a cross-platform build system ; covers installing and running CMake ; details converting existing build processes to CMake ; create powerful cross-platform build scripts] |
topic | C Programmiersprache (DE-588)4113195-2 gnd CMake (DE-588)7573102-2 gnd |
topic_facet | C Programmiersprache CMake |
url | http://www.gbv.de/dms/hbz/toc/ht015501912.pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017064283&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT martinken masteringcmakeacrossplatformbuildsystemcoversinstallingandrunningcmakedetailsconvertingexistingbuildprocessestocmakecreatepowerfulcrossplatformbuildscripts AT hoffmanbill masteringcmakeacrossplatformbuildsystemcoversinstallingandrunningcmakedetailsconvertingexistingbuildprocessestocmakecreatepowerfulcrossplatformbuildscripts |
Es ist kein Print-Exemplar vorhanden.
Inhaltsverzeichnis