mastering cmake pdf
mastering cmake pdf
mastering cmake pdf
mastering cmake pdf
 

Mastering Cmake Pdf May 2026

find_path(MyLib_INCLUDE_DIR mylib.h PATHS /usr/include /usr/local/include) find_library(MyLib_LIBRARY mylib PATHS /usr/lib /usr/local/lib) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(MyLib DEFAULT_MSG MyLib_LIBRARY MyLib_INCLUDE_DIR)

if(MyLib_FOUND AND NOT TARGET MyLib::MyLib) add_library(MyLib::MyLib UNKNOWN IMPORTED) set_target_properties(MyLib::MyLib PROPERTIES IMPORTED_LOCATION "$MyLib_LIBRARY" INTERFACE_INCLUDE_DIRECTORIES "$MyLib_INCLUDE_DIR" ) endif() 1. Generator Expressions Evaluated during build system generation, not during CMake configuration. mastering cmake pdf

add_library(math STATIC add.cpp multiply.cpp) target_include_directories(math PUBLIC $CMAKE_CURRENT_SOURCE_DIR/include) target_compile_features(math PUBLIC cxx_std_17) option(BUILD_MATH_EXAMPLES "Build math examples" OFF) if(BUILD_MATH_EXAMPLES) add_executable(calc_example examples/calc.cpp) target_link_libraries(calc_example PRIVATE math) endif() find_path(MyLib_INCLUDE_DIR mylib

add_library(utils STATIC utils.cpp) target_include_directories(utils PUBLIC include/private) # Both utils and my_app need it target_compile_definitions(utils PRIVATE UTILS_BUILD=1) add_executable(my_app main.cpp) target_link_libraries(my_app PRIVATE utils) # utils's PUBLIC includes propagate A master-level CMake project looks like this: #include "math/add.h" TEST_CASE("Addition works"

#include <catch2/catch.hpp> #include "math/add.h" TEST_CASE("Addition works", "[math]") REQUIRE(add(2, 2) == 4);

Мыши Pro
Мыши
Аудио
    Клавиатуры
      Наборы
        Коврики
          Кресла
            ПОДДЕРЖКА
            О КОМПАНИИ