ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Modern CMake for C++: Discover a better approach to building, testing and packaging your software

دانلود کتاب CMake مدرن برای C++: روش بهتری برای ساخت، آزمایش و بسته بندی نرم افزار خود کشف کنید

Modern CMake for C++: Discover a better approach to building, testing and packaging your software

مشخصات کتاب

Modern CMake for C++: Discover a better approach to building, testing and packaging your software

ویرایش: 1 
نویسندگان:   
سری:  
ISBN (شابک) : 9781801070058 
ناشر: Packt Publishing 
سال نشر: 2022 
تعداد صفحات: 460 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 11 مگابایت 

قیمت کتاب (تومان) : 38,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 16


در صورت تبدیل فایل کتاب Modern CMake for C++: Discover a better approach to building, testing and packaging your software به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب CMake مدرن برای C++: روش بهتری برای ساخت، آزمایش و بسته بندی نرم افزار خود کشف کنید نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Cover
Title page
Copyright and Credits
Dedications
Contributors
Table of Contents
Preface
Section 1: Introducing CMake
Chapter 1: First Steps with CMake
	Technical requirements
	Understanding the basics
		What is CMake?
		How does it work?
	Installing CMake on different platforms
		Docker
		Windows
		Linux
		macOS
		Building from the source
	Mastering the command line
		CMake
		CTest
		CPack
		The CMake GUI
		CCMake
	Navigating the project files
		The source tree
		The build tree
		Listfiles
		CMakeLists.txt
		CMakeCache.txt
		The Config-files for packages
		The cmake_install.cmake, CTestTestfile.cmake, and CPackConfig.cmake files
		CMakePresets.json and CMakeUserPresets.json
		Ignoring files in Git
	Discovering scripts and modules
		Scripts
		Utility modules
		Find-modules
	Summary
	Further reading
Chapter 2: The CMake Language
	Technical requirements
	The basics of the CMake Language syntax
		Comments
		Command invocations
		Command arguments
	Working with variables
		Variable references
		Using the environment variables
		Using the cache variables
		How to correctly use the variable scope in CMake
	Using lists
	Understanding control structures in CMake
		Conditional blocks
		Loops
		Command definitions
	Useful commands
		The message() command
		The include() command
		The include_guard() command
		The file() command
		The execute_process() command
	Summary
	Further reading
Chapter 3: Setting Up Your First CMake Project
	Technical requirements
	Basic directives and commands
		Specifying the minimum CMake version – cmake_minimum_required()
		Defining languages and metadata – project()
	Partitioning your project
		Scoped subdirectories
		Nested projects
		External projects
	Thinking about the project structure
	Scoping the environment
		Discovering the operating system
		Cross-compilation – what are host and target systems?
		Abbreviated variables
		Host system information
		Does the platform have 32-bit or 64-bit architecture?
		What is the endianness of the system?
	Configuring the toolchain
		Setting the C++ standard
		Insisting on standard support
		Vendor-specific extensions
		Interprocedural optimization
		Checking for supported compiler features
		Compiling a test file
	Disabling in-source builds
	Summary
	Further reading
Section 2: Building With CMake
Chapter 4: Working with Targets
	Technical requirements
	The concept of a target
		Dependency graph
		Visualizing dependencies
		Target properties
		What are transitive usage requirements?
		Dealing with conflicting propagated properties
		Meet the pseudo targets
		Build targets
	Writing custom commands
		Using a custom command as a generator
		Using a custom command as a target hook
	Understanding generator expressions
		General syntax
		Types of evaluation
		Examples to try out
	Summary
		Further reading
Chapter 5: Compiling C++ Sources with CMake
	Technical requirements
	The basics of compilation
		How compilation works
		Initial configuration
		Managing sources for targets
	Preprocessor configuration
		Providing paths to included files
		Preprocessor definitions
		Configuring the headers
	Configuring the optimizer
		General level
		Function inlining
		Loop unrolling
		Loop vectorization
	Managing the process of compilation
		Reducing compilation time
		Finding mistakes
	Summary
		Further reading
Chapter 6: Linking with CMake
	Technical requirements
	Getting the basics of linking right
	Building different library types
		Static libraries
		Shared libraries
		Shared modules
		Position-independent code
	Solving problems with the One Definition Rule
		Dynamically linked duplicated symbols
		Use namespaces – don't count on a linker
	The order of linking and unresolved symbols
	Separating main() for testing
	Summary
	Further reading
Chapter 7: Managing Dependencies with CMake
	Technical requirements
	How to find installed packages
	Discovering legacy packages with FindPkgConfig
	Writing your own find-modules
	Working with Git repositories
		Providing external libraries through Git submodules
		Git-cloning dependencies for projects that don't use Git
	Using ExternalProject and FetchContent modules
		ExternalProject
		FetchContent
	Summary
	Further reading
Section 3: Automating With CMake
Chapter 8: Testing Frameworks
	Technical requirements
	Why are automated tests worth the trouble?
	Using CTest to standardize testing in CMake
		Build-and-test mode
		Test mode
	Creating the most basic unit test for CTest
		Structuring our projects for testing
	Unit-testing frameworks
		Catch2
		GTest
		GMock
	Generating test coverage reports
		Avoiding the SEGFAULT gotcha
	Summary
	Further reading
Chapter 9: Program Analysis Tools
	Technical requirements
	Enforcing the formatting
	Using static checkers
		Clang-Tidy
		Cpplint
		Cppcheck
		include-what-you-use
		Link what you use
	Dynamic analysis with Valgrind
		Memcheck
		Memcheck-Cover
	Summary
	Further reading
Chapter 10: Generating Documentation
	Technical requirements
	Adding Doxygen to your project
	Generating documentation with a modern look
	Summary
	Further reading
		Other documentation generation utilities
Chapter 11: Installing and Packaging
	Technical requirements
	Exporting without installation
	Installing projects on the system
		Installing logical targets
		Low-level installation
		Invoking scripts during installation
	Creating reusable packages
		Understanding the issues with relocatable targets
		Installing target export files
		Writing basic config-files
		Creating advanced config-files
		Generating package version files
	Defining components
		How to use components in find_package()
		How to use components in the install() command
	Packaging with CPack
	Summary
	Further reading
Chapter 12: Creating Your Professional Project
	Technical requirements
	Planning our work
	Project layout
		Object libraries
		Shared libraries versus static libraries
		Project file structure
	Building and managing dependencies
		Building the Calc library
		Building the Calc Console executable
	Testing and program analysis
		Preparing the coverage module
		Preparing the Memcheck module
		Applying testing scenarios
		Adding static analysis tools
	Installing and packaging
		Installation of the library
		Installation of the executable
		Packaging with CPack
	Providing the documentation
		Automatic documentation generation
		Not-so-technical documents of professional project
	Summary
	Further reading
Appendix: Miscellaneous Commands
	The string() command
		Search and replace
		Manipulation
		Comparison
		Hashing
		Generation
		JSON
	The list() command
		Reading
		Searching
		Modification
		Ordering
	The file() command
		Reading
		Writing
		Filesystem
		Path conversion
		Transfer
		Locking
		Archiving
	The math() command
Index
Other Books You May Enjoy




نظرات کاربران