From 78500e4a3be7dd35edae2b9e31fae9beabc00a50 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Tue, 16 Jun 2020 21:17:34 +0200 Subject: [PATCH 1/8] Improve folding in Travis CI log Start the fold before echoing the description, so the description is shown when folded. Combine Xcode checks into one statement. Add missing '-G' argument when building sample using CMake. --- build/tools/travis-ci.sh | 76 ++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/build/tools/travis-ci.sh b/build/tools/travis-ci.sh index 5b00dca6cc..411c8d9cb8 100755 --- a/build/tools/travis-ci.sh +++ b/build/tools/travis-ci.sh @@ -6,15 +6,14 @@ set -e wxPROC_COUNT=`getconf _NPROCESSORS_ONLN` ((wxPROC_COUNT++)) -if [ "$wxTOOLSET" == "cmake" ] && [ "$wxCMAKE_GENERATOR" == "Xcode" ]; then - wxJOBS="-jobs $wxPROC_COUNT" -else - wxJOBS="-j$wxPROC_COUNT" -fi +wxBUILD_ARGS="-j$wxPROC_COUNT" case $wxTOOLSET in cmake) if [ -z $wxCMAKE_TESTS ]; then wxCMAKE_TESTS=CONSOLE_ONLY; fi + if [ "$wxCMAKE_GENERATOR" == "Xcode" ]; then + wxBUILD_ARGS="-jobs $wxPROC_COUNT -quiet" + fi cmake --version echo 'travis_fold:start:configure' @@ -26,10 +25,7 @@ case $wxTOOLSET in echo 'travis_fold:start:building' echo 'Building...' - if [ "$wxCMAKE_GENERATOR" == "Xcode" ]; then - wxTOOL_ARG="-quiet" - fi - cmake --build . -- $wxJOBS $wxTOOL_ARG + cmake --build . -- $wxBUILD_ARGS echo 'travis_fold:end:building' if [ "$wxCMAKE_TESTS" != "OFF" ]; then @@ -39,21 +35,24 @@ case $wxTOOLSET in echo 'travis_fold:end:testing' fi - echo 'Installing...' && echo -en 'travis_fold:start:script.install\\r' - sudo env "PATH=$PATH" cmake --build . --target install + echo 'travis_fold:start:install' + echo 'Installing...' + sudo env "PATH=$PATH" cmake --build . --target install -- $wxBUILD_ARGS popd - echo -en 'travis_fold:end:script.install\\r' + echo 'travis_fold:end:install' - echo 'Testing installation...' && echo -en 'travis_fold:start:script.testinstall\\r' + echo 'travis_fold:start:testinstall' + echo 'Testing installation...' mkdir build_cmake_install_test pushd build_cmake_install_test - cmake "$wxCMAKE_GENERATOR" $wxCMAKE_DEFINES ../samples/minimal - cmake --build . + cmake -G "$wxCMAKE_GENERATOR" $wxCMAKE_DEFINES ../samples/minimal + cmake --build . -- $wxBUILD_ARGS popd - echo -en 'travis_fold:end:script.testinstall\\r' + echo 'travis_fold:end:testinstall' ;; *) - echo 'Configuring...' && echo -en 'travis_fold:start:script.configure\\r' + echo 'travis_fold:start:configure' + echo 'Configuring...' ./configure --disable-optimise --disable-debug_info $wxCONFIGURE_FLAGS || rc=$? if [ -n "$rc" ]; then echo '*** Configuring failed, contents of config.log follows: ***' @@ -62,25 +61,28 @@ case $wxTOOLSET in echo '-----------------------------------------------------------' exit $rc fi - echo -en 'travis_fold:end:script.configure\\r' + echo 'travis_fold:end:configure' - echo 'Building...' && echo -en 'travis_fold:start:script.build\\r' - make $wxJOBS - echo -en 'travis_fold:end:script.build\\r' + echo 'travis_fold:start:building' + echo 'Building...' + make $wxBUILD_ARGS + echo 'travis_fold:end:building' - echo 'Building tests...' && echo -en 'travis_fold:start:script.tests\\r' - [ "$wxSKIP_GUI" = 1 ] || make -C tests $wxJOBS failtest - make -C tests $wxJOBS $wxMAKEFILE_FLAGS - echo -en 'travis_fold:end:script.tests\\r' + echo 'travis_fold:start:tests' + echo 'Building tests...' + [ "$wxSKIP_GUI" = 1 ] || make -C tests $wxBUILD_ARGS failtest + make -C tests $wxBUILD_ARGS $wxMAKEFILE_FLAGS + echo 'travis_fold:end:tests' if [ "$wxSKIP_TESTING" = 1 ]; then echo 'Skipping running tests' exit 0 fi - echo 'Testing...' && echo -en 'travis_fold:start:script.testing\\r' + echo 'travis_fold:start:testing' + echo 'Testing...' pushd tests && ./test && popd - echo -en 'travis_fold:end:script.testing\\r' + echo 'travis_fold:end:testing' if [ "$wxSKIP_GUI" = 1 ]; then echo 'Skipping the rest of tests for non-GUI build.' @@ -88,22 +90,26 @@ case $wxTOOLSET in fi if [ "$wxUSE_XVFB" = 1 ]; then - echo 'Testing GUI using Xvfb...' && echo -en 'travis_fold:start:script.testing_gui\\r' + echo 'travis_fold:start:testing_gui' + echo 'Testing GUI using Xvfb...' pushd tests && xvfb-run -a -s '-screen 0 1600x1200x24' ./test_gui && popd - echo -en 'travis_fold:end:script.testing_gui\\r' + echo 'travis_fold:end:testing_gui' fi - echo 'Building samples...' && echo -en 'travis_fold:start:script.samples\\r' + echo 'travis_fold:start:samples' + echo 'Building samples...' (test "$wxSKIP_SAMPLES" && echo 'SKIPPED') || make samples - echo -en 'travis_fold:end:script.samples\\r' + echo 'travis_fold:end:samples' - echo 'Installing...' && echo -en 'travis_fold:start:script.install\\r' + echo 'travis_fold:start:install' + echo 'Installing...' sudo make install - echo -en 'travis_fold:end:script.install\\r' + echo 'travis_fold:end:install' - echo 'Testing installation...' && echo -en 'travis_fold:start:script.testinstall\\r' + echo 'travis_fold:start:testinstall' + echo 'Testing installation...' make -C samples/minimal -f makefile.unx clean make -C samples/minimal -f makefile.unx $wxMAKEFILE_FLAGS - echo -en 'travis_fold:end:script.testinstall\\r' + echo 'travis_fold:end:testinstall' ;; esac From 3d705dd867e67ed36c14b7b18eca7e5e29f559be Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 18 Jun 2020 19:50:41 +0200 Subject: [PATCH 2/8] Remove non-existing file from file list --- build/bakefiles/files.bkl | 1 - build/cmake/files.cmake | 1 - build/files | 1 - 3 files changed, 3 deletions(-) diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 3dc842b2cd..c9033ad5a7 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -2703,7 +2703,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/osx/iphone/chkconf.h - wx/osx/iphone/evtloop.h wx/osx/iphone/private.h wx/generic/region.h wx/osx/sound.h diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index 34d7a1bbc3..8f13edf843 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -2573,7 +2573,6 @@ set(OSX_IPHONE_SRC set(OSX_IPHONE_HDR wx/osx/iphone/chkconf.h - wx/osx/iphone/evtloop.h wx/osx/iphone/private.h wx/generic/region.h wx/osx/sound.h diff --git a/build/files b/build/files index 52ec58ef54..1041ccd31b 100644 --- a/build/files +++ b/build/files @@ -2552,7 +2552,6 @@ OSX_IPHONE_SRC = OSX_IPHONE_HDR = wx/generic/region.h wx/osx/iphone/chkconf.h - wx/osx/iphone/evtloop.h wx/osx/iphone/private.h wx/osx/sound.h From 3ab4d9461b31a8cf5e569d257a930561ff8d9035 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 18 Jun 2020 19:54:39 +0200 Subject: [PATCH 3/8] CMake: add missing libraries for iOS build Remove unused section from file list. --- build/bakefiles/files.bkl | 4 ---- build/cmake/files.cmake | 4 ---- build/cmake/lib/base/CMakeLists.txt | 19 +++++++++++-------- build/cmake/lib/core/CMakeLists.txt | 12 ++++++++++++ build/files | 3 --- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index c9033ad5a7..b0633e6049 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -226,10 +226,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/osx/cocoa/utils.mm - - src/osx/iphone/utils.mm - - $(BASE_UNIX_AND_DARWIN_NOTWXMAC_SRC) diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index 8f13edf843..ec4b247d8b 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -153,10 +153,6 @@ set(BASE_AND_GUI_OSX_COCOA_SRC src/osx/cocoa/power.mm ) -set(BASE_AND_GUI_OSX_IPHONE_SRC - src/osx/iphone/utils.mm -) - set(BASE_OSX_NOTWXMAC_SRC ${BASE_UNIX_AND_DARWIN_NOTWXMAC_SRC} ${BASE_COREFOUNDATION_SRC} diff --git a/build/cmake/lib/base/CMakeLists.txt b/build/cmake/lib/base/CMakeLists.txt index cd897c3154..4da98e6f48 100644 --- a/build/cmake/lib/base/CMakeLists.txt +++ b/build/cmake/lib/base/CMakeLists.txt @@ -17,9 +17,7 @@ if(WIN32) wx_append_sources(BASE_FILES BASE_AND_GUI_WIN32) elseif(APPLE) wx_append_sources(BASE_FILES BASE_OSX_SHARED) - if(wxBUILD_TOOLKIT MATCHES "osx_iphone") - wx_append_sources(BASE_FILES BASE_AND_GUI_OSX_IPHONE) - else() + if(WXOSX_COCOA) wx_append_sources(BASE_FILES BASE_AND_GUI_OSX_COCOA) endif() elseif(UNIX) @@ -58,14 +56,19 @@ endif() if(APPLE) wx_lib_link_libraries(wxbase - PRIVATE - "-framework Security" PUBLIC - "-framework Carbon" - "-framework Cocoa" "-framework CoreFoundation" - "-framework IOKit" ) + if(WXOSX_COCOA) + wx_lib_link_libraries(wxbase + PRIVATE + "-framework Security" + PUBLIC + "-framework Carbon" + "-framework Cocoa" + "-framework IOKit" + ) + endif() elseif(UNIX) wx_lib_link_libraries(wxbase PRIVATE dl) endif() diff --git a/build/cmake/lib/core/CMakeLists.txt b/build/cmake/lib/core/CMakeLists.txt index d9f423c8f8..95be60c49a 100644 --- a/build/cmake/lib/core/CMakeLists.txt +++ b/build/cmake/lib/core/CMakeLists.txt @@ -47,6 +47,9 @@ elseif(WXOSX_COCOA) wx_append_sources(CORE_SRC OSX_LOWLEVEL) wx_append_sources(CORE_SRC OSX_SHARED) wx_append_sources(CORE_SRC OSX_COCOA) +elseif(WXOSX_IPHONE) + wx_append_sources(CORE_SRC OSX_LOWLEVEL) + wx_append_sources(CORE_SRC OSX_IPHONE) elseif(WXQT) wx_append_sources(CORE_SRC QT) if(WIN32) @@ -76,6 +79,15 @@ if(WXOSX_COCOA) wx_lib_link_libraries(wxcore PUBLIC "-framework WebKit") endif() endif() +if(WXOSX_IPHONE) + wx_lib_link_libraries(wxcore + PUBLIC + "-framework AudioToolbox" + "-framework CoreGraphics" + "-framework CoreText" + "-framework UIKit" + ) +endif() if(WXGTK AND wxUSE_PRIVATE_FONTS) wx_lib_include_directories(wxcore PUBLIC ${FONTCONFIG_INCLUDE_DIRS} ${PANGOFT2_INCLUDE_DIRS}) wx_lib_link_libraries(wxcore PUBLIC ${FONTCONFIG_LIBRARIES} ${PANGOFT2_LIBRARIES}) diff --git a/build/files b/build/files index 1041ccd31b..e40f07b3cb 100644 --- a/build/files +++ b/build/files @@ -176,9 +176,6 @@ BASE_AND_GUI_OSX_COCOA_SRC = src/osx/cocoa/utils.mm src/osx/cocoa/power.mm -BASE_AND_GUI_OSX_IPHONE_SRC = - src/osx/iphone/utils.mm - # files used by non-wxMac OS X builds BASE_OSX_NOTWXMAC_SRC = $(BASE_UNIX_AND_DARWIN_NOTWXMAC_SRC) From 504191500196407a4c42adc547a6db318c7e96c3 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 18 Jun 2020 19:56:31 +0200 Subject: [PATCH 4/8] CMake: fix building media and gl lib for iOS --- build/cmake/files.cmake | 7 ++++++- build/cmake/init.cmake | 7 ++++++- build/cmake/lib/gl/CMakeLists.txt | 6 ++++-- build/cmake/lib/media/CMakeLists.txt | 8 ++++---- build/files | 6 +++++- 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index ec4b247d8b..7dfedeebcf 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -3041,11 +3041,16 @@ set(OPENGL_GTK_HDR wx/unix/glx11.h ) -set(OPENGL_OSX_SHARED_SRC +set(OPENGL_OSX_COCOA_SRC src/osx/cocoa/glcanvas.mm src/osx/glcanvas_osx.cpp ) +set(OPENGL_OSX_IPHONE_SRC + src/osx/iphone/glcanvas.mm + src/osx/glcanvas_osx.cpp +) + set(UNIX_SOUND_SDL_SRC src/unix/sound_sdl.cpp ) diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake index 75bd8f815b..27ef13cacc 100644 --- a/build/cmake/init.cmake +++ b/build/cmake/init.cmake @@ -385,7 +385,12 @@ if(wxUSE_GUI) # extra dependencies if(wxUSE_OPENGL) - find_package(OpenGL) + if(WXOSX_IPHONE) + set(OPENGL_FOUND TRUE) + set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore") + else() + find_package(OpenGL) + endif() if(NOT OPENGL_FOUND) message(WARNING "opengl not found, wxGLCanvas won't be available") wx_option_force_value(wxUSE_OPENGL OFF) diff --git a/build/cmake/lib/gl/CMakeLists.txt b/build/cmake/lib/gl/CMakeLists.txt index 62ce6ef769..2b927cbe27 100644 --- a/build/cmake/lib/gl/CMakeLists.txt +++ b/build/cmake/lib/gl/CMakeLists.txt @@ -15,8 +15,10 @@ if(WXMSW) wx_append_sources(GL_FILES OPENGL_MSW) elseif(WXGTK) wx_append_sources(GL_FILES OPENGL_GTK) -elseif(APPLE) - wx_append_sources(GL_FILES OPENGL_OSX_SHARED) +elseif(WXOSX_COCOA) + wx_append_sources(GL_FILES OPENGL_OSX_COCOA) +elseif(WXOSX_IPHONE) + wx_append_sources(GL_FILES OPENGL_OSX_IPHONE) elseif(WXQT) wx_append_sources(GL_FILES OPENGL_QT) endif() diff --git a/build/cmake/lib/media/CMakeLists.txt b/build/cmake/lib/media/CMakeLists.txt index 2458896d35..4a0aa959c8 100644 --- a/build/cmake/lib/media/CMakeLists.txt +++ b/build/cmake/lib/media/CMakeLists.txt @@ -15,6 +15,8 @@ if(WXMSW) wx_append_sources(MEDIA_FILES MEDIA_MSW) elseif(WXOSX_COCOA) wx_append_sources(MEDIA_FILES MEDIA_OSX_COCOA) +elseif(WXOSX_IPHONE) + wx_append_sources(MEDIA_FILES MEDIA_OSX_IPHONE) elseif(UNIX) wx_append_sources(MEDIA_FILES MEDIA_UNIX) elseif(WXQT) @@ -22,13 +24,11 @@ elseif(WXQT) endif() wx_add_library(wxmedia ${MEDIA_FILES}) -if(WXOSX_COCOA) - # TODO: add version detection of some kind and/or wx_option - wx_lib_compile_definitions(wxmedia PRIVATE -DwxOSX_USE_QTKIT=0) +if(WXOSX) wx_lib_link_libraries(wxmedia PUBLIC "-framework AVFoundation" - "-framework AVKit" "-framework CoreMedia" + "-weak_framework AVKit" ) elseif(UNIX) wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_INCLUDE_DIRS}) diff --git a/build/files b/build/files index e40f07b3cb..469036da6d 100644 --- a/build/files +++ b/build/files @@ -2980,10 +2980,14 @@ OPENGL_GTK_SRC = OPENGL_MSW_HDR = wx/msw/glcanvas.h -OPENGL_OSX_SHARED_SRC = +OPENGL_OSX_COCOA_SRC = src/osx/cocoa/glcanvas.mm src/osx/glcanvas_osx.cpp +OPENGL_OSX_IPHONE_SRC = + src/osx/iphone/glcanvas.mm + src/osx/glcanvas_osx.cpp + # Misc plugin sources: UNIX_SOUND_SDL_SRC = From cf46dde182e53a7a3eca938e4e2813c7ad1e5655 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 18 Jun 2020 19:59:09 +0200 Subject: [PATCH 5/8] CMake: fix building and copying wxrc util for iOS An app bundle is built, instead of a single executable. --- build/cmake/utils/CMakeLists.txt | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/build/cmake/utils/CMakeLists.txt b/build/cmake/utils/CMakeLists.txt index 0fd4761719..4108d6a723 100644 --- a/build/cmake/utils/CMakeLists.txt +++ b/build/cmake/utils/CMakeLists.txt @@ -20,18 +20,28 @@ if(wxUSE_XRC) set_target_properties(wxrc PROPERTIES FOLDER "Utilities") - wx_install(TARGETS wxrc RUNTIME DESTINATION "bin") + wx_install(TARGETS wxrc + RUNTIME DESTINATION "bin" + BUNDLE DESTINATION "bin" + ) + + if(IPHONE) + set(EXE_SUFFIX ".app") + else() + set(EXE_SUFFIX ${CMAKE_EXECUTABLE_SUFFIX}) + endif() + if(NOT MSVC) install(CODE "execute_process( \ COMMAND ${CMAKE_COMMAND} -E rename \ - ${CMAKE_INSTALL_PREFIX}/bin/wxrc${CMAKE_EXECUTABLE_SUFFIX} \ - ${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${CMAKE_EXECUTABLE_SUFFIX} \ + ${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \ + ${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \ )" ) install(CODE "execute_process( \ COMMAND ${CMAKE_COMMAND} -E create_symlink \ - ${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${CMAKE_EXECUTABLE_SUFFIX} \ - ${CMAKE_INSTALL_PREFIX}/bin/wxrc${CMAKE_EXECUTABLE_SUFFIX} \ + ${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \ + ${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \ )" ) endif() From 49a23c1dfa0623b19185cff754cc0a07c9f30aaf Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 18 Jun 2020 20:18:45 +0200 Subject: [PATCH 6/8] CMake: fix try_compile and other checks for iOS build --- build/cmake/toolkit.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/cmake/toolkit.cmake b/build/cmake/toolkit.cmake index 2b8dbbe5db..577d3c8661 100644 --- a/build/cmake/toolkit.cmake +++ b/build/cmake/toolkit.cmake @@ -12,6 +12,10 @@ wx_option(wxUSE_GUI "Use GUI" ON) if(CMAKE_OSX_SYSROOT MATCHES iphoneos) set(IPHONE ON) + + # workaround a bug where try_compile (and functions using it, + # like find_package, check_c_source_compiles) fails + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) endif() if(WIN32) From 21e92cbcf1ed102babbb19ffbbbbb1cec463fc24 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 18 Jun 2020 20:21:04 +0200 Subject: [PATCH 7/8] CMake: don't add cross compile suffix to wx-config library names for iOS build The libraries do not have this suffix. And configure also doesn't do it. --- build/cmake/config.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake index eb0f42167a..6978cc2725 100644 --- a/build/cmake/config.cmake +++ b/build/cmake/config.cmake @@ -85,7 +85,7 @@ function(wx_write_config) set(WX_CHARTYPE ansi) set(lib_unicode_suffix) endif() - if(CMAKE_CROSSCOMPILING) + if(CMAKE_CROSSCOMPILING AND NOT IPHONE) set(cross_compiling yes) set(host_alias ${CMAKE_SYSTEM_NAME}) else() From e4437c49749bf2a30b9f639a85061eea99df6aa7 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 18 Jun 2020 20:27:00 +0200 Subject: [PATCH 8/8] Add iOS CMake build to Travis CI Use the following CMake flags: -DCMAKE_SYSTEM_NAME=iOS - for specifying it is an iOS build -DCMAKE_FIND_ROOT_PATH=/usr/local - dir to search for the built wxWidgets libraries -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO - don't require signing app packages -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12 - specify a target so both the libraries and sample will use the same architecture Also use the code signing flag when testing precompiled header support. Don't build the default samples, widgets sample has features that are not supported by the iOS build. Xcode seems to rebuild the libraries when installing, so call CMake only once. --- .travis.yml | 4 ++++ build/cmake/init.cmake | 8 +++++++- build/tools/travis-ci.sh | 26 +++++++++++++++----------- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index c687031cc6..50e8e80fcd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,6 +49,10 @@ matrix: osx_image: xcode11.4 env: wxCONFIGURE_FLAGS="--enable-monolithic --with-cxx=17 --host=i686-apple-darwin_sim --build=x86_64-apple-darwin17.7.0 --with-osx_iphone --with-macosx-version-min=10.0 --with-macosx-sdk=$(xcrun --sdk iphonesimulator --show-sdk-path) --enable-stl --disable-sys-libs" wxSKIP_GUI=1 wxSKIP_TESTING=1 wxSKIP_SAMPLES=1 name: wxOSX iOS Xcode 11.4 + - os: osx + osx_image: xcode11.4 + env: wxTOOLSET=cmake wxCMAKE_GENERATOR=Xcode wxCMAKE_DEFINES="-DCMAKE_SYSTEM_NAME=iOS -DCMAKE_FIND_ROOT_PATH=/usr/local -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12" wxCMAKE_SAMPLES=OFF wxCMAKE_TESTS=OFF + name: wxOSX iOS CMake Xcode 11.4 - dist: bionic compiler: gcc env: wxCONFIGURE_FLAGS="--with-x11 --enable-pch --disable-stc" wxSKIP_SAMPLES=1 diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake index 27ef13cacc..4524bc70e6 100644 --- a/build/cmake/init.cmake +++ b/build/cmake/init.cmake @@ -543,17 +543,23 @@ endif() set(wxBUILD_PRECOMP_PREV ${wxBUILD_PRECOMP} CACHE INTERNAL "") if(wxBUILD_PRECOMP) + if(DEFINED CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED) + set(try_flags "-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=${CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED}") + endif() if (CLEAN_PRECOMP_TEST) try_compile(RESULT_VAR_CLEAN "${wxBINARY_DIR}/CMakeFiles/cotire_test" "${wxSOURCE_DIR}/build/cmake/modules/cotire_test" CotireExample clean_cotire + CMAKE_FLAGS ${try_flags} ) endif() try_compile(RESULT_VAR "${wxBINARY_DIR}/CMakeFiles/cotire_test" "${wxSOURCE_DIR}/build/cmake/modules/cotire_test" - CotireExample OUTPUT_VARIABLE OUTPUT_VAR + CotireExample + CMAKE_FLAGS ${try_flags} + OUTPUT_VARIABLE OUTPUT_VAR ) # check if output has precompiled header warnings. The build can still succeed, so check the output diff --git a/build/tools/travis-ci.sh b/build/tools/travis-ci.sh index 411c8d9cb8..c618b08bbb 100755 --- a/build/tools/travis-ci.sh +++ b/build/tools/travis-ci.sh @@ -11,6 +11,7 @@ wxBUILD_ARGS="-j$wxPROC_COUNT" case $wxTOOLSET in cmake) if [ -z $wxCMAKE_TESTS ]; then wxCMAKE_TESTS=CONSOLE_ONLY; fi + if [ -z $wxCMAKE_SAMPLES ]; then wxCMAKE_SAMPLES=SOME; fi if [ "$wxCMAKE_GENERATOR" == "Xcode" ]; then wxBUILD_ARGS="-jobs $wxPROC_COUNT -quiet" fi @@ -20,13 +21,22 @@ case $wxTOOLSET in echo 'Configuring...' mkdir build_cmake pushd build_cmake - cmake -G "$wxCMAKE_GENERATOR" $wxCMAKE_DEFINES -D wxBUILD_SAMPLES=SOME -D wxBUILD_TESTS=$wxCMAKE_TESTS .. + cmake -G "$wxCMAKE_GENERATOR" $wxCMAKE_DEFINES -D wxBUILD_SAMPLES=$wxCMAKE_SAMPLES -D wxBUILD_TESTS=$wxCMAKE_TESTS .. echo 'travis_fold:end:configure' - echo 'travis_fold:start:building' - echo 'Building...' - cmake --build . -- $wxBUILD_ARGS - echo 'travis_fold:end:building' + if [ "$wxCMAKE_GENERATOR" != "Xcode" ]; then + echo 'travis_fold:start:building' + echo 'Building...' + cmake --build . -- $wxBUILD_ARGS + echo 'travis_fold:end:building' + fi + + echo 'travis_fold:start:install' + if [ "$wxCMAKE_GENERATOR" == "Xcode" ]; then echo -n 'Building and '; fi + echo 'Installing...' + sudo env "PATH=$PATH" cmake --build . --target install -- $wxBUILD_ARGS + popd + echo 'travis_fold:end:install' if [ "$wxCMAKE_TESTS" != "OFF" ]; then echo 'travis_fold:start:testing' @@ -35,12 +45,6 @@ case $wxTOOLSET in echo 'travis_fold:end:testing' fi - echo 'travis_fold:start:install' - echo 'Installing...' - sudo env "PATH=$PATH" cmake --build . --target install -- $wxBUILD_ARGS - popd - echo 'travis_fold:end:install' - echo 'travis_fold:start:testinstall' echo 'Testing installation...' mkdir build_cmake_install_test