From e885c502a1c7742d4fff43afa94121dad91d4418 Mon Sep 17 00:00:00 2001 From: eroen Date: Fri, 8 Nov 2013 04:24:36 +0100 Subject: [PATCH 01/13] Stop installing "Daedric Font License.txt" It was removed in 3a827d9c12 --- CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f31a5e53..fcc63e1b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -383,7 +383,6 @@ IF(NOT WIN32 AND NOT APPLE) # Install licenses INSTALL(FILES "DejaVu Font License.txt" DESTINATION "${LICDIR}" ) - INSTALL(FILES "Daedric Font License.txt" DESTINATION "${LICDIR}" ) INSTALL(FILES "OFL.txt" DESTINATION "${LICDIR}" ) INSTALL(FILES "extern/shiny/License.txt" DESTINATION "${LICDIR}" RENAME "Shiny License.txt" ) ENDIF (DPKG_PROGRAM) @@ -458,7 +457,6 @@ if(WIN32) "${OpenMW_SOURCE_DIR}/GPL3.txt" "${OpenMW_SOURCE_DIR}/OFL.txt" "${OpenMW_SOURCE_DIR}/DejaVu Font License.txt" - "${OpenMW_SOURCE_DIR}/Daedric Font License.txt" "${OpenMW_BINARY_DIR}/settings-default.cfg" "${OpenMW_BINARY_DIR}/transparency-overrides.cfg" "${OpenMW_BINARY_DIR}/Release/openmw.exe" From 5a071b0f81515b43fdc26ccb230168bfca2554ed Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Thu, 7 Nov 2013 23:05:45 +0100 Subject: [PATCH 02/13] necessary dpkg rules to get opencs building and packaged on dpkg systems --- CMakeLists.txt | 2 +- apps/opencs/CMakeLists.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f31a5e53..b90d64666 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -431,7 +431,7 @@ IF(NOT WIN32 AND NOT APPLE) Data files from the original game is required to run it.") SET(CPACK_DEBIAN_PACKAGE_NAME "openmw") SET(CPACK_DEBIAN_PACKAGE_VERSION "${VERSION_STRING}") - SET(CPACK_PACKAGE_EXECUTABLES "openmw;OpenMW bsatool;Bsatool esmtool;Esmtool omwlauncher;OMWLauncher mwiniimporter;MWiniImporter") + SET(CPACK_PACKAGE_EXECUTABLES "openmw;OpenMW opencs;OpenCS bsatool;Bsatool esmtool;Esmtool omwlauncher;OMWLauncher mwiniimporter;MWiniImporter") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.11.2), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libmpg123-0 (>= 1.12.1), libopenal1 (>= 1:1.12.854), libsndfile1 (>= 1.0.23), libstdc++6 (>= 4.4.5), libuuid1 (>= 2.17.2), libqtgui4 (>= 4.7.0)") SET(CPACK_DEBIAN_PACKAGE_SECTION "Games") diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index d317331e5..7498044ab 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -160,3 +160,8 @@ target_link_libraries(opencs ${QT_LIBRARIES} components ) + +if(DPKG_PROGRAM) + INSTALL(TARGETS opencs RUNTIME DESTINATION games COMPONENT opencs) +endif() + From 04edd25add7ed4cc43e7f705a8d04e17cb9e6514 Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Sun, 10 Nov 2013 19:09:05 +0400 Subject: [PATCH 03/13] OpenCS as a separate app bundle --- apps/opencs/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index 7498044ab..1fb5737a3 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -149,12 +149,17 @@ qt4_add_resources(OPENCS_RES_SRC ${OPENCS_RES}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) add_executable(opencs + MACOSX_BUNDLE ${OPENCS_SRC} ${OPENCS_UI_HDR} ${OPENCS_MOC_SRC} ${OPENCS_RES_SRC} ) +if(APPLE) + set_target_properties(opencs PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${OpenMW_BINARY_DIR}") +endif(APPLE) + target_link_libraries(opencs ${Boost_LIBRARIES} ${QT_LIBRARIES} From df5b52b45b4601857f09cd4833e34b285dcbdec0 Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Sun, 10 Nov 2013 20:11:53 +0400 Subject: [PATCH 04/13] OpenCS.app icon & bundle properties --- apps/opencs/CMakeLists.txt | 20 +++++++++++++++++++- files/mac/opencs.icns | Bin 0 -> 50537 bytes 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 files/mac/opencs.icns diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index 1fb5737a3..bd8a852b9 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -148,16 +148,34 @@ qt4_add_resources(OPENCS_RES_SRC ${OPENCS_RES}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) +if(APPLE) + set (OPENCS_MAC_ICON ${CMAKE_SOURCE_DIR}/files/mac/opencs.icns) +else() + set (OPENCS_MAC_ICON "") +endif(APPLE) + add_executable(opencs MACOSX_BUNDLE ${OPENCS_SRC} ${OPENCS_UI_HDR} ${OPENCS_MOC_SRC} ${OPENCS_RES_SRC} + ${OPENCS_MAC_ICON} ) if(APPLE) - set_target_properties(opencs PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${OpenMW_BINARY_DIR}") + set_target_properties(opencs PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${OpenMW_BINARY_DIR}" + OUTPUT_NAME "OpenCS" + MACOSX_BUNDLE_ICON_FILE "opencs.icns" + MACOSX_BUNDLE_BUNDLE_NAME "OpenCS" + MACOSX_BUNDLE_GUI_IDENTIFIER "org.openmw.opencs" + MACOSX_BUNDLE_SHORT_VERSION_STRING ${OPENMW_VERSION} + MACOSX_BUNDLE_BUNDLE_VERSION ${OPENMW_VERSION} + ) + + set_source_files_properties(${OPENCS_MAC_ICON} PROPERTIES + MACOSX_PACKAGE_LOCATION Resources) endif(APPLE) target_link_libraries(opencs diff --git a/files/mac/opencs.icns b/files/mac/opencs.icns new file mode 100644 index 0000000000000000000000000000000000000000..98812f871d9a9a8bc7bfb1ab86d22cb33ab45bd5 GIT binary patch literal 50537 zcmeFZcX(6B_BJ|Tz+JK=%c_=ax%Y;AjaEgd{*9 zAqfEjBy=zx()6t@aFX+#bMEhZ?(^Jx|GAT}wfD@LHG5{(yfd@j*-lHyE=mp(K4pI45i)Nz*Qu(WjSL8{Vjan^I(JCxS9R9D; zm)@%mEfaAY(TbmMG{^flAgK%Y>dee@PlJYkK|}(ISwc}&x2mOF;Suh$?7-H%_T&b zGg^l8WNVNqcV_RxoSzX#A0??sAjB&Fo(Jt@tYPnKX=Ly18+YQ~6@+~CIWB>QzQc99 z?%yq)<0BbEhE;(GZ4jRO{tCPqgW|$Fyb&Rus1B_(!x<*!b9>NVRr#(q%pR(8?skQa zZVXD#f(!$D*CW(ge>o=&tIA;X%B?s0#%iLf#*(u@OS>xi{xdE`TG2c!vJ53xMB^nd zl;WW(N=7LTC@jSeSJfYdRYjY>agyt$iL32Q!>Z!9VaEd3hDD~LC>B(On*Xf`q19}P zw!4X*wX0j$;k!^3OQxccyS7J1+5FFUGq9?#6tq)BsHg1QHLNN`oL$-ep{1%wXhf%e zsLCAHD;M@$;&) zt||$KLv9qP%F6IBpeiaPJi}aFMc2&OWygIvi+zh~~LXx4{%%PI7 zBNw46Qt~ot;p5Pm+!J>-0+Lhv5Eb?- z^sVzHPS0NPGv|rub8U9C=y%cgKDA8fOOYrt_vzbv8#cccT_K~DmqqV5D{nv6L&){* ziyy0`xGKQ>^`pZpvyFL6Qi$7*!)g(E^yqEDA2R4o$K z=`H^8?#QX%Z{3MNi1L%@zIUkAgWn$iVNAk9E~jUr({kw3P{vtxObPVs8PWINtYv7` zvJcN_rEBA`&p#{pF&_I_8uouhNy42S{Cfvru!xYvty&~`;vB;B|3vH>(E^(-T4dvE zZaLu5Ee9ORU4uiVYu2FZHPxsTdltt_B9J-#j@==;hHn%h{0SbCyp;gD9K|}(@1UOr z|Nc|>|ET;W*qcKuxN}{R+&(0E;Mksx<*~sIJxKEN`%li7uQ6c4E$_2uq63x;PA`({ zI&kwrJCkXQP-T4AEdvuI}iZ+>o-y z(8Ml!YF|%vRtc{Ll6walHI-D+=!@U>w5O0)$q^JObffy7_*8+2j~Kj?_TEq>mLV!V za(yILVx^3{oE(9sZW0v~54rJaHkl|u zD~&zNZr_`SCgZNv<0$JnA!P1vsjEU!(KRwNGd2yn^xGeIw?mT!I2voPbe+PGm%9qf z({rtdufLCX+U2{)uDv-3$;oStIcy!*5M*birytzeS6x~=dUWy5MpQG)t3_mYV-=RB zU2r(ilGr8e%UFB}`V{^t*kNJ?a?tf&=|%`X5G zn3=DH>&_P!n~=OngGSPeZRl!4Xrv_>qD%J-wIC@?rlLBxeb*IHACh)Zp(yIbY&?FT zs1HeTHE4LMO+uu@dGrtC+_isUGyGi6C*#(CzUXs5nB2{X=J-`%Mv z;yDNvS7N0k*5qw$tn<)s0P)IVX+mW8br@)>I{%0vQg>&Z#u)lHl@KfDJllR z-jSGX#uZlcHE~LSnAtt$M6?`iQ&quR7tQkgq4 zS~*}YwoP59f-T#&O(Nv&W3R5DK%XnjsT^^_VYX=%C_IAMrmvHQsse#&47OPtM-tnn zeaN=+V4H!q1}q|pWeBzz6r-uA0Jf>SHs{9Am~A@i(-nyf1F%g`Gc7h*SwqiQUq{#D z!u#KDW47sFz@iZ820qBeQJLxDY~$qa;o=zk<$T z<2%eYIRsg{OI#&po8#k!aNWB2C1#scyo@SW&crm~HAR z;bb`>!$ z4ut!=C4p^*XI7^wNGpJC7M36UdNRX5sI&rQ1Xx2$dq?Kyny!=~7wo;Xqok}d!dzX$ z*n{7n9pcHwY|}Y9J%l7Bj~eg38c6h0SS~3euRv5!PFm|054K5jSRZLDB}YbSv!7(S zOGvB&+mr|6bg*=;MR;c?H&2R;JRPCXl1RMRG^xs3&e33+PA<+C@^W|wgl=Z7MHp<7 z$@a-HV4BuzY;AxDpc;p?^bhqSWT2x$k(E)H3k`@WTP-66C285F&Ta(D zG}K@!%E}Sc!7}4KaB_f}1bzFy<6xPFYIKskJc$LCY3s_w%YtPxbb>GaG!5;gMOVPd z5n#ciYp$V8!ISCAsw^7W@c65@H^AH(+6*FIp1?Fi#ztgCQ&T--GgEzSk5fO+fA(|% zvrHyYUY@|xMcSH7Wvj%@(DhOL*^LRkz?mzw!kU+=iMj-(AHllPo7i&@}bOEVI5M7_P(j&tsOUAS0=0=#yTKkTBH; zqSI!1V3`DvHjZgMD7H+zj1`Y%f+ zgtT+EUVeNbUG6{UwwQY*68+Hz*8QJ?RQ+3#NOS`xss9+r2Ow2+RRbZNDm9R>I2`v+ zIfYYL^3PfjH!eB=OSChheg8;bK8+>+=7UAGi$vuS%_7n0Khk5dWYM@dCRcnf5*=qF zda}Maif|K)d#SFptynqm?#Fb|PyN4$J{51?(#27;C`lxG{2uQAc<|uQ4^rjWT66gs z@k0C%uS0zx}vcM#%Vgk?6^-Qt_2%lD^6BG^K~<_B&dRHJ=wcLpE%*z}@G20R?>M6kF zxoWRS^!qF5rf6}}hf5)rF8WMtxqC!!Jvf1Xh#LNpz6`7e!gg7RJ1y#g>jshFAL(dW zCA6(bbO5Z|wo(yN2y0~inGQROiJ_*f9C+bi+{%x{kbUldzt7Rl&&IL z#NLOu2>udOS_2_(b&{JSe(9BB_VH_+aQq(8m)`>!`f+}LV{8<9-U zmoNYL^==}Sq3aA!o6h|F?AhtH1Qi2VdMtB@5g-X}Q8Bj*TwF&ket&abM?qD;2Cd-n zo2$9CNFq^?U(|`D+ZIlLda;W`Wb4(U6UnCNyr~!kn9&A6k!a7@t z)8n!;c)i=UmceYElbTY8w3F+G28a5b$Yi=Ua+tjP!?CuZzUi?rraX?INM#$xPoAIc zZOMq_3qdxkrFWoDz@aFq+92Th0!IXv%1|V#mTW<)N-X`#-k$EB)+TThr50yr z#H%vc>fl&#D=Kg77vSWiK!|SOSUm{bjI-3yfC6VzUV7V??)M_OPQC^6osHW~gl|MdydJxpa zgt%GjXfu^nP2FpewA;GXt2LA;6dD~Ihb&E9OXrBspFMl~bPq^Id0Ogga#$RLwSnMe zv=3XuQnc1%Y8jiF+wkpV*V*sHNflaMWfUCWUmL`*9=mHb1agdu9lVKPZ z?C9tfus)c(&d)dROVKx@dv3k^xw8%_dDt0ibJ(iJj)5`A$kWz9N8ci$wY!p^C7+p@ zBRuxx{iPD*UbStn5UKb(=yTXA>iTN};}J5lS#6IzxV7814z~(>&iwrR<*(=4ki3hT z8jH!%v38HjKs<+9B$vH+wnxC*a`)!q)A!%DAz7ZamZ~yM&(bw4Gp7#8*B_besLt=) z+;i*2yIWjH_czv{D>2MHLo!PpV6)tHWW24Ek5)$Pe*WsGn06%VX38WhF}-3ED;fY3 zRtz8S=lKC*)P4Hr)s_w<>!3+hQdAB|&g9J{e1tqKCK&Kg)m);-@H+hxyrBN<`oAa}qwoG+ouk%@h;pV4TzWii=y{|Td z2Do|l&fAyQdhG~`Yz#NgKY9E5Mua?G*&LoW9J_h{!4b<npY zuWe#M3Wl2{ydoFC&8X6}Y{1Qy`J<=KH&LWXEDSeCyQ>pG#ycxFsseD6H?-y8ky?T* zfhoq#&g$9*KfulC(wLY=3^&`xCTChm@(NS~3^!Y&-r$@>n!>b3yxS6pIaI>VNyT8Afh?7@xKzTzLZg%x;IB|TuIw>+W zskCX+bRL&qk`xmMbU`wo->cST2|H6|( zxEgRXy`i(at4awcr)Yz!K70P|@knJ`qT)(<0*OqaF&GrB(v7uAfl(EOfScKkZJq5t za(HaFm$muH;<097$nsUNIR)TUB-2=Iji_vYpQH?Iyyoy4+e#UD1+pgKX6lyj$9PH0 zB|hRNO;g`6)FmJUMr}q(v7l+aJVAkO2e_Ft*jP!gsiLQ68x&g$GHF#+6_pn9 zL?RQz&5ru@NCLx6Rc($}9v^Tsx1^#tlMP7E251;)66i{-#BfuQNjE4F=8JJNt)L() zoQfxr7@(oINuVgb3V@8v)Xr~eXlN3GZMsHgCna#n3PcL5r5&tX|1t35l>K5!Em#Dz=EiV1Kc$6 z4ypX?a|}0K*O(iskO_)P8dlIaVKq?{B_f8KYBs*1Q@2h->-w!R(qVz0M@iKLaMOs( zH6|+&Fx*tsbMP#<_Tb5WP!r>BqDi9>poz@@HywS9jX7i`G8My3s+ziyP2jmFPv1Pj zaMRyRok1ZJ$qYSL@FQCWS~E!I+B7wNLlbjL3v+98L&u%(-n?3T{c}6urlX0j3Y9`2 zD;qd~W5U}}oleya^0%{f@$~ic^>TGiJukZ2x9$3yyMUWomRf8onWV_pwTnTz&K5eF z+NKdTjRi?bi3thGmHQvQyI6u83a57iZn_x&h$t#CbgW?;re|Snfjs<6H*IXMsc1TS z``Pn%p8;-~bI3#jnXX~vo%{heledmFloU?<^uyD~Z?6I_igc(X0-m96;2ewLX7%nt zK~Y-MNXzxbH#afdbWl|S&xX2*V{|?baI*xphcWM!lUz?n6-d)w@Ajy;oz2jE;dd+Cck6-IJ6 zGC*bi-1&=N9`lx#QG&IoOx^h5(`UvEC2$lmaQb5lPHu!10B7~k+|GRsN|1s9XG~le z*olNksBahmXI}gGh+L5;2&tY8&0B1yMd3CW7_~6I@oFy48 zM{a&QTO8`VHoDdY7MwmoHuXr}FD|_-CrnOS8plQ{tu=@&sH&LV-IpKi9n6hQ5p+kp zq(ykSd0^|!z_i@F1T9HvSt4?1{qCCsb;8`@N^d1eDOnsrNz1=>R+ts%ZXcQkvJOE> zSqbYEq^0GxQ1+pRFYnYwXRaqKmzKlf2_!`lft|pM@w9c0Ne0Wc4~UKrF_xB*B_R~o zefQyPa-#S06;e{t(lYWm7AMsB9pD^XlmmKqt@Nk!Q0xCsNB!e;B+dE|hIle?>nGaDR` zL<}~|;$6^kfX!7j7R@p!6-Y>FXGa$Y8eEvdR;>Ua!;@L-lTuQ%GK&y0G_zT4W`L8G1*a!cTemJQC0<5qB?u8% z`jKh5m4cpO5Yjg_)Yg=jk(H;Sis`|W(3E5u8Eoas)U!+~tg3IH+WFKJo81k|*cnYej3=fVk&cw^h0B&mAdQ=T= z5@Z8z>T0Pmsq!*1a^PUl@(zwG$^)k}hMPnq2fyy!GtkWX8mcrUIT=|wMGQA1^K|6# zG9bXQaERS=62nbh4HiuiCo7MmXh7pQMY|FdPkwEu45GX`A?5_gBk}NmXd-3%#eyIfSZPvYHBnE1-t?QaFeJ=VyIah z_~rhK2MZu+z*bVgI*&S2u%wzZORmsauEE^3&s@ z(zkr~;L*!7fSW30d8jmz%F?$%4lv`&`FB($1_uegyLA7T7nia1CIc@gCqtwtYgzdN zZYB?u#D)gucb8s#^!&ONq#KcOGSadXwuYHIw%#o0%ZmxcaC5`G$3I}Wsi!0>B`wF% z)ms~h;bvuDa)=E8M%JD;7ctyaC&)-i$!Qx|gl1v5$rHwS0dCeF?uPZI7Ewk@QdZl> zJ+TZXP%&;&aMDszsLE9w7~ zIRSH%VWA95T~T!T6TDa~OY|o!to|*;fqzyU+Qmt@2O{wHL(q6C5^ec6Y2@%vvmY;=)uLgG=zx$@S-H#boo?A+cK`VBNE|xIDUoORb z_a(wmSrFVVl z{!u;U@sfx$#Ax08_;kwlL%J8Z!6Ez>^-&!8eH0Kqgt-JZ(l^D=hd*>LM95EJ5q|_M z$pby{A)NX!LiS)!*Qra%2+4kq#T;K6Kj6~-5Jtr!D$lW}h`+@V@&eDj=#||EpY#f` zD;kseKrnb=x4-<0Nw54Gi+l6^zEYrEWN%>)SSUox)Z<6L#csio^3Sjli^Brg;NSB3 zD1WJ+g#VOAsPTien05JEz6fplaOp|(`?u%Me+4w$Qg~VZ~^l!{R$fMq+q#Fw2+COYrg2s;t$5fC?{uwcnVOf*`ojwFu zmP}mXsUpdedrML9y9a{+v}Dh4o3xbpYBgFRPDJHPQSiGP6aQye{#T!U^$})K6UhC< z^|8f%zxy}DRrm{1=0A``2s7ba(24s2x^_v)-(@KOHEISV#IXQ*Ujls%4fdz#F4oTf zTVRUmK2R!}6f-vKkKg`i5(Rwie^m9aZ1O{xFcwZ~iz5ktCHH~e&WDvo_P5EH?e<>U-q9` zHPY%4b%JN4; zwdorBwT^cXC2#!G`%kW(*fYO)-C*yngM%nUe=jpQ$#bDXXf(y3roewEMmhy?*xo!NWU0 zT>Rwo<8_wc_2+2lo7>$%gpN;M|MB|OtM@P8JpAFiYom^2DxWQ(WoDNQ`JxX#diUt% zi#Nai`R3Wf+nc?V$aJPEN7Kap4x-k7_3QmdZ(hIu?d6LHPal`iNK`t5#n!Wmxs3<` zJ$G+>`}D=z*Y93EdHCuUmq_I^B$VOI9OTQ~e*4Dvzr23;_U)sW_Z}TL$3s446?K!f zkk)$qv(LW0e*49n$B%D)f4`4SpfVUtj)t-GB$6n|ugExnX!y?0&z!z``-dOyJo)Ly zr`Jk|Br1);WOIz1+mJ+2Qd~?2k{XY$Dlf~+C^XxRXqLU7?m7MWPv3m^^Sx^qZ+sI? zq9{@6%4{_w*A}!Y#y2s&sx=L=WW?3iSC(dFWbZ;W^Py8mkDWSq^_w5Q|Kju8SG#89TngbkuHd=6!P-YqS~5vA{uwY;q50rIeGrlwacHK`sSRi z0)?VPqte0g-HN2^r>3_Jx7Rl$uWLavB5t;zrYtjw+uE`KFW7%#=bkg4d~)&pR~HVQ z-EOW(p(;^nbQJ^JHsGhu9oRflUsqQd;@=Ej#+bU=iu{bob$!h{5KUJwH@WA)@e{|- zp8Dj}*)csOni7RZWvZImf+L}M_ryp`olw}37u1Ag$3m-Hd4(AXq0uAlJD}_4Hq0y> zIDPKuiNhzZb!d}mG#~{SY-1bPZ#3)}8EmX=Zt3ZZ^k_hGBCo_2L1|ucSY+}<^L9im zoEq7*dE5STpPV?e>&HKfbnH#G-C*18a0T~$FwVt7pY zY}+_o2gwcAaQcW-=&{8JcyqV<(d9n6Il5)OB`_ZQYp`P>_J6T|5$xX|J=^Qr!IVR`@zF|cRxF^XUlk(uqr<_CORpnq<6|?4$_h6syE{hbb{@U(?X92g{`Bp)Umo2#)!AHMnjX%L$tkI<@0r~- zQXC;fk`dYY#Wm?saGZ$dAROrF>lqvw9Ud6$-BiqCF_=nM^MiTU7hV6ZEdYRC(m?rHxw7ubo6eRKYE}!97w>J?ArRy@|2|PEU#Wf z%kJ;&>+J(u7#Zjv7_@}eqXEG}W@wtjAuVoxPfw0p1F|mYoZH>iKePADS3m7+57sp@ z#GDW$k|Nc_*3qwfVSc!^cXD>`nX_GShA1Jsy1$-ZNT#53>hAqt|Gcqhu(k%-HEi76*xk2r_vvvDg0upWq)1j$`dE~*GK`n@0q~j@kX&ym68^1p@JZFRq3S!_K+$+_A$4 zcFj%>wN)3TCPapZrWSX0#Xz-^+gn-&`-l1m2Kst>dhM7hG-x}pCH2(;WK=S=Z}H)e zcVE0-{Po?}bEQoqHT8nwgL%wVayT4xkhm=JKdM&CCex|uJB}=D-O$_CRF)MR6BZGZ zQ{7+Dh3J;qEe-8m-Gg9ZJ)LcX*0c|`qOx^d1jx8$?%QXt7N5U-_Wa)Wr)D~Zb;7#I zgT6=#Tzlf8ptHbgFaW|j3|djZCeiGs_HF8IsjSM0jR*+|O)PG&T>~{rWKTvW)&)HbU_CRIJ#7oR+PxcKJbt#b?09d*LyO?w@Yv<$e~j$6jnH*@Us~I^-MUvoB1y3Ya5?)?TR$f+CTAq(*l9XszNo*B0 z4P65Ry|RrJ`6-d>1N_$|l$VBgBf5K4DZiKRiILIcGKHRVn92&A{ zczGsG#n`41(Rd95SDt=%YF}5IKrm5-mP>q4EVXJ?7b4@q`>2h*tEri>N0Yysn|nx# zOLz~WTU781cr_KxEghZB!d5$)GLyz;vQ$~>CQeOAsj|NB!sUg@7J;C7oPd@|e9*a~ z7m>&WhK_-uv9YO{nL$>HgEPFMN-v^^H&zr@R#(@zcDA$#i`3~%Wfq-6XR)-*Ma@XD zwqbDl&atMN+Syp}PJd9hd;k#$EFFDJm#K+eyQgDFLIZ#}Ev}=evXWQP*w)fmBS@q( z8Okggou#a5Y}<;6C9MO)olUhp?Q#+lA2cl=LJ~x}jzNvFw2^LnsdZqapj#Juo0i_4 zQ(nO@<<~dxYpQ){m=!XVm9eh^+K@ut=0TyLc5V$?xdPL(eAx&bgH_cxFytFa8JG$p zBa_RzvOtSdc1LMNm9VOoCoCz0wI!3mz<`IzF>z=ERGeIIS~@z~ni}ewg~=tA4LwaT93z{G%K5_D%DO5(zc>=$pGjw^fUWD8w;_Dq z^pK#beTpn8CDyTQ94#j^G-}kOROx}$JVE1RA-qLKV@YXIgP@|Is;0Ea6NV)$A7Qj` zG|e60EgI(=YU_JiaZ=KljujFU2uEV6vH@n9CQUqE%WxaKL@p0_m`Wb6JU=%tXEg&V z!sMv1;q-)E8^Sg1sIF_6a$f<1MM_dqVk26npu|^3F!H5}TG|?V`||<=+7O*wRGFV& zR#=>upPikSYD%Ni7%UaGGMi;!53j);9j|Tao}kLe%78;xQeqQQB0wpyaMcVKbT;=4 zbW}Fv#b&2Qa)Bjq;uk2DK$BJ#6&ECD7{QQ$l{g#PR&zC|@`EKr+t>*vuqQIo(knp~ z4M&0QQ`a+c?P;y=>Fpogv~he(S8Gv4HqbY8_w20F^76{8!mPsVlniZXAZ1lmbv9E~ z+q@OwQYX9Wd!~971o*3dJt3K?wZ9~&MV+c-J3d1`ikV_!EY^H0ky zt0>OT$xYA6$cfVcoMAFK(B+!OfCZ$I#N^0q{$yj@z-;C!9DH;mE3;}6(dEf1u&c3k zj2s>4g_S`6=+u@ivs1HkM|S24V2Gt>WE2#qre>ulCZ{B5!V-YR0&`Z?G_`@_CZVZ` z$*IM{y5^SVzP=r~Qg|HjjxsAZBN|0Z*A%`Kh#!D?w|~RL#LV2n)Sg{C&+pR%r9lZ9 zN!bNSiHR{0Q3=r;CLJJ@$y8C*HM6KeR9jOpQ?wdT+zhQiQ)Aan*{QUI3BMWDCCS&g!6Ca#e&5m4TiA_?8_WL zZA0_;zOOEwn;&VY2U@;=a$lA-&?Pt=rj})9wbsoiC}X03V&mw{)~(Y!=eO_Qzx%>& zYfzh(9F>%knVK9G92p+x3*AkpvQ(7W8d?_iptk6fXRm+$a{EYIZ7pBeIasIS-h~YrC(T6BW!OUomt3{B@#fdEU4AAck~DdjV_#>o!q&5+tz)D_8d9> z=~rLu8-jCl^zgWhxTu)u7_N_>myZpcPGdlisc7h%Si8X|1V!gw-}-#(WJ7H=jJuwx znZr49BqF@8+$!iZZAUlX;HdcG?OSGd?>Vq=5Z*XivQdD?+RDh3< zN2o26!Bzp)EOi}YOK4nL@h7(~AKuVXRmtafb@pzUIhZ4_C{`>riImiJpcTU7Qp$Jj zncchd_=#hCM@JglqZ$z1Cq6YLCOXIC19m#cz&e zbt3uDq|jiW!1Z44_G_)IRroY%3QYxeNNOgQegI@XY131alL-W>SO;DjCJ45!YhXxZ zLRvQe$S0>R-QElE9+SLo9oIkD%W2IT8%qs%3pfwSfRl9Q7666{fx)Aj#z$-ER8Rud zk;QF5c#geqU}$t=TGsHV7cO4CHw;R+;i17He(U`mZ7j_#^sr`OvsG9e9RqUrMyv|}*3s3;e6@)g0~`5l zRko^@iK7clR_+l4y^Zy?3>v0|OqL%-1a)<558w4+vB_x-=PzIR>E@shOuZ4I{{GG` z9b+nSkEtQa;fE1{W$x_hw>~^BIeXi; zm#*A?+{gqyq0ydh-mb1|&CN`V%rq$sSmdZ`=opxquZ6c!aPtxtCnpsF@QEu$lpR7u zmcG5Sr$0A5E~)P8>)+jc@bqd=H^O@*1bTzL*qB=xn;L0TnS5nQmYSxv(P~HgHbmeW zre>!GC3;Xm5qLnz1i1l3CaPMmaq;r!M#iP?ymtHElZVelU$#fU*2F$8(#zA?W38Q~ zfv%1o6F?WLrwT`1)~;zoB$4U*lu$4CJeY$%C?m;B_aY@FRbwkq7Z4m7+w{XvPww7- z_WRp+Kh{8lM<%&=x~+A#HPqG6)>Ef4SWK3RDo5MY-qWTPkpr#Qt@m~}bl}2T^kbvL zvKed_&iNRc!5ex9hD2nXU%dU~?#ri(&llgHZpC&_$95H12d~NuAn$-$FrBeJi7DZ{oB_s z-~W2Ppaap@q(nG@X_y#mYw2n0s4LM_z{u2fjcnb$nh`V9%soCDPGzc62wXiX=%#|B z3oBchiYGT9HVx)bGgA{|GiwJ|uR!kL!>5lHAK!oa=GWIRUOat&q!J1UO>=d&x3DnR z*3(ntXe-m$Y>pa7!^pS-oW1UT@3f7j7B($~@8sA=#u z`P!;l`c}5K)>c-QmR1gK-oEuupS^hY^4C{S9zT2f=!xjvZ}Z*&N`YyfwsyAW#?bB@ zbsY_wvYG}54xO5rdwMk>Rcix}lo;PNh8oIXpE%t_e^@YZ)HQXDOjes)+Su5wao{_y zbaHlaa&qQ7G94V&*xRplbFH}X=;4dEuYP;8`0ByS#d|N`zPT*~KAm9^8RTGR<6sU8 zLoGEO0}4Zx!_m+&GPiT__7EaXk&b0-n4gWQh6)or15}238drm(t!r#%VGSj%b#`%e zbNBG{tnpgu;oBRIhvX1sH?&Tl&N80vBo{IsnpNj(bdDt zCm?9u`rweTu+XqDekeOQI0Vk&2F7&$BzpDsx#;F_ad3QU)!dcaukOBh|Hnc;Sha7! zn$?zIdd3Mn(3ICuS+Q?5j2c%Zb^%a zh=oZ$B{?OPpHh>A13(-3;r63Pi@&~qeWeSIQ%D^TNk}T$aHHD>0M5hD!pc-nM@tK= zoTa9&tg5DCWar@G?GqVQi)=(%YHK~rZC4u_S(saTh){}&OMHc}t7l|#e#b;_d2v~3 zW>$7qMrL|$VPS6bj<0`t^#0Y0#b56)2pt;Git>!q#&Xy$!a+t$Gecc<71(nyS!!%m z4PAXRyS1Jkp{W8S8>6o6WNB|>sb}B|C&si2eB9D%yT>=pZJnFkJUub6X=Hd{bYgt^ z$i>Uoet!M<_0t#kpFIDzH+Tx(J;1`qKvR>grlJBPM^{Bd%gEejjk}+B5-cO7GPLy_ z>@8Ni^6HR=DBdfsVPebH?em*A^tQC|8fq%5+s3wCez5rd?fVzco<4o?ES6h{(!h#K`uC@wC-*T;^tFKo?p*I{v314Gnncjrdk`n@Z78bV6ObvB4HPzIV zl{fV4J9YE*od+)-JYT%~;MJ>N&sfgDT;^tBqOYwE<^Zs&tjU2{%+lW3-8(QXy$%Qx za5-DH?%%gCHM3!$tGT9%*fx6V=9}kF9=v$+;`z(RzrTC`UF9s2^l~=R(NW=W_{wgd6@rdHN#UA(x#nF)PJ)ur$7&TaEkLv4-Cg6itV{%t=jik{rN`RMVx*Dv6h;_K%f zvuG91&qh~+t;**R02Arzrdn_c$ks8)KRCJs9E7Sqn@{fEK0mslvyoq2R$N}yKEG@4 zXw}fSzbw9deE-R_KVJ22L5xrj19cU3RTc}juym@vvA(&vt%I*ma8yYS%#<8n`24Y> zdnZPQ+W2*~G5KXhMY)MiD6{w2>qn1Xy?Xid(XR*QV9T(^Ktn@KRfPqfCmP+%+SJO` z-7_dEG`a#d%<_@Rdk^lO-?X8fu+!|yL%pEaC^A!VhZ zuBr-d6*7fNVXStvcK70jL?k4Y3t?K7(=IxDVB6g6Xm@>cSx6(2ZJzx4`HNSNe!2hd zoXtFZyKiF+Wlw8e)hhP|KwwC&i0xmEX zuDD9 z6M&V;Y8=1w$K$WJ)pK_shO50HjSNQ)v2~gfl^LEB9UGmJRxNBA?TK$e(pKFNfL(|oGS*Rs3=}2I)k;t)~KC1;Dx%T1C#OA|XBtK5l7f9UiG}N6S-da=(J3!6uqiMG~y*G5;pT zq9iM$prp3GseN>+1^7UQoryLboXkX`B6JH$x2zx~uasZg+BGmUT5<<5Obk>h*fC3Z zB{E4Pt)Z@XhARRTXFS&2rbtqm$~t*>wE8Jjx#;AAf3wl~&< zsTW-E@RE21Hn(G>ue)b-?#RQRx2N1jtGFgws&pkKz9JvoWO$vV-uW%#6Pvbw{p{8@ z@7sv!Vx++aLI9eA0w5v?t(|J*tj>b@A%8 z-$XxbjJ$)GR>o@JxPrwgl&(lpz;n1|TQ6RPlQ*|cHk;f=$~-e29W~e%Q53-eOd{g& zM4FLrLieRxSNG(GLfbHTYfRw{*$gETNI)f+Br=0-hJFUGg5M~&@<5Cs4~Gr zhHY03SDRVb+q&65Mlz93E^ceqINI5HB>$7b6``&FAaq4YOzC=s_=QCHI5_$^^MKMd z53Ve(9~o$C?`&*t5!RJNa@V>#Vw7$!uWe#>-@b*J4Pz4%8#>Y={9Ns8bIl`Q80Vj@m43SnC6&n>~8=&b_Y=?U>#&J+pJ)c$y^@hK`!4n9}V$^V5ra zUmQJhc-Q>4g9}xTG#u2BqbH_x=dQeXd;7bqm(CtPyzAKEd^Py9C9q1=5mUNdSO0kO z@b&H6*ROnj^4y^cT^T%4iNe&fyn`e<&b)ZXe?oZu`04GdS1$Fymk}fqnWknUrgZng z;oT=s7T^5#{QlkRL-sPVaGYL=s$m86Ywh{BH}5`s`ug3|$9L}E&y|yuQy>sXOkJRK zX#pL#u3dWYc=6fGr@!2J`h({xoC0|4$!tRr@Wko!*RNf^_3ZhJm-imt{N;$=3VA#n zo>x+}0Hw``PM^AT_4@s1KmYvwmD_EKtKh^i*s+>5aJt!9C1Osu<=pY3UtPa?_4?iK zzCCp@TT)scJ625QfICg1C@MnC>4p~Msox`R?N7o3}2Vzjkq*lsuf` zgz`A{FgP9D!{Z7CvAlL9l^j-Ho}ZnRn1YeIy+`*SJaYWYi&wt>XxOYRn|5N^L;QS0w2zDZcn2~+62TvY8_1WdmPanN>%y1Q7ekC5S zpr{6WN$Hxg(aDb5ii#+V)cxK+sjN6BA7o_?CE(-$-`Gpzr5dpzHO+f0_ObuJ7qw^Wr>^BS7Cju@%y8p$usPK^p$A2nFN9ntb92FAu`!3}cg_|_jf z;ZGl6d;$&+A4Njmy4m{Lva-tB<^dl3Wih$Bz{0YE^!Ui2khqOa!0IM<_4Q9oZP~te z-`;J9c+j;#N8sTPm}pqTJk+|mw79gauC8;_OspHsfo`$od08ou+~Dx^i6UTixh;Kt zL!%qF%uH?Cx~D}JI3Rdw1w6bou)1Xch4`J|77Fj=Bce4 zCkK0~%Bu@=lcR%zW0R^kdVq?Au8yAm;jxjiiSgkLRZ8G|0^*CHKvKt8-GI)Xa$fWJ z%&tRcFWvm*-kqDL_Ro#=2+IrLEJtu;a#qv$8eny!>N`7n`UVCEherCl#%&c8;0!XD zBtb<7mLv^Zs`wof+xDHg^v$jBezBC{jVxewV}RAAJCp(9 z^!D}k4h|3Y_7y8a2SWejaSVNo)h(Q^X&IheIQ03qH*S6Z!&e7(Y#M2)Ey+%f3JQox z$ti8$RuS0@>$+R@l?;Pmw@9XX98Mee@$E`sZk)aEuZti?-*Z9nybC<8* z`02*wOXqe^4GDP_IdMV0A<0>J6%C{FeYt)ZshgIbT@uG#hmpE9-5p&W-9YSh_jHbB z6G#LC4nBp#QPeR~m)U}}6Y8d?IyO$voxJqjy&tY!`lPkBsky1KvE$(Jrk3i=^ddoH z_r|@ugh9L-V0BZ0O~{FkOiFa^g}Ea1^_#+$gatc%}-JI6VTk4ue=Z}7ReOvQ79YcNm2iA~cXyxGDv30VO-!w3~^~ka2a6=TDQqtC1 zm>3li7Mq{p3*?#wzoDtSzq_kvpue-FFHRns12+G1@?eye`JkP${khhxc#UyZ6At=-_Bad0u>UC^sk~Ik&e3SY4uXU0Zz@RHnP9r@Nyw zl?WEcmtO%#@6~w%WKcD7{`s4SZx`Rb|E#AdQZU|CS}qvdHsvlSDUZj1`(I0|QHE93 z+UBGCcJJ6SHqcg6kP#cPJ}59cv#v1$Y8Bhu*wEYE)79PG)zQ&uOi+Zz10q#k3BK+# z%IV$q^!|6Zp1*qb{>_(Dc{QEI6{Q_JGw3Vf*gW*lzm-+1Or|O&&Fr4u*wau`os$?E z61XlnxuC7A3qF8NYpQE%Z|Cpq+~fd-`~K?&rb3!2;OTEU<@ z+p1ghiG0E;>}v!Cnr0nRuWFxu`tb3+r*H0GKRz>3S6W^@xN{Bqn`;#p#3x9@e2aMo zF~VP&q{2}%$e-XBWX6XD1$g>#6UwWA)5Ry3R@SsO)pvGwbhHTS%gQF4h4{O>d9F{(_50yHI$c?9dJP_R(#O^7p1F+d9Ji{ zbq$P+^h=VwJ)9hzL(=^*N;kZ;utAX5P}|;CU&@ce6Tx1feQ`v#2}bD(TEBdJ<|J}iz!`(rj8!yGBUIh zI@|h(S5@>PVnlORNl96uu%)TKk{1RqMj-MPB#4SCrajecxWw45gg~n09PH_;3 zG#xRe+cQ;OS~}^lY!ybON&p{=r>Fy;%TZO~WJYJ^RkmW3Zg6c@L1hiEw5GVKI?rDL zCOue^f*P6zc*)Z@wU<^4M#!rq#dIvDLV>0Vj#4&@=3Q7+S~XGtuaP3i&CL|>N;1o< z^RjHjOH~;xY69PIrB&fY;Dg zU%-b?#o~j3(j_`&Ca2|;l@yfcO`KXqZyL#zl>bR`-LY z6M$HXK)UKWdUQ*Mb9{eu-?F8!Vx4>j@^8 zx+*@G10da^tlZ?H1#4T{`qmZCMd~_4SwD z-II&9Mn=UZWR#?)vttty6TQg1Bg0KiQ`f{D(Ye~%hWC8-`FooOI86%8t$nL@7t3K7 zC@B(1cb1)tmtSa9!OF!$!^_rf-m+%L=52fSy!^>NXOPWG4oynV&&-OAh>c|XlgS8+ zGF6(EmNkKN=YDYW!TDp`2HWfF>l!(Whjx|7fd`F|H6m);sDzS{Rclrct=;+ZOS|{) z-umWSpYGG|pwJ2d%cUeGr^bi)1^9a@fvgI~kva?~ok6zZy@$6yd1*smBdE4_46fT& zDo+sI38XkMB0go#`t>6_Uf#Op)qT5OfAfRSK7DN!EV+~-V}ZKH#v}%Nd3w59f~2f6 zrkkdop)G-4%iq8M^T%68nlYuCx)-fk|60iyQcNISZ8N5SXl!zN#kLLWckSBy(t*Pt zAAaY+s`jdU46Vr61a@RZQjDKB(iSS>Vwl?>|cSkytcNxt7rMz zJtaVjNqY&Rt8I=>001}dm3>w84(j4z;d^7vb92PRWd)-HT8|`+bFc|n(~IGn)#L0RrT#%%hzt*-l@$| zn*owMMAsdlJ^;R&J%_gK{eU34>a5W4=*Y;3=wPOkgQXQ*(^VlhacGj-#`f(L?X+~T zgla5S-Q6qK4z1g~$pkC~RVo0`HTMkzqMKjb{@Rzh)+&%Y*=)7R78-AgOjP1 zjsoN_Fd-FH4Fg*My6l3YtkU|X_TiCr>o<(hiNXr{76RyM+Wy)yJnxQ#?bAxi$t{GXCsY0|yYQU8VoNK{~ zh)v4KE2`c9{##$1Ik1ePn3l}+4e|~3aD$${Nq7HiVY89-u#V+My;3@*^& zA;M?{fpZPrLwML=!Qcm<9RKF>$TEs*OlW{#s8@)ey@ja}eHH{G6^`0WRdtqyd!~N~0Qby-ZQp(I)tMWe1kH^J zcXDubbh0xsGSD;9Mx+bKHwgV>Xk<^&T;HI^x!GBBc`!Fo%E9fxb2v1cxTA2?IhS1{OZmFzcM6oXCto=!to+r9vfW zuD-LocR*-#VrurzlV>j8xO$8GRbLoEbJ<}|P7GIul__9kUCaqJC~=^%GPHCcXf7ir zCqBr(#2orh9x+uaL3360tR3A*!xEEQPyKS^+{N2}K6-Sz1&ew@l8uXljidD}9heem zqNlK+qo)ilya<{b<{A|p6rqza&Th?ghnOoymj}&wO{Wdw!_`ue*dfzp8f8bp|%cobR&IjEslYOugYk4-r`%15H!k%*q#Nu1XXmI3q6H4M8Jl zipF_%S~?tU1&ju|nWe3z8RG94x0#rj0SR?-A)v9n9eIy{mYcUnZ{K}#|N8Y?x31pg z{`SYNKmd`UnJ#9Q7IcV5ps$P77@Av}hJg{?nYjoa(pG^vDWM+L#=4j)iWb@7kQIO{ zTi7t{9h_ZV-90_My_p;zI@6np#lhXp4eD5L?|DC6yL$Jxdw)E+6sx8`{RXF)+=vu(1Pl z?BVI<%VPQY133=l1W5Y%u{gfEOmA=3fWfnmuROeZ`}Fw-*Du|Ac>m6=dl!FyIfy{4 z?zW~D4z>oGfNQn&uy*rIWi4!M{X)7ZHV)Qt*|ENM7IY(B;2Q|y;hMQ1%$(uk20+)> zKM=riXjnvKM0iAaSSTk%FE}vJkD0ym_UQH7H%H%UY2R_`=5N289liVD_T6S4o*U?9 zV&iCMV4z3LwYA9#0YgC(D+gvE@LYGZ@bq{lFh64hm}A4h$kEe3v$ZPBgUN!@IwCSE z8qjfkTzoty&M<~R$6+Cf-DkM>9^K)d8JU-yl~cXx>ofN;0-x>$qty-YvcNY6DygZa zp@Co-DjG1ZB;aHS56?BX%Zv?SIxsBhut5VhYUA#om{HKQqA4*rEGjlWF^LU1iTsHfGeRB2pCx1TTo?Grk@Z7x8;-S~RyYlRNVnNArw>JV%X-wA!l%t`c1XmY5 zy16C8fyoA*>rD5H4EJ)fBxBXgkzvYkjLI&ZyP$c+>bAVp#MHD5Vhfhb$);sxW@Z4h zT7K&6wQIM3fBfL&QXZlkmzhy9bb1hot{l^gZemCfG7XNpq9z6*L;*`{hNDwV8bNf; zjJyLJ-0W>^937o}xs*HxD{Wp==c0j;joXG7&##zQSx{J1Fgri5sI07rv*W7^*PbAz zz>_O`JFJ1|R+Y@|tR;x9kFT+j-YkS#Q3ZgaNrTORp0SmUqkSNxJ!%f!)W^xw)ydL2 zh==Hg`sLPluNdCAWz)#W+My*QE0!%?xoUXB8^^ymdG7wT`!`1~-55Q!EEnON+|%MJKNOK%fr!u#Y1${1JjyUZrHMI)9U5D3)^d(>*m+A zuh{a%mD`UWJs!Pv^Tz1)-#)S?h^{L`AMPUR5Z*~_A02fKJrh`%xHyK*C5UdUr?U$W z(aj3)d1=R%b*uY3TU+buDyy0nz53SA4}QHedil=nb64)&2R;l$*UQb=U=}bLRcyCt zsz4HT3}H3n;Np>1FplUtx4-)8ORLu{U)#1AZ>laU7 zyAC6ZA8uT~PY~Ui3j-~6wP2o7*tG{3EMkdIVkr6(S%Sn^+QIhb`qn}M=&pF}(yeR1J^b_T{f_|XN;{jA#YU-3 z5mLR13B$s{!P74!A-Sr9;JF5K-`%@y)B3^grq+1`&+S_O)t%A%*DhRo^s(b^3bhEf zPU_GUE21bzS;58&3em8n*p$4cmRxA?4d%V``iAYxI$9f=(tsP}FWvUtrEBM|UVHeF zDZz7HEOel4rM5vIs;n9i?dTnunv_;p(Avera~qEB-?6fd)6_YK;JNjE8_(Xk^ZVt8 z1kaUXqh3{x!Wdwnq8XXwAA$&QC8Z_(9R$zSY(2DlJJena8z9-pb*}pK-lH4W?tZai z4`pVMHC=;B;WF*2cO_05Tb!tA73S#)(%t zcz7VW4;+3F)qbGw2nKBR)n z{FLP4>Xw$Sp5ftU!+zkoEu~*mW;mH>DRQXl@>INmGS#Xozp%2lwWF(VWOFYM&ox85 zBdR==itni;XIMLTHgp`VfNZx66GYa^P+ftF*e~QYZe2cw{b0yQ15nRVFG}1z8!bn4VS3`Ugg~zIo}~D|rOZ zHP_Wph5}K6hD=l$gUo^L+t;k!@Y3fud4R1{kQrjVv?;0qsZo@dQFflQ?VVjP&irx= z&y`+iX{d?u-=>5*5G+L1cmCnyUwm`&G56<a1f9d95#Q#-11#~0rq z{=?b#dw6)R1zk@^od$G(M4XY6nkl1b8kE-e#n0dEn-k5$bG^*W!5LNY9nnGfigNNw zG!v(&gkXO!)+LIxuZ^(<@boryD&!9xBU4yQ+xq(4K!~c$0AH4;=L_Mv4z8XqZf-VK zc3w>4qHD)0&8z6-)YaCM7UpH=M!Gnd*}DMGot0Svb==6BmHl0v-L1{#Q8>=P#LN=! zp=DpvwQl{kO(QFp^mQ*D9Bz(t(5Atj%o%uYM(57=kM3E&V#(6Q{VPY>*;denLSS%3 z_t-S=djHFhUg2y|f@*%<$~*^UIRzlvMj?PnU4{;RbK<>&2li~=v|)JD`m9+9w4|)6 zY2=J&>TMtV^w~$>y!YPW{kyj87|Au1#?Vnw(`NueZFuX~Q=fc#?3+(Nd-uS;*BUKn z%3<87>X=8N9DBnT-@o_iC!c?F;`5K*Kh)|ZBZD4QR@EcrN_T(%&XMDveSPBir$;{i zBvWQ4aZ6IvFp7nXu3gPL2VeX6*zx0E9{b?EFOPfAkmo4OP*m11M>%%?p@aM0{p|BE zzWngxcRt)?BFS@SQr0Fkt5$E@`r7M*dm(jYG-M|`SObZh|UX6BT|5f|Os zmo{zObLhZ$Wc6xb5Jc zy>Gw0_vJVDct~;NW+JBZ6T&`kU96E4Qd1-3`2BwqHUjJ2J$ltQKG{YvD-$x-A>FzPxYu z_6>VCno5$25Tr>HDmA(J9j#pzxvA;F-UQ5Lg{LORg#~%cX$F{UT(@p;#ip%Wc5Q!o z$H?ZzMl(5b9C=Aa4U2w?RQawI^>a9>k_le+V6EIh|J0O(s8Aoby2iZ}nqFyF`|_3R z*RR{WaqGs-)tWN$vK;vtsL&E%Zq3U1>fg{&0FGf zZAJZ}#RJRXlDKT$961HJukhU1v>dSjbqvC$Ff}i4PDgLBGuA#t*G!0w2=rwIL@k~J zAUB}AtfsZ2XX%o~JA%78(mG*whmT1IYp!@>>io`%fyvaF~GpCI3q zwD{;SKd*owb}thstZC+)%IbxSdb)cTcP$uZ$bh$ify&FNk_FtquYjGNT~aYPeE9Xj zku|F~Ea`2k%}mWmijN3l`i6w(F8AC`p#|sVR5!JDwRd)RE@;UGf=C5`GDBWL6Z>v@ zU|Vf!W>IV3>a7PpJaPK;k0)Q**xy`{mzEe6!txD_h$&lU1t2#Ro*MHOG&i;^Y^y75 zvBucu^*ohk08ylNd0N(-wiWC5eel_-FTXne{%dO%RpzC#UofL!am z;*`{RwKecDYN{$uK`1byT9ubq)+Io0-qP%%1)alN-#UKc)R$i$*}Sr&u_!wwEyPPdCt0W7ywI!M@M*=4pV5Xs+P?MxHFM`Snt_r$M-FdAqXWpzS&?1N>05i? zqi?_a;l$DR_pR!zot=}J80P8b8xfnBmfteeo#z4|H#9jZAuYt0IYiNAq~_%o=a)A( z*OgTiG_!Hm4HYg%@;G3C+ks;TmQd8#jcfbnwD&B1<>=?9zxwk1gPhjJMoxpu!Y!}X zFDQ(SOv){+Y+JXv#tYuL5vgz(i4O`454VTQT5w)UaY<=?9jCseq^M3G+#l*`IazrX z=woNHGdgh3&ZGUrpQ4!j56KMBdC2{-@MGiy5_-cyX*b6 zDADZv`DKaWfdPIYiHR)WxYo(hspSjGiYpsxi&9G?CF|F38ftB5E>DXO3-a^v4v37eX)edc z%{4QPUEI)6R9;zGo|6%Q@ix|F3R(olo!@o%*8K|)uHS!rthXq-WqCC_HMezOz*~;T zcE@WQe=l{7Hcf4ss$2cm^=pQfG}o49CB=jU_%OYLV`f*yETgFVCB-Mtn^RR*KBpiz zC*PEcm~nEl961RkBfz-X-7ByC`sJycqt_qZJF+sRv^pt`J!f^M`V3hf8z2G~c{6@p z?eKe0N$OwK*IreSoe>|-VtF%J5eb!Zu|IV8iHb$RVcZD}e1UrBCQ?MIo(3lNBLFi{o16FW53l&xF(Y6~(G5+nSW-k#op zF?n+d-0l|)@1Qv73v-GxLef(J3-G2ZRap(%?ee!Hu$VRlMddh-rf z3UDOBiXb6D=QaMd+BD(9txHdD%1n$2^=EpydisQ=6_)^UBMP|mw79&Y+`QDVBvY^z ziUL^!NCaEGx~Ab9k1t=nb9UcAU2$e=QpGNuWHxiWB96R;9BP!2<_&V#gp3Uf?3fJ= z^ir$hqk?@r++5rP;uC_Q)pHJI2F0Y{`v5;m3UwZP9WYWQO#*)}uIHQzIe?L!WSj0soG6A=``+NH*$7hw7 zrX(lDB^b(6%}lWH~b>X3T(NuDl`*t|(|J-Ne{A7uMMhULp38*q2*}hj;`A`NqX2W6H4UU{hFC zup}sIW4+WYo?mg`?cUm~l;oUdDh0SJuc?wl6dF~PkTWtiF)@eWu~&a0_G*v-sjHYbA8CLsl4Gl1dFP*m50*QUHN z-Po$g(Z8hr_cnzx{`EH5Luc%F=;WE&bK zDFFyqfu?8BZYVn|DAC-FnZYrH)>X%6wwo_2m>C!u6%_1GCsZiZHU$YaK%Ug}rDZ88 z>`q6@3`xm$IONWtY8V)_8Oj>aGktvmV=D?UQ0#p(eEfpK0)hj>nJhmo%o^|>h|`K% zkV>R$mgXk2XV-FwH!eWw4HOk+O&B}FB~;Tp-iMu-R|D);i4hROjEoM4fuz5mkBce? zok9>h6mHP%Itf9s3F$RJO;tSOyjVdIVg6`Hkhd*( z7bXVYMM6aj8gceeMRGb&oZJ`uwe~bxo+qg14IjyjQ3fLAjB!S#2@U)(q>Lyu9NtqQ;6RW|*6N5S+ z$Op{_$@ zJUp15OgDEI7YBPSBBg;1ai|ii%IFK{{swkdL8BVMpg~3g$Ssw}-nDdmQ*tx&%S+fr zF@8x2k&vrsOh0!IW`G~rsCd{pX^^pj7s8LS8b~?zmZs*;->Ly42GEis&bTC`gN8P+ zqXNWiC@LzeuC8jITbWvz9^Xl!xp_MwC@IUu)7jJ2-U)$HF|ickT1-{dg{aF-9wzT(5-{Bqm!qXy@RWhy*(_lu%#p0J~UGkZnaw6pu~`npxCrjsQQWuJJO}dk^^^U zxOOV(>H}hS2!g-v+|qf~)yBY8Qd!~GKy=LBuSH6*jw7!yV%=Vm|L1#(>Y))q`8=ox}>#f zdoGRsaIkxBPI3wx5O?)rwlrj01cW6>GrXXjJ(w{yu%D=DTHN2ebk$(j#;yBy$^gLj zaIu32J;TPz1R60TszL`<3X7Gl4QQtCzI*jRZ%a{Xa&l^R?%c+9whT7wR31%j`1Aqk ziHD1NUw>D}@>K(CHtv4&&CN^AfCn>d9Bp94VQmUaX(Jt?g229ynCs561{j+9>g{j# zb=0LLC#9s%E@*6C0n=JSSB?O;y0#9k-hM%e9Sd8QE?wEPdedv0cWmpOml=(Lg=R7= zEo?1}VU}U8L-ZQF4nX8^I>_ei{r2tE^D+|?*zAJY2um`MAWO{R6sR%;xYe_B^6&`= zW%mv=4=moWWz)v?zS>2B0B!*&I9OU*(~XSu^^No}P|>H@NWwV8jG)0It5Ge=i&rtnlwOUKgHdxqvMWWhF4*V)F#+S1AlJ{yRDpi9&j z_)_>#IQ9*|ZBuqkYI;&)d{TT$PF`hWS9ckWqcj5~K~Y)V(#4$_5Ehj(xVd}fE4yG` ztjj`AT3VQ!o1lGwyAXc^iz)t5Qo|9I+Cf2q@uBRLlRZ6 za32j#8aCXppoT_-reTVe#UZ1rB)8awm@|Ncf(!v{XE7Y$F%=jZ)%(sHpM3WD!etaG zH*0efI>$g_mUf%^47>wa=S;|ZYI;_PS>ebm%Ev@kbwj}cR)18u+o8l0`&L_atM+PSs0Q2b&UyN8)h4a&?gx#JgZ~qo@LikRABbY z0JA`!^c{Wsz3;9x;XprUYs@$V7vZQYtEnqP^gxVaY!uWr484HY+B&AiV!XiWiT6s1 zGQew`TES|lLL?(EbR&6tEZ(7ZwNINh;EQSAegJE>zMKx&``C9EPo2K{+8bJXE5ll3?As%qf$yZZ0DcJktn zaOu5v<>5Q+Xd=VOkYJ=5Fo#j0sgQ4o?gzT1V`9IULiI3p@o}{^*HiO^_(GH8QB^@q zXW1nbNhqZ_z+d$cY=PnEI(Yf!Pv^eB`SAYe&4<4o%NwAmIJ)3q6g{9byj_iwtb7|x z^l@N>ffe9dSGv7F%fZw@Q<>^z2wVtIA^BFCn!p$20oP(e!BZZ7ObDZ4VasSbd+Geu z3#TvN`)%~bjZ42Bt{kAK+B+KP>B7YvCUHtistWQDCzNI?0|qh!T&wJ9>=fYTYN4kE zEvQboiE0~7P8}#AL|05Zj#j%49T9Vk>2NM1UTy{^7G|?AUIEhn+ntN&uUtNNiTmJ> zoec0GM<)XW*MVD(3hd3%HXKa>y$672Bl|@Z1ln+b+qjjXjvDUD>xFm_F9~hnwUD;W zEG#U6H@92Utt>6gO-;Zv;CyYY&;IJ%uQ%`CescHPtuwc;{(SrX-Lthy{S;X@dlTZ* zuMUI(CM7gEp5j{tk_*lN>Y_w0)HC(-cCj#qx0Ncip){>fZ#bsu1AsQSfI%t4&dwg} z95R9(!^Rqruem8;Ry>YQ7`<@j%DvmyuiXCm@m6TZbS>xz52vGrvmTW3 z;SqwHc$BCi+M2mz7X|THyn;OK2q+8#A);M14@h^@gWtFnDsph-I8$6Wt{fL*9@35a zEX@r4S6sPq@!F-^Zxk2wAG`eU#L1gCN3V`n4NzuTTN=Q2P8&8gWb8wN!N{TELT zx!*m#b^rRap9b^&!$Om~-#>BZ)Xj%~zA_sF+L{j74xaN;_^1tX1Kdrn_?M6 z1S}IocQJ7fj*3l5uc*rp5AcOJ9UKxI5)vE~6yWF2@?wQFetzQodEixdzw0pse#!L; z4oGPHzE=%<5o=@23j&!D&IlF=<5*ZL>lqp`eA_9;TwN_|2NMgrp`od%i35Vw7%}`| z0hK?euC=3fPD&y>i4&m_78)895fc?!IB?`&=N{d;dG*o7-3_pdkSa=vsxJcjgkw2W zDawj%3M2+SH~^qp68Oi`)36<9`XCC6nUy)-#)+V`@lJLj$+IhKIUQ}awF|0BVVhdr zxUi*b(_8O;`oo>`cP`)f<E0_dcfy^^9N$p&BETFsQ)FU`%&OiqrAPcK}y^_$V} z&t5-!{n`&_Zry(PfiaL;8zbJNBH{`pHjGgkj92s#-^;}ZNG(JWW7DE#%X$|yRU#H! zVp3vacICFO?_Ixe_U6SK*KeKw{o%t?)jKJ=wgy-(v8^GD89YKo1-_$*jA3r>?gyyW zx?%(;!z?Jx$;eDeO3El`KX!?G?x%0hU3f5h^Z3OJckc86?OkZCt)kqns7eGUWevD- zX#){~XdK`O^{6A_Fm|_>Rpe$Q!{jn4xqRieSNgJQj{bb@*2P~gUisth;+KK^nW*9O zVT%YX4t{CGH&bVpv9Xz@e*jVRa+zHl)(y@ppOeE*&GOGJnLRr>)R>advT5|!UvJ;J zb@|ud-rPl*>1sgyYuXerf8?ne+SolIaDtVERX`vCYC~5H^|x2ggI`8o39FkzZCLWf ziC=C!xp(3Evk!r^+Uk<2r_d&^EGMU6pr@s0gy<<24A&TMz_i9;+Xs8<8p?Ch+4=F% zk{2&p{mYf}4~Uumhg!QSGA3H67>YBFoHB{(uZL5BfL7Zw0uxCTOZCLY5nPO)ME!4405tUnuC+Q?{*L zxTrEGGbJYokU)ON;-kNuL)gW;AJSf-$gxay@VZ2e#*xF>DCV{#6oHMMi&I1az)q@q z-s>ZM)!CV8`6;ddYUk8rTD*Q>QF&=jW?ldm>gM)0Zr#6l?#5?>aJ+Rk)KDV&GW?5XE82KlSXtP(c>0IW zDGNhhy^<{*3kx$-Q$h$(yP)~xlS|+3T)^5(kqS0algG9cHA1(n;Ou5;ZDsEm6d7Ax zjj$PV&J}CdVV{*3We=RTvSw)C%L^^{Q{=d_)QBz`)!`lGWi7)QF!t~X2+N*V$0j&! zaU-XuI3XH1ZF!l`n>fHi9XNw5s-d7$6wJbHZC$*B!xLfHTL{P7%-U2q-dbua6LV`> z8S)0QhGDLbUcS-nwAoEP)!yeRQVz3JNjueKpo5l^)`;=7a}A1$%PFjATbO%+B5Q=# zmqB^bAZZofHc*#_!38lnxPm1U$fLu$G>l`XB^dw%?Wn+u)> z8PF6lPGr>}z{^QX$(g72u7x*M`@Wl})-edmJ4*{g5Ce&Z7RXA?pgLu*-f`g2n-_ln zZYdKl#x>JdRcu4QsFDr0q_S_`s!!hd7ngf#XOSMfZrKnDa2N#XZla!)q)0+5lTh>S zsYAn|4({hERJN_YK9+JSw3pB?D#}r%BxlO18<1!sw(gf;?`EW9pbdrsDW0PutExdl zxf_YDjRfl4jF z(_D)3pNx%e9+bKE!;gQSJSE`a_iHWwL%paMz2S5I*&5@4>Tm5!)%}lDZ&Psi!g!sN zKmV#T`Hxht5dX%+NfwipbAOy8bSlTcttBQ4PYKjIkvv;T`?u97NSNNoKOJJCYW&{s z*AdM0Z%gYexhhaAKlzdKzpX|=!ZOAD!&UfIBXOsG?5GyOtpAR*+k1kw^3z|w$l*!< zygl+wymL|b)lMXaRsK2c7ocGN?nH$`zmMksXV`7pwBwF@E%pVP{?D^WwM=`=3-|QI z5iifF!gj9jKjBR(`~!o8`ks4=E?Tc*P>aCHM-xwFU*kSKd!WE>=ERM^_p8M}n?6wi8E- zK`rq2|Fp*rsG6vi|NE=xI=^)M(N!DaN@U)eD8oPDM>xY@UTGblC@uUu>L*&Pb0Whb zA&wwXF>xdpccEyJ=U>x4nxHED`!st>**1QTX2E9~6UXjwxs8JNUno73e^L>j_*kNQ zYVl@%mMa2ch{OQ@^|>um3q9w~LOxC5#Ou;i3pPwr=r2|P0z~DC>2<-e`ifs zO#D5iPbUcqrB+Q_#^T;&rayl^KPu3iu?M4$)0Pu^vul!`Q0n~jvX{MROZ=ix0w#z*%uF&|gb0W1)UjF%t`{ca9 zS!|5Dqbp_j^@%3<=fq7C;H7?NisqcS?h(m3_445mpK0sl9U32Bj2(rAnM=fX{`n1APd3a|IH7mkzvJy)<&f%GuHh;ZWJ`06ra)yZYP0$UD0 zF^jZtX)gEA6;vFi1&!DE-&GHRN+*-n(`>MKCAN*{iN(pGkAG>MSnIOH<)5f$^7qY_ z@pDASZoNP4xo6^D|IhK}8jkaoyKf{zs*$LEG)ez&rXEi6%E{L^=N)l44W&272ERl% z|Jl={MaJ`|7Z3S){vz?TcDfNbAxlgtIDYJ*uK=&(aJkt-QGz{+~7Yw zehlZ@7ozoH$pKCGPu(D=6mvqx8vdE|7XpOm;3`-Y9I*PSeyUA1*PTJY#W|&88_!;aH)k-P4FM=!Qv2 zN`!dtWFM*VrCO0ZT<#&d=tjeO)09l)#%BKOOwvVahPZW~>nV`W^5nEMxknSGd#S?j zrsRIMQ_PW(VtLmxZl5LW_ zuP9;vdy@}I>O(P|KVHs8IQO&pqV#yzZodm><6k{C63rhgETa7$B$`3^TC!Sroj4)1 zQJcsc%db!*@u}!^k$GJx$J5LS5@LT}5-RX4Zn})(#9rldz&_(^;sL1@`F3N@LAG^B$!9bMGcnP2BGLU;u&4p=7cnHayZ_f~Z zEar+XhWxX4#+QviF&Vgj2#6}m=IqXGmxYGk(DO$>X_C1(?sA1b*5V*>^*Fb9~Vc5CbyX^PnXAA5h!WC@|vKd%4U_~#W{{}Wz@PN7;SFGl}j zH@358V7|a*5r2Y!%9^WF3D< zpmAL8r!Tbr3l$liPWd8M{QgF?hgm{v$OZ9<^h#qFO+r}&F8&zj5d1Ql z7X_Yjxt~3s1(ymH;EqgAJ3diLq;MXAtB}b|yp+Uxfrm&6Y)?gUj$cww3m2G{XW2gx z&NO+oT$E~p@Je`TT6uo5kdg?F_twDGCV;Ux7R#M703=34X?`ef7cyUXuQ*l30JApXY0 zBmVD`)zc}+#b{u-PuESOEt$h7CYtc$_a-k9bV)P=xjw$wKsX!4degKoPcr{mA(9uD zRziY3$u;q}Rw%Q}nTh)%zoP@jlez_2%Z*}dN4fjcFaeQG(j@gu>H-b0oJRjLk@d-) zHLJ${wjUGAPsTD&2wnn|VO?4*UzU?tW38Hr9+*aYUX*@G?mD@-y67=PE(5e!M$X8O86cYS&ao6J)XSE+r#ne_^X7}`1?&Ia${T$WW2pBT%a?dxlNg}xe_UT z*Y2;X6nRq}ZLn zO{?ikP&NwI_vhosPk$S|a8giBC%k})p)zq>SL_@(K4r<^m66;hQ2$7blbIE^j$yvSlgnKiK}4~lNAm5%Tl@O_OC z!+w6{BnMS2SGyh~OhI}7*o6IV>MXN3!##f_`+sKzE72fsVS6Mr%qSFTw~DvUb03KI zK53;-@&v*l+~ya$$`cY8C%z^5?V7^SGy@}Fi00qQYYdBH zg=eB)n8-iMm^H~o1>YYc@xcFXSpD7B=#Ts%TrvOZ$7u~B|1SOK=MNPt% z9MW0h_Plrc$ECvmgIfNIgmTeW{B9Rc-01wzv_LxHZ87#VH%5dE9RKPy{?RiDw?6)Y zD%=Opj+VZ-g#S<4Anm{M+v#V+tvAxl{t4w5E-USsyZy6i?ZEC28ND!-f0)rKB!Ba} zpPoE_ Date: Sun, 10 Nov 2013 20:39:35 +0400 Subject: [PATCH 05/13] OpenCS: set current directory to bundle location on OS X, like in OpenMW binary --- apps/opencs/main.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apps/opencs/main.cpp b/apps/opencs/main.cpp index e5e7514ce..76869d0af 100644 --- a/apps/opencs/main.cpp +++ b/apps/opencs/main.cpp @@ -7,6 +7,11 @@ #include #include +// for Ogre::macBundlePath +#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE +#include +#endif + class Application : public QApplication { private: @@ -32,6 +37,12 @@ class Application : public QApplication int main(int argc, char *argv[]) { +#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE + // set current dir to bundle path + boost::filesystem::path bundlePath = boost::filesystem::path(Ogre::macBundlePath()).parent_path(); + boost::filesystem::current_path(bundlePath); +#endif + Q_INIT_RESOURCE (resources); Application mApplication (argc, argv); From dfa900e4e3928f3a997202abc1b11da2ddad6b97 Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Sun, 10 Nov 2013 20:58:57 +0400 Subject: [PATCH 06/13] =?UTF-8?q?OS=20X:=20Fixed=20=E2=80=9Cmacro=20redefi?= =?UTF-8?q?ned=E2=80=9D=20warning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/launcher/graphicspage.cpp | 6 ++++-- apps/launcher/main.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/launcher/graphicspage.cpp b/apps/launcher/graphicspage.cpp index 52fa192d5..516c3d823 100644 --- a/apps/launcher/graphicspage.cpp +++ b/apps/launcher/graphicspage.cpp @@ -4,10 +4,12 @@ #include #include -#ifdef __APPLE__ +#ifdef MAC_OS_X_VERSION_MIN_REQUIRED +#undef MAC_OS_X_VERSION_MIN_REQUIRED // We need to do this because of Qt: https://bugreports.qt-project.org/browse/QTBUG-22154 #define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -#endif +#endif // MAC_OS_X_VERSION_MIN_REQUIRED + #include #include diff --git a/apps/launcher/main.cpp b/apps/launcher/main.cpp index 0b5e62a66..9f89f2810 100644 --- a/apps/launcher/main.cpp +++ b/apps/launcher/main.cpp @@ -3,10 +3,12 @@ #include #include -#ifdef __APPLE__ +#ifdef MAC_OS_X_VERSION_MIN_REQUIRED +#undef MAC_OS_X_VERSION_MIN_REQUIRED // We need to do this because of Qt: https://bugreports.qt-project.org/browse/QTBUG-22154 #define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -#endif +#endif // MAC_OS_X_VERSION_MIN_REQUIRED + #include #include "maindialog.hpp" From fa138183607c2b02787abd9c9b955dcca77f50b9 Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Sun, 10 Nov 2013 22:04:13 +0400 Subject: [PATCH 07/13] OS X: OpenCS packaging --- CMakeLists.txt | 8 ++++++-- apps/opencs/CMakeLists.txt | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 578c6cfd6..01f02ddb9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -685,7 +685,10 @@ if (APPLE) set(CPACK_PACKAGE_VERSION_MINOR ${OPENMW_VERSION_MINO}) set(CPACK_PACKAGE_VERSION_PATCH ${OPENMW_VERSION_RELEASE}) - set(APPS "\${CMAKE_INSTALL_PREFIX}/${INSTALL_SUBDIR}/${APP_BUNDLE_NAME}") + set(OPENMW_APP "\${CMAKE_INSTALL_PREFIX}/${INSTALL_SUBDIR}/${APP_BUNDLE_NAME}") + + set(OPENCS_APP "\${CMAKE_INSTALL_PREFIX}/${INSTALL_SUBDIR}/OpenCS.app") + set(PLUGINS "") set(ABSOLUTE_PLUGINS "") @@ -746,7 +749,8 @@ if (APPLE) cmake_policy(SET CMP0009 OLD) set(BU_CHMOD_BUNDLE_ITEMS ON) include(BundleUtilities) - fixup_bundle(\"${APPS}\" \"${PLUGINS}\" \"${DIRS}\") + fixup_bundle(\"${OPENMW_APP}\" \"${PLUGINS}\" \"${DIRS}\") + fixup_bundle(\"${OPENCS_APP}\" \"\" \"${DIRS}\") " COMPONENT Runtime) include(CPack) endif (APPLE) diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index bd8a852b9..f3b93ab1b 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -188,3 +188,6 @@ if(DPKG_PROGRAM) INSTALL(TARGETS opencs RUNTIME DESTINATION games COMPONENT opencs) endif() +if(APPLE) + INSTALL(TARGETS opencs BUNDLE DESTINATION OpenMW COMPONENT BUNDLE) +endif() \ No newline at end of file From 96714fc2c136da990d9da1b4d6416f5a23e0e98a Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Sun, 10 Nov 2013 22:19:32 +0400 Subject: [PATCH 08/13] OpenCS: proper working dir & library path on OS X --- apps/opencs/main.cpp | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/apps/opencs/main.cpp b/apps/opencs/main.cpp index 76869d0af..1a3f63c4b 100644 --- a/apps/opencs/main.cpp +++ b/apps/opencs/main.cpp @@ -8,8 +8,8 @@ #include // for Ogre::macBundlePath -#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE -#include +#ifdef Q_OS_MAC +#include #endif class Application : public QApplication @@ -37,15 +37,28 @@ class Application : public QApplication int main(int argc, char *argv[]) { -#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE - // set current dir to bundle path - boost::filesystem::path bundlePath = boost::filesystem::path(Ogre::macBundlePath()).parent_path(); - boost::filesystem::current_path(bundlePath); -#endif - Q_INIT_RESOURCE (resources); Application mApplication (argc, argv); +#ifdef Q_OS_MAC + QDir dir(QCoreApplication::applicationDirPath()); + if (dir.dirName() == "MacOS") { + dir.cdUp(); + dir.cdUp(); + dir.cdUp(); + } + QDir::setCurrent(dir.absolutePath()); + + // force Qt to load only LOCAL plugins, don't touch system Qt installation + QDir pluginsPath(QCoreApplication::applicationDirPath()); + pluginsPath.cdUp(); + pluginsPath.cd("Plugins"); + + QStringList libraryPaths; + libraryPaths << pluginsPath.path() << QCoreApplication::applicationDirPath(); + mApplication.setLibraryPaths(libraryPaths); +#endif + mApplication.setWindowIcon (QIcon (":./opencs.png")); CS::Editor editor; From dafe80874ab096f018f2642e809bf620915c769c Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Sun, 10 Nov 2013 22:24:31 +0400 Subject: [PATCH 09/13] Added empty line --- apps/opencs/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index f3b93ab1b..f87650b33 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -190,4 +190,4 @@ endif() if(APPLE) INSTALL(TARGETS opencs BUNDLE DESTINATION OpenMW COMPONENT BUNDLE) -endif() \ No newline at end of file +endif() From 05e19b37e3f0c0836e18c60010ab9dc32b0d27db Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Sun, 10 Nov 2013 22:25:29 +0400 Subject: [PATCH 10/13] Removed obsolete comment --- apps/opencs/main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/opencs/main.cpp b/apps/opencs/main.cpp index 1a3f63c4b..344a9360f 100644 --- a/apps/opencs/main.cpp +++ b/apps/opencs/main.cpp @@ -7,7 +7,6 @@ #include #include -// for Ogre::macBundlePath #ifdef Q_OS_MAC #include #endif From 821d0c5c2d7e48b72259eefcebdb5da4712c35fa Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Wed, 13 Nov 2013 11:38:29 +0100 Subject: [PATCH 11/13] Corrected filter template loading. --- apps/opencs/model/doc/document.cpp | 32 +++++++++++++++++------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/apps/opencs/model/doc/document.cpp b/apps/opencs/model/doc/document.cpp index 590a19439..4ee3c461f 100644 --- a/apps/opencs/model/doc/document.cpp +++ b/apps/opencs/model/doc/document.cpp @@ -2245,29 +2245,33 @@ CSMDoc::Document::Document (const Files::ConfigurationManager& configuration, co mData.setDescription (""); mData.setAuthor (""); } -/// \todo un-outcomment the else, once loading an existing content file works properly again. + if (boost::filesystem::exists (mProjectPath)) + { + std::cout<<"Loading file."< Date: Wed, 13 Nov 2013 14:56:04 +0100 Subject: [PATCH 12/13] fixed handling of user directory defaultfilters file; some cleanup --- apps/opencs/model/doc/document.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/apps/opencs/model/doc/document.cpp b/apps/opencs/model/doc/document.cpp index 4ee3c461f..27f4f498a 100644 --- a/apps/opencs/model/doc/document.cpp +++ b/apps/opencs/model/doc/document.cpp @@ -2245,33 +2245,39 @@ CSMDoc::Document::Document (const Files::ConfigurationManager& configuration, co mData.setDescription (""); mData.setAuthor (""); } + + bool filtersFound = false; + if (boost::filesystem::exists (mProjectPath)) { - std::cout<<"Loading file."< Date: Sun, 10 Nov 2013 22:40:46 +0100 Subject: [PATCH 13/13] Fix a build error --- components/contentselector/model/contentmodel.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/contentselector/model/contentmodel.cpp b/components/contentselector/model/contentmodel.cpp index 5f3575eb4..918300329 100644 --- a/components/contentselector/model/contentmodel.cpp +++ b/components/contentselector/model/contentmodel.cpp @@ -1,6 +1,8 @@ #include "contentmodel.hpp" #include "esmfile.hpp" +#include + #include #include #include