summaryrefslogtreecommitdiff
path: root/cmake/mbgl.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/mbgl.cmake')
-rw-r--r--cmake/mbgl.cmake23
1 files changed, 12 insertions, 11 deletions
diff --git a/cmake/mbgl.cmake b/cmake/mbgl.cmake
index 8c9aa0fe8f..429e4d6172 100644
--- a/cmake/mbgl.cmake
+++ b/cmake/mbgl.cmake
@@ -85,27 +85,28 @@ macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE)
set_property(TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE})
endmacro (set_xcode_property)
-function(_write_xcconfig_var target var)
+function(_get_xcconfig_property target var)
get_property(result TARGET ${target} PROPERTY INTERFACE_${var} SET)
if (result)
get_property(result TARGET ${target} PROPERTY INTERFACE_${var})
string(REPLACE ";" "\" \"" result "${result}")
string(REPLACE "-" "_" target "${target}")
- file(APPEND "${CMAKE_BINARY_DIR}/config.xcconfig" "${target}_${var} = \"${result}\"\n")
+ set(${target}_${var} "${result}" PARENT_SCOPE)
endif()
endfunction()
-function(target_append_xcconfig target)
- file(APPEND "${CMAKE_BINARY_DIR}/config.xcconfig" "\n// ${target}\n")
- _write_xcconfig_var(${target} INCLUDE_DIRECTORIES)
- _write_xcconfig_var(${target} COMPILE_DEFINITIONS)
- _write_xcconfig_var(${target} COMPILE_OPTIONS)
- _write_xcconfig_var(${target} LINK_LIBRARIES)
+function(write_xcconfig_target_properties)
+ foreach(target ${ARGN})
+ _get_xcconfig_property(${target} INCLUDE_DIRECTORIES)
+ _get_xcconfig_property(${target} LINK_LIBRARIES)
+ endforeach()
+ configure_file(
+ "${CMAKE_SOURCE_DIR}/scripts/config.xcconfig.in"
+ "${CMAKE_BINARY_DIR}/config.xcconfig"
+ @ONLY
+ )
endfunction()
-# Start a new file when we're running CMake
-file(WRITE "${CMAKE_BINARY_DIR}/config.xcconfig" "// Do not edit -- generated by CMake\n")
-
# CMake 3.1 does not have this yet.
set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")