cmake string(SET) examples

pothosware/SoapySDR CMakeLists.txt :31

string(REGEX MATCH "Release ([0-9]+\\.[0-9]+\\.[0-9]+) \\(" CHANGELOG_MATCH "${changelog_txt}")
if(NOT CHANGELOG_MATCH)
    message(FATAL_ERROR "Failed to extract version number from Changelog.txt")
endif(NOT CHANGELOG_MATCH)
set(SOAPY_SDR_LIBVER "${CMAKE_MATCH_1}")

if (NOT SOAPY_SDR_EXTVER)
    include(${PROJECT_SOURCE_DIR}/cmake/Modules/GetGitRevisionDescription.cmake)
    get_git_head_revision(GITREFSPEC GITHASH)
    if (GITHASH)
        string(SUBSTRING "${GITHASH}" 0 8 GITHASH)
        set(SOAPY_SDR_EXTVER "g${GITHASH}")
    else (GITHASH)
        set(SOAPY_SDR_EXTVER "unknown")
    endif (GITHASH)
endif()

set(SOAPY_SDR_VERSION "${SOAPY_SDR_LIBVER}-${SOAPY_SDR_EXTVER}")

#SOAPY_SDR_ROOT is compiled into the library to locate the install base.
#By default, the SOAPY_SDR_ROOT is set to the CMAKE_INSTALL_PREFIX.
#However users may overload this by specifying -DSOAPY_SDR_ROOT=<path>.
set(SOAPY_SDR_ROOT "${CMAKE_INSTALL_PREFIX}" CACHE PATH
    "Installation root for SoapySDR::getRootPath()")
file(TO_CMAKE_PATH "${SOAPY_SDR_ROOT}" SOAPY_SDR_ROOT)

#SOAPY_SDR_ROOT_ENV is the name of the environment variable
#which tells SoapySDR where to find the root installation.
#By default, the environment variable SOAPY_SDR_ROOT is used.
#Example: set -DSOAPY_SDR_ROOT_ENV=SNAP for snappy packages.
set(SOAPY_SDR_ROOT_ENV "SOAPY_SDR_ROOT" CACHE STRING
    "Environment variable for SoapySDR::getRootPath()")

########################################################################
# select the release build type by default to get optimization flags
########################################################################
if(NOT CMAKE_BUILD_TYPE)
   set(CMAKE_BUILD_TYPE "Release")
   message(STATUS "Build type not specified: defaulting to release.")
endif(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")

########################################################################
# rpath setup - http://www.cmake.org/Wiki/CMake_RPATH_handling
########################################################################
# use, i.e. don't skip the full RPATH for the build tree
option(CMAKE_SKIP_BUILD_RPATH "skip rpath build" FALSE)

# when building, don't use the install RPATH already
# (but later on when installing)
option(CMAKE_BUILD_WITH_INSTALL_RPATH "build with install rpath" FALSE)

# the RPATH to be used when installing, but only if it's not a system directory
option(CMAKE_AUTOSET_INSTALL_RPATH TRUE)
if(CMAKE_AUTOSET_INSTALL_RPATH)
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" isSystemDir)
IF("${isSystemDir}" STREQUAL "-1")
    SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
ENDIF("${isSystemDir}" STREQUAL "-1")
endif(CMAKE_AUTOSET_INSTALL_RPATH)

# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
option(CMAKE_INSTALL_RPATH_USE_LINK_PATH "build with automatic rpath" TRUE)

if(APPLE)
    set(CMAKE_MACOSX_RPATH ON)
endif()

########################################################################
# Allows in-tree module util
########################################################################
set(SoapySDR_DIR ${PROJECT_SOURCE_DIR}/cmake/Modules)
set(SOAPY_SDR_IN_TREE_SOURCE_DIR ${PROJECT_SOURCE_DIR})
find_package(SoapySDR CONFIG REQUIRED)

########################################################################
# Install cmake helper modules
########################################################################
include(CMakePackageConfigHelpers)
if (UNIX OR MSYS OR MINGW)
    set(CMAKE_LIB_DEST ${CMAKE_INSTALL_DATADIR}/cmake/${PROJECT_NAME})
elseif (WIN32)
    set(CMAKE_LIB_DEST cmake)
endif ()

write_basic_package_version_file(
    ${PROJECT_BINARY_DIR}/SoapySDRConfigVersion.cmake
    VERSION ${SOAPY_SDR_VERSION}
    COMPATIBILITY AnyNewerVersion)

install(FILES
    ${PROJECT_SOURCE_DIR}/cmake/Modules/SoapySDRConfig.cmake
    ${PROJECT_SOURCE_DIR}/cmake/Modules/SoapySDRUtil.cmake
    ${PROJECT_BINARY_DIR}/SoapySDRConfigVersion.cmake
    DESTINATION ${CMAKE_LIB_DEST})

########################################################################
# Install headers
########################################################################
install(DIRECTORY include/SoapySDR DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

########################################################################
# Build subdirs
########################################################################
add_subdirectory(lib)
add_subdirectory(apps)
add_subdirectory(tests)
add_subdirectory(docs)

########################################################################
# SWIG wrappers (optional)
########################################################################
add_subdirectory(swig)

########################################################################
# LuaJIT support (optional)
########################################################################
message(STATUS "")
message(STATUS "#############################################")
message(STATUS "## Begin configuration for LuaJIT support...")
message(STATUS "#############################################")
message(STATUS "Enabling optional LuaJIT bindings if possible...")
add_subdirectory(luajit)

########################################################################
# uninstall target
########################################################################
configure_file(
    "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
    IMMEDIATE @ONLY)

#only add uninstall target if this is the top project
if(${CMAKE_PROJECT_NAME} STREQUAL ${PROJECT_NAME})
add_custom_target(uninstall
    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
endif()

#########################################################################
# summary
#########################################################################
include(FeatureSummary)
message(STATUS "")
message(STATUS "######################################################")
message(STATUS "## ${PROJECT_NAME} enabled features")
message(STATUS "######################################################")
feature_summary(WHAT ENABLED_FEATURES)
message(STATUS "######################################################")
message(STATUS "## ${PROJECT_NAME} disabled features")
message(STATUS "######################################################")
feature_summary(WHAT DISABLED_FEATURES)
message(STATUS "SoapySDR version: v${SOAPY_SDR_VERSION}")
message(STATUS "ABI/so version: v${SOAPY_SDR_ABI_VERSION}")
message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")

spglib/spglib cmake/DynamicVersion.cmake :409

string(JSON data SET ${data} failed true)

spglib/spglib cmake/DynamicVersion.cmake :411

string(JSON data SET ${data} allow-fails true)

spglib/spglib cmake/DynamicVersion.cmake :413

string(JSON data SET ${data} allow-fails false)

spglib/spglib cmake/DynamicVersion.cmake :418

string(JSON data SET
        ${data} version \"${ARGS_FALLBACK_VERSION}\")

spglib/spglib cmake/DynamicVersion.cmake :420

string(JSON data SET
        ${data} version-full \"${ARGS_FALLBACK_VERSION}\")

spglib/spglib cmake/DynamicVersion.cmake :425

string(JSON data SET
        ${data} commit \"${ARGS_FALLBACK_HASH}\")

spglib/spglib cmake/DynamicVersion.cmake :475

string(JSON data SET
        ${data} dev-type \"${CMAKE_MATCH_5}\")

spglib/spglib cmake/DynamicVersion.cmake :609

string(JSON data SET ${data}
        mode \"${mode}\"
)

spglib/spglib cmake/DynamicVersion.cmake :612

string(JSON data SET ${data}
        version \"${version}\"
)

spglib/spglib cmake/DynamicVersion.cmake :616

string(JSON data SET ${data}
        version-full \"${version-full}\"
)

spglib/spglib cmake/DynamicVersion.cmake :620

string(JSON data SET ${data}
        describe \"${describe}\"
)

spglib/spglib cmake/DynamicVersion.cmake :626

string(JSON data SET ${data}
        commit \"${commit}\"
)

spglib/spglib cmake/DynamicVersion.cmake :634

string(JSON data SET ${data}
        version-suffix \"${version-suffix}\"
)

spglib/spglib cmake/DynamicVersion.cmake :637

string(JSON data SET ${data}
        distance ${distance}
)

spglib/spglib cmake/DynamicVersion.cmake :641

string(JSON data SET ${data}
        short-hash \"${short-hash}\"
)

spglib/spglib cmake/DynamicVersion.cmake :647

string(JSON data SET ${data} failed false)

microsoft/vcpkg ports/embree3/portfile.cmake :95

string(REPLACE "SET(EMBREE_BUILD_TYPE Release)" "" contents "${contents}")

microsoft/vcpkg ports/salome-configuration/portfile.cmake :23

string(REPLACE [[SET(CMAKE_PREFIX_PATH "${${_envvar}}")]] "" contents "${contents}")

microsoft/vcpkg scripts/detect_compiler/CMakeLists.txt :39

string(JSON JSON_CONTENT SET "${JSON_CONTENT}" "${compiler_path}" "{\"size\": ${SIZE}, \"timestamp\": ${TIMESTAMP}, \"hash\": \"${HASH}\"}")