diff options
Diffstat (limited to 'cmake/xcode.cmake')
-rw-r--r-- | cmake/xcode.cmake | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/cmake/xcode.cmake b/cmake/xcode.cmake deleted file mode 100644 index 3537009330..0000000000 --- a/cmake/xcode.cmake +++ /dev/null @@ -1,75 +0,0 @@ -function(get_target_filename OUTPUT TARGET) - get_target_property(_TYPE "${TARGET}" TYPE) - get_target_property(_PREFIX "${TARGET}" PREFIX) - if(NOT _PREFIX AND NOT _PREFIX STREQUAL "") - set(_PREFIX "${CMAKE_${_TYPE}_PREFIX}") - endif() - get_target_property(_BASENAME "${TARGET}" OUTPUT_NAME) - if(NOT _BASENAME) - get_target_property(_BASENAME "${TARGET}" NAME) - endif() - get_target_property(_SUFFIX "${TARGET}" SUFFIX) - if(NOT _SUFFIX AND NOT _SUFFIX STREQUAL "") - set(_SUFFIX "${CMAKE_${_TYPE}_SUFFIX}") - endif() - set(${OUTPUT} "${_PREFIX}${_BASENAME}${_SUFFIX}" PARENT_SCOPE) -endfunction() - -function(xcode_create_scheme) - if (NOT CMAKE_GENERATOR STREQUAL "Xcode") - return() - endif() - - cmake_parse_arguments(XCSCHEME "" "TARGET;TYPE;NAME" "ARGS;OPTIONAL_ARGS" ${ARGN}) - - if(XCSCHEME_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "xcode_create_scheme() called with unrecognized arguments: ${XCSCHEME_UNPARSED_ARGUMENTS}") - endif() - - if(NOT XCSCHEME_TARGET) - message(FATAL_ERROR "xcode_create_scheme() called without required argument TARGET") - endif() - - if(NOT XCSCHEME_TYPE) - get_target_property(_TYPE "${XCSCHEME_TARGET}" TYPE) - if (_TYPE MATCHES "^.*_LIBRARY$") - set(XCSCHEME_TYPE "library") - elseif(_TYPE STREQUAL "EXECUTABLE") - set(XCSCHEME_TYPE "executable") - else() - message(FATAL_ERROR "xcode_create_scheme() could not determine type of ${XCSCHEME_TARGET}") - endif() - endif() - - if(NOT XCSCHEME_NAME) - set(XCSCHEME_NAME "${XCSCHEME_TARGET}") - endif() - - set(XCODEPROJ_PATH "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.xcodeproj") - set(XCSCHEME_OUTPUT_FILE "${XCODEPROJ_PATH}/xcshareddata/xcschemes/${XCSCHEME_NAME}.xcscheme") - - # Prevent overwriting of the scheme file on every CMake rerun. - if (EXISTS "${XCSCHEME_OUTPUT_FILE}") - return() - endif() - - file(RELATIVE_PATH XCSCHEME_CONTAINER "${CMAKE_SOURCE_DIR}" "${XCODEPROJ_PATH}") - string(RANDOM LENGTH 24 ALPHABET "0123456789ABCDEF" XCSCHEME_BLUEPRINT_ID) - get_target_filename(XCSCHEME_BUILDABLE_NAME "${XCSCHEME_TARGET}") - set(XCSCHEME_BLUEPRINT_NAME "${XCSCHEME_TARGET}") - set(XCSCHEME_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") - set(XCSCHEME_NODE_EXECUTABLE "${NodeJS_EXECUTABLE}") - get_filename_component(XCSCHEME_NODE_PATH "${NodeJS_EXECUTABLE}" DIRECTORY) - - set(XCSCHEME_COMMAND_LINE_ARGS "") - foreach(_ARG IN LISTS XCSCHEME_ARGS) - set(XCSCHEME_COMMAND_LINE_ARGS "${XCSCHEME_COMMAND_LINE_ARGS}\n <CommandLineArgument\n argument = \"${_ARG}\"\n isEnabled = \"YES\">\n </CommandLineArgument>") - endforeach() - foreach(_ARG IN LISTS XCSCHEME_OPTIONAL_ARGS) - set(XCSCHEME_COMMAND_LINE_ARGS "${XCSCHEME_COMMAND_LINE_ARGS}\n <CommandLineArgument\n argument = \"${_ARG}\"\n isEnabled = \"NO\">\n </CommandLineArgument>") - endforeach() - - configure_file( - "${CMAKE_SOURCE_DIR}/cmake/${XCSCHEME_TYPE}.xcscheme" - "${XCSCHEME_OUTPUT_FILE}") -endfunction() |