# Copyright: 2016-2023 Paul Obermeier (obermeier@tcl3d.org) # Distributed under BSD license. # BuildType Windows: CMake / vs # MSys / gcc # BuildType Linux : MSys / gcc # BuildType Darwin : MSys / gcc # # Changes: # # macosx/macdnd.m: # Moved Tcl related include files after system header files (problems with panic macro on El Capitan) # # macosx/macdnd.m: Move line # #import # before inclusion of Tcl related header files # # configure and configure.ac # Removed "-fobjc-gc" because XCode does not support garbage collection option on El Capitan. # Old: TEA_ADD_CFLAGS([-DMAC_TK_COCOA -std=gnu99 -x objective-c -fobjc-gc]) # New: TEA_ADD_CFLAGS([-DMAC_TK_COCOA -std=gnu99 -x objective-c]) proc Init_tkdnd { libName libVersion } { SetScriptAuthor $libName "Paul Obermeier" "obermeier@tcl3d.org" SetLibHomepage $libName "https://github.com/petasis/tkdnd" SetLibDependencies $libName "CMake" "Tk" "TkStubs" SetPlatforms $libName "All" SetWinCompilers $libName "gcc" "vs" } proc Build_tkdnd { libName libVersion buildDir instDir devDir distDir } { if { [UseStage "Extract" $libName] } { ExtractLibrary $libName $buildDir } if { [UseWinCompiler $libName "vs"] } { if { [UseStage "Configure" $libName] } { set tclIncDir [GetDevTclIncDir] CMakeConfig $libName "$buildDir" "$buildDir" "$instDir" \ "-DTCL_INCLUDE_PATH=$tclIncDir" \ "-DTK_INCLUDE_PATH=$tclIncDir" \ "-DTCL_STUB_LIBRARY=[GetTclStubLib [GetTclVersion] [GetWinCompiler $libName]]" \ "-DTK_STUB_LIBRARY=[GetTkStubLib [GetTkVersion] [GetWinCompiler $libName]]" } if { [UseStage "Compile" $libName] } { CMakeBuild $libName "$buildDir" "install" [GetBuildType] } if { [UseStage "Distribute" $libName] } { StripLibraries "$instDir" MultiFileCopy "$instDir/$libName$libVersion" "$devDir/[GetTclLibDir]/$libName$libVersion" "*" true MultiFileCopy "$instDir/$libName$libVersion" "$distDir/[GetTclLibDir]/$libName$libVersion" "*" true } } else { if { [UseStage "Configure" $libName] } { TeaConfig $libName $buildDir $instDir \ [GetMSysCppOption $libName] } if { [UseStage "Compile" $libName] } { MSysBuild $libName $buildDir "install-binaries" } if { [UseStage "Distribute" $libName] } { StripLibraries "$instDir" LibFileCopy "$instDir" "$devDir/[GetTclDir]" "*" true LibFileCopy "$instDir" "$distDir/[GetTclDir]" "*" true } } if { [UseStage "Distribute" $libName] } { if { ! [UseTclPkgVersion] } { FileRename "$devDir/[GetTclLibDir]/$libName$libVersion" "$devDir/[GetTclLibDir]/$libName" FileRename "$distDir/[GetTclLibDir]/$libName$libVersion" "$distDir/[GetTclLibDir]/$libName" } if { [IsDebugBuild] && [UseWinCompiler $libName "vs"] } { MultiFileCopy "$buildDir/Debug" "$devDir/lib" "*.pdb" } } return true }