Build: Difference between revisions

From kJams Wiki
Jump to navigation Jump to search
Line 40: Line 40:
#### dotnet 3.5
#### dotnet 3.5
#### SDK 19041 (required to link OleAut32 under Qt6)
#### SDK 19041 (required to link OleAut32 under Qt6)
#### C++ ATL for v141 build tools (with spectre mitigations)
#### C++ ATL for v141, 142 build tools (not with spectre mitigations)
#### C++ MFC for v141 build tools (with spectre mitigations)
#### C++ MFC for v141, 142 build tools (not with spectre mitigations)
#### on ARM: Windows 11 SDK
## prefer "download then install"
## prefer "download then install"
## on ARM you will need to install debugging libs, [https://wiki.qt.io/Qt_Creator_Windows_Debugging see this article]
## on ARM you will need to install debugging libs, [https://wiki.qt.io/Qt_Creator_Windows_Debugging see this article], see the zip file
# when building, you may need to ensure all projects target dotnet 3.5, and that the package assemblies come out of davec/.nuget/packages and not the system paths.  note the json library should be v11, NOT v12 as indicated by PaddleSDK
# when building, you may need to ensure all projects target dotnet 3.5, and that the package assemblies come out of davec/.nuget/packages and not the system paths.  note the json library should be v11, NOT v12 as indicated by PaddleSDK
#build the XPlat debug Lite and Pro versions on mac
#build the XPlat debug Lite and Pro versions on mac

Revision as of 00:20, 5 January 2023

to build kjams

Mac

Install Xcode
Install Qt
install pyDes
install p4 and get info from me on how to get connected
sync to head in p4
install kjams pro
install producer
install burner
install Lame
install Vorbis
install plcompile and setfileicon: see depot/kJams/External/PListCompiler0.4/"into /usr/bin" folder
run kjams
show preferences
click "importing"
click "exporting" these actions install necessary prefs
now quit
add these lines to your .bash_profile:

PYTHONPATH="${PYTHONPATH}:/Users/davec/Developer/depot/CF/python/"
export PYTHONPATH

Creating the NIB file on Mac

  1. using the 10.6 VM:
  2. edit the XIB file as necessary
  3. Open "kJams" xcodeproj, not "kJams6"
  4. set the target to "Pro | kJams | ppc" (not Lite, not Debug)
  5. go to the "Resources" group
  6. right click "kJams.xib" and pick "compile" (if kJams hasn't been built at all yet, just do a build, but you don't need to build the whole thing: as long as you see "CompileXIB" go by, you can stop there)
  7. building latest will now copy the file into place

Windows

  1. do the entire "Post Install" folder
    1. when installing VS Community:
      1. under "workloads"
        1. dotnet
        2. desktop
      2. then under "individual"
        1. dotnet 3.5
        2. SDK 19041 (required to link OleAut32 under Qt6)
        3. C++ ATL for v141, 142 build tools (not with spectre mitigations)
        4. C++ MFC for v141, 142 build tools (not with spectre mitigations)
    2. prefer "download then install"
    3. on ARM you will need to install debugging libs, see this article, see the zip file
  2. when building, you may need to ensure all projects target dotnet 3.5, and that the package assemblies come out of davec/.nuget/packages and not the system paths. note the json library should be v11, NOT v12 as indicated by PaddleSDK
  3. build the XPlat debug Lite and Pro versions on mac
  4. run them each (this will export the windows Menu resources)
  5. go get the latest CrashRpt
    1. unzip it to a folder called "CrashRpt" under "depot/kJams/External/
    2. create the solution file with CMake
    3. build both debug and release
  6. in MSDev, go to "Solution Explorer", right click on "kJams", pick "properties". Set "configuration" to "all configurations", go to "configuration properties"->"Debugging",set "command" to:
    $(SolutionDir)build\kJams $(ConfigurationName).app\Contents\Windows\$(TargetFileName)
    for CFTest, the same command is:
    $(SolutionDir)build\$(TargetName).app\Contents\Windows\$(TargetFileName)
  7. in MSDev, go to "Property Pages", then pick "Configuration: All Configurations", then go to "Configuration Properties->Linker->Command Line" and add this:
    /DYNAMICBASE /ignore:4099
  8. install parallels, get that going
  9. install Perforce, and when creating a workspace, set your linefeeds to "unix"
  10. change the names of the User Files
  11. if IncrediBuild isn't using all cores, to to tray icon->agent settings->VS Builds->Advanced->PDB File Alloc: shut off the limiter
  12. create the build-script.app

info just for me

to create the installer for windows, see the instructions at: .../xplat/proj/win/Installer Editor/instructions.txt

install boost

make two copies, one for mac and one for windows, then combine the results into the stage dir

compile boost on both platforms with:

> cd path/to/boost_X.YY.Z

Then on mac:

> sudo ./bootstrap.sh
> ./b2 cxxflags="-arch i386 -arch x86_64" address-model=32_64 cxxflags="-mmacosx-version-min=10.9" linkflags="-mmacosx-version-min=10.9"

i had to rename "boost" to "boost~" at this path:

/usr/local/include/boost~

Or on win:

> bootstrap
> ./b2

doing so builds both 32 and 64bit and puts them in the "stage" dir. so no need to do this: http://informilabs.com/building-boost-32-bit-and-64-bit-libraries-on-windows/

After building, combine results into the "stage" folder where the mac stuff was staged, so both plats can get their stuff from the same place