@@ -3,12 +3,18 @@ cmake_minimum_required(VERSION 3.1)
33
44enable_testing ()
55
6+ set (LIB_CPPREST libcpprest.a)
7+ set (LIB_CPPREST_LIB_DIR "${CMAKE_CURRENT_BINARY_DIR} /lib" )
8+
69if (CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET)
710 set (ENV{CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET} ${CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET} )
811endif ()
912
1013set (TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR} /ios-cmake/ios.toolchain.cmake" )
1114
15+ set (SIM_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /build.i386" CACHE INTERNAL "" )
16+ set (SIM_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /../Release" CACHE INTERNAL "" )
17+
1218set (SIM64_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /build.x86_64" CACHE INTERNAL "" )
1319set (SIM64_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /../Release" CACHE INTERNAL "" )
1420
@@ -31,9 +37,25 @@ endif()
3137
3238add_test (NAME ios_runner
3339 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /../Release/tests/common/testrunner/ios
34- COMMAND xcodebuild test -project ios_runner.xcodeproj -configuration =${CMAKE_BUILD_TYPE} -scheme ios_runner -destination "platform=iOS Simulator,name=iPhone 6" LIBRARY_SEARCH_PATH=${SIM_BINARY_DIR }
40+ COMMAND xcodebuild test -project ios_runner.xcodeproj -configuration =${CMAKE_BUILD_TYPE} -scheme ios_runner -destination "platform=iOS Simulator,name=iPhone 6" LIBRARY_SEARCH_PATH=${SIM64_BINARY_DIR }
3541 )
3642
43+ if (INCLUDE_32BIT)
44+ set (SIM_BINARY_LIB ${SIM_BINARY_DIR} /Binaries/${CMAKE_BUILD_TYPE} /${LIB_CPPREST} )
45+ file (MAKE_DIRECTORY ${SIM_BINARY_DIR} )
46+ execute_process (WORKING_DIRECTORY ${SIM_BINARY_DIR}
47+ COMMAND ${CMAKE_COMMAND}
48+ -GXcode
49+ -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE}
50+ -DIOS_PLATFORM=SIMULATOR
51+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
52+ "${DEPLOYMENT_TARGET} "
53+ "${SIM_SOURCE_DIR} "
54+ )
55+ else ()
56+ set (SIM_BINARY_LIB "" )
57+ endif ()
58+
3759file (MAKE_DIRECTORY ${SIM64_BINARY_DIR} )
3860execute_process (WORKING_DIRECTORY ${SIM64_BINARY_DIR}
3961 COMMAND ${CMAKE_COMMAND}
@@ -57,6 +79,19 @@ execute_process(WORKING_DIRECTORY ${ARM_BINARY_DIR}
5779 "${ARM_SOURCE_DIR} "
5880 )
5981
82+ if (INCLUDE_32BIT)
83+ set (SIM_TARGET sim)
84+ ## Simulator i386 version
85+ add_custom_target (sim
86+ COMMAND ${CMAKE_COMMAND}
87+ --build ${SIM_BINARY_DIR}
88+ --config ${CMAKE_BUILD_TYPE}
89+ COMMENT "Building for i386 (simulator)"
90+ VERBATIM
91+ )
92+ else ()
93+ set (SIM_TARGET "" )
94+ endif ()
6095
6196## Simulator x86_64 version
6297add_custom_target (sim64
@@ -76,20 +111,20 @@ add_custom_target(arm
76111 VERBATIM
77112)
78113
79- set (LIB_CPPREST libcpprest.a)
80- set (LIB_CPPREST_LIB_DIR "${CMAKE_CURRENT_BINARY_DIR} /lib" )
81-
82114add_custom_command (
83115 OUTPUT ${LIB_CPPREST_LIB_DIR} /${LIB_CPPREST}
84116 COMMAND mkdir -p "${LIB_CPPREST_LIB_DIR} "
85117 COMMAND lipo -create
86118 -output "${LIB_CPPREST_LIB_DIR} /${LIB_CPPREST} "
119+ ${SIM_BINARY_LIB}
87120 ${SIM64_BINARY_DIR} /Binaries/${CMAKE_BUILD_TYPE} /${LIB_CPPREST}
88121 ${ARM_BINARY_DIR} /Binaries/${CMAKE_BUILD_TYPE} /${LIB_CPPREST}
89122 COMMAND cp -R "${CMAKE_CURRENT_SOURCE_DIR} /../Release/include" "${CMAKE_CURRENT_BINARY_DIR} "
90123 DEPENDS
124+ ${SIM_TARGET}
91125 sim64
92126 arm
127+ ${SIM_BINARY_LIB}
93128 "${SIM64_BINARY_DIR} /Binaries/${CMAKE_BUILD_TYPE} /${LIB_CPPREST} "
94129 "${ARM_BINARY_DIR} /Binaries/${CMAKE_BUILD_TYPE} /${LIB_CPPREST} "
95130 VERBATIM
0 commit comments