Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiconfig #13

Closed
wants to merge 111 commits into from
Closed

Multiconfig #13

wants to merge 111 commits into from

Commits on Apr 3, 2015

  1. Copy the full SHA
    e98e922 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    b0903c6 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2015

  1. fastbuild and compiler detected. Now attempting generate and try comp…

    …ile. initially configure the correct build command
    inbilla committed Apr 6, 2015
    Copy the full SHA
    fc918a8 View commit details
    Browse the repository at this point in the history
  2. fixing previous build

    inbilla committed Apr 6, 2015
    Copy the full SHA
    4dc15a0 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    6c6bd62 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    73f7384 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2015

  1. Copy the full SHA
    0239a87 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    340b445 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2015

  1. Copy the full SHA
    a295a3f View commit details
    Browse the repository at this point in the history
  2. generated aliases relevant to targets + configs + all. Next stop, pro…

    …per target generation and configuration
    inbilla committed Apr 8, 2015
    Copy the full SHA
    c3bd64e View commit details
    Browse the repository at this point in the history
  3. Removing variables struct

    inbilla committed Apr 8, 2015
    Copy the full SHA
    c647b2a View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    746d345 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2015

  1. Generating proper target definitions in fastbuild. I think I've got t…

    …he compiler flags extracted... albeit assuming C language. Next to get the linker options extracted too
    inbilla committed Apr 9, 2015
    Copy the full SHA
    94fd815 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2015

  1. Restructuring again, to attempt to extract compiler and linker comman…

    …ds properly in future. Works a bit less than before
    inbilla committed Apr 12, 2015
    Copy the full SHA
    03cf45a View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    5c293f5 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    9df7f1d View commit details
    Browse the repository at this point in the history
  4. First successfull link operation performed. Not sure if correct, but …

    …first successfull fastbuild build
    inbilla committed Apr 12, 2015
    Copy the full SHA
    d8a3ec6 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    f18d5b0 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    b6c3936 View commit details
    Browse the repository at this point in the history
  7. Functioning again, but now its obvious the preprocessor defines for s…

    …pecific targets aren't coming through properly
    inbilla committed Apr 12, 2015
    Copy the full SHA
    5b3760c View commit details
    Browse the repository at this point in the history
  8. more attempts to get the correct compile flags. the defines don't see…

    …m to be in the correct places
    inbilla committed Apr 12, 2015
    Copy the full SHA
    98d6b4c View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2015

  1. Copy the full SHA
    3f22101 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2015

  1. Copy the full SHA
    a72dbe7 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    520086d View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2015

  1. Copy the full SHA
    2ee531c View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    78ae7ce View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    e12fba2 View commit details
    Browse the repository at this point in the history
  4. not crashing now, but the list of targets looks like it needs to enca…

    …psulate all projects.. so structure may need to change again
    inbilla committed Apr 26, 2015
    Copy the full SHA
    4f8eaf3 View commit details
    Browse the repository at this point in the history
  5. order of projects seems to be sorted now, but now the best filename a…

    …ppears hard to choose
    inbilla committed Apr 26, 2015
    Copy the full SHA
    cc036db View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    002667e View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2015

  1. Copy the full SHA
    ce3fd86 View commit details
    Browse the repository at this point in the history
  2. Getting closer, now attempting to link libraries, the libraries have …

    …been requested in multiple places with the current code, I need to extract those out somehow
    inbilla committed Apr 30, 2015
    Copy the full SHA
    7baaad7 View commit details
    Browse the repository at this point in the history
  3. The path to the lib should be right in the libflags now.. but it stil…

    …l means we're linking the object twice. This may mean we should remove the reference for fastbuild, and instead set it as a preBuiltDependency instead
    inbilla committed Apr 30, 2015
    Copy the full SHA
    49c2e6f View commit details
    Browse the repository at this point in the history

Commits on May 1, 2015

  1. Copy the full SHA
    9e7a436 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    d9bd198 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    90218a6 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2015

  1. Fixing unit test 14

    inbilla committed May 3, 2015
    Copy the full SHA
    1a4ec90 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2015

  1. Stripping out sourceFiles per language, the code wasn't working befor…

    …e. Different languages need different compilers defined for them now. RC files aren't working for example
    inbilla committed May 4, 2015
    Copy the full SHA
    cda2725 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2015

  1. Copy the full SHA
    5300468 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2015

  1. Copy the full SHA
    42871c4 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    02d1f50 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    760ed04 View commit details
    Browse the repository at this point in the history
  4. Removing target def structs from bff file, because target names can h…

    …ave reserved characters in them that are unsuitable for variable definitions. Could have sanitised, but the structs weren't used anyway, so converted to a comment instead
    inbilla committed May 9, 2015
    Copy the full SHA
    3e1756b View commit details
    Browse the repository at this point in the history
  5. Corrected output file mappings for targets in the local generator. Wa…

    …sn't implemented. Corrected cases where same compiler is used for multiple languages. Fastbuild does not like having the same compiler defined twice, so now it is indirected with variables.
    inbilla committed May 9, 2015
    Copy the full SHA
    169b403 View commit details
    Browse the repository at this point in the history
  6. Added more support for Object libraries. Now successfully detecting t…

    …he dependency and linking the correct objs together
    inbilla committed May 9, 2015
    Copy the full SHA
    dfc5de3 View commit details
    Browse the repository at this point in the history
  7. Adjusted the way outputs are used in fastbuild. Turned out that the i…

    …ncorrect output directories were applied
    inbilla committed May 9, 2015
    Copy the full SHA
    3f6531e View commit details
    Browse the repository at this point in the history

Commits on May 10, 2015

  1. updated test list

    inbilla committed May 10, 2015
    Copy the full SHA
    61283a0 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    798262f View commit details
    Browse the repository at this point in the history

Commits on May 24, 2015

  1. Copy the full SHA
    ac0c704 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    763b697 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    82e02ae View commit details
    Browse the repository at this point in the history

Commits on May 29, 2015

  1. Copy the full SHA
    f9ed0b8 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2015

  1. on my way to custom commands. currently having trouble with multiply …

    …defined outputs. So need to merge all the custom commands against their outputs I suppose.
    inbilla committed Jun 21, 2015
    Copy the full SHA
    8c2bc36 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2015

  1. Temporary workaround for a bug in fastbuild not detecting -c as a val…

    …id switch for cl.exe in msvc
    inbilla committed Jun 22, 2015
    Copy the full SHA
    5b0a3a2 View commit details
    Browse the repository at this point in the history
  2. Removed hack to add /c into the compiler options. This isn't needed i…

    …f the fastbuild bug is fixed
    inbilla committed Jun 22, 2015
    Copy the full SHA
    196662e View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2015

  1. Exec command is working to some degree. At least now it can find the …

    …absolute path to the cmd.exe that is popular with Cmake. Custom commands now execute. But the dependency graph is still incorrect, as it can define an output multiple times. Need to collect everything together and define those outputs only once.
    inbilla committed Jun 24, 2015
    Copy the full SHA
    041afc4 View commit details
    Browse the repository at this point in the history
  2. Stopping custom commands from being repeated inside fastbuild definit…

    …ions. I believe the ordering should be OK still though.
    inbilla committed Jun 24, 2015
    Copy the full SHA
    568ab91 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    80bd352 View commit details
    Browse the repository at this point in the history
  4. Adding configuration name to where output files are placed. The outpu…

    …t files weren't outputing to a unique location for release and debug builds. So I think they may have been overwriting eachother. - untested change, it may need fixing again
    inbilla committed Jun 24, 2015
    Copy the full SHA
    92f24e7 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2015

  1. Introducing Pre/Post build steps. Minor tidying of the code as well t…

    …o make it a little more understandable
    inbilla committed Jun 25, 2015
    Copy the full SHA
    db6edb5 View commit details
    Browse the repository at this point in the history
  2. Configuring the build order for prelink and prebuild commands. Untest…

    …ed, but hopefully one of the unit tests exercises it
    inbilla committed Jun 25, 2015
    Copy the full SHA
    b4ea531 View commit details
    Browse the repository at this point in the history
  3. Reinstating utility targets. Will fill in the details later. They are…

    … closely related to custom commands
    inbilla committed Jun 25, 2015
    Copy the full SHA
    8349d02 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2015

  1. Copy the full SHA
    5d9bc01 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2015

  1. More enforcement of ordering. Bigger issues in play when using custom…

    … commands and post build steps. Consulting with Franta on how to represent it best inside FASTBuild.
    inbilla committed Jun 27, 2015
    Copy the full SHA
    842396d View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2015

  1. Copy the full SHA
    98fd5e8 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2015

  1. Overriding computeTargetObjectDirectory as there was no previous impl…

    …ementation of it for FastBuild. This is important for object library obj file resolution. -ObjectLibrary unit test was failing without this. (still failing but closer)
    inbilla committed Jul 4, 2015
    Copy the full SHA
    371427d View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2015

  1. Added dependency sorting for CustomCommands. ObjectLibrary is now com…

    …piling, after also making sure the INTDIR is defined. Doing that required pushing through a $ sign through the commandLine processing and then conversion back during commandline building.
    inbilla committed Jul 5, 2015
    Copy the full SHA
    7052565 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2015

  1. Undid some of the changes to attempt to pass through ConfigName from …

    …a custom command. Instead now detecting the variable directly and unescaping it. Also detecting it directly when determining if the custom command is configuration dependant. If it is, then it should be generating the custom command multiple times, instead of once like it was before.
    inbilla committed Jul 6, 2015
    Copy the full SHA
    1f3b73d View commit details
    Browse the repository at this point in the history
  2. Realised some targets aren't supposed to be built with a build 'all' …

    …and how that is driven in cmake data. Added the appropriate check to be able to declare this properly now. Removed some dead code as well.
    inbilla committed Jul 6, 2015
    Copy the full SHA
    9e9d722 View commit details
    Browse the repository at this point in the history
  3. mend

    inbilla committed Jul 6, 2015
    Copy the full SHA
    3f9b372 View commit details
    Browse the repository at this point in the history
  4. Fixing ExternalObj unit test. External obj's were not added to the li…

    …st of items to link during a linker step, now they are.
    inbilla committed Jul 6, 2015
    Copy the full SHA
    3bbe171 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2015

  1. Copy the full SHA
    320d6b8 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2015

  1. moving some code around to begin detecting where precompiled headers …

    …are defined in targets
    inbilla committed Jul 9, 2015
    Copy the full SHA
    302240f View commit details
    Browse the repository at this point in the history
  2. Moving execInputs back from AdditionalDependencies into an array vari…

    …able instead. Making corresponding changes to fastbuild
    inbilla committed Jul 9, 2015
    Copy the full SHA
    5de69d4 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2015

  1. Fixed a regression in linking libraries since supporting external obj…

    …ects.
    
    It was duplicating all obj's that need linking
    inbilla committed Jul 10, 2015
    Copy the full SHA
    06edd40 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2015

  1. Adding the FASTbuild support for no outputs from an ExecNode.

    Also adding detection for symbolic outputs from a custom command, and not listing them to FASTbuild.
    inbilla committed Jul 11, 2015
    Copy the full SHA
    afec697 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2015

  1. Modified the dummy outfile path to include the full absolute path and…

    … to always set as a txt file.
    inbilla committed Jul 12, 2015
    Copy the full SHA
    51ad15b View commit details
    Browse the repository at this point in the history
  2. Adding configname to the end of all libpaths.

    (same way the msvc generators do) - fixes linkdirectory unit test
    inbilla committed Jul 12, 2015
    Copy the full SHA
    36b6a2c View commit details
    Browse the repository at this point in the history
  3. Updated unit test failures (most segfaults).

    Fixed a segfault in the recent code, so hopefully these unit test results will be different again. (takes 45mins to run though)
    inbilla committed Jul 12, 2015
    Copy the full SHA
    fcaba78 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2015

  1. Updating unit test results

    inbilla committed Jul 13, 2015
    Copy the full SHA
    f81c898 View commit details
    Browse the repository at this point in the history
  2. Fixes for linux and default (no c++11) gcc builds.

    Richard Khoury committed Jul 13, 2015
    Copy the full SHA
    876c293 View commit details
    Browse the repository at this point in the history
  3. Merge pull request inbilla#3 from inbilla/fastbuild-linux

    Fixes for linux and default (no c++11) gcc builds.
    Basic changes to get linux/gcc (no c++11) builds working. Hopefully it still works with visual studio.
    inbilla committed Jul 13, 2015
    Copy the full SHA
    dd871d5 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    f9afb8a View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2015

  1. Copy the full SHA
    6ed67cb View commit details
    Browse the repository at this point in the history
  2. Missed moving one part out of a WIN32 section

    Richard Khoury committed Jul 14, 2015
    Copy the full SHA
    afd147d View commit details
    Browse the repository at this point in the history
  3. Merge pull request inbilla#4 from inbilla/fastbuild-linux

    Missed moving one part out of a WIN32 section
    inbilla committed Jul 14, 2015
    Copy the full SHA
    5b145ce View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2015

  1. build warning fixes

    Richard Khoury committed Jul 18, 2015
    Copy the full SHA
    2ab78d3 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2015

  1. updates from review of previous pull-request, as well as some extra c…

    …hanges
    Richard Khoury committed Jul 19, 2015
    Copy the full SHA
    3da9df0 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2015

  1. Merge pull request inbilla#5 from inbilla/fastbuild-linux

    build warning fixes
    inbilla committed Jul 20, 2015
    Copy the full SHA
    d555e48 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2015

  1. Adding more global unescaping of global fastbuild variables.

    This is for use with generator expressions that include ConfigName. A better solution needs to be found.
    inbilla committed Jul 21, 2015
    Copy the full SHA
    2826629 View commit details
    Browse the repository at this point in the history
  2. Changing compile flags in Linker command to TargetFlags instead.

    This appears consistent with Ninja generator behaviour and hopefully solves some gcc issues for use in linux
    inbilla committed Jul 21, 2015
    Copy the full SHA
    8c205e4 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2015

  1. Adding extraFiles support for Vs2013.

    Distributable compile should be possible with this change (currently untested)
    inbilla committed Aug 9, 2015
    Copy the full SHA
    45a51a5 View commit details
    Browse the repository at this point in the history
  2. Wrapping input arguments to linker and compilation commands with quotes.

    This solves issues linking to libraries that are on paths with spaces in them.
    inbilla committed Aug 9, 2015
    Copy the full SHA
    3754466 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2015

  1. Converted all references to %1 and %2 to placeholder elements.

    I needed to put Quotes around these placeholders, but the quotes would not stay when extracting the command from the front of the string. (They would be removed by the argument parsing code).
    So instead I've used a placeholder with no quotes, and the quotes are preserved inside the placeholder's value.
    The argument parsing code most likely needs to be removed from the equation entirely and custom code for extracting the executable at the front of the string written instead.
    Once that is done, this code could be reverted back to the more sane version.
    inbilla committed Aug 10, 2015
    Copy the full SHA
    8813be6 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2015

  1. Copy the full SHA
    3ba97a1 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2015

  1. Copy the full SHA
    262f0f9 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2015

  1. FastBuild Generator: some fixes for custom command execution

    * properly escape single quotes in strings
    * re-ordered variables and pre-build  dependencies
    Charles Huet authored and Charles Huet committed Sep 14, 2015
    Copy the full SHA
    0241051 View commit details
    Browse the repository at this point in the history
  2. unescape variables that were escaped with '^'

    Charles Huet authored and Charles Huet committed Sep 14, 2015
    Copy the full SHA
    9e02e30 View commit details
    Browse the repository at this point in the history
  3. fixed relative path for MSVC 12 2013

    Charles Huet authored and Charles Huet committed Sep 14, 2015
    Copy the full SHA
    eb7d248 View commit details
    Browse the repository at this point in the history
  4. do not write alias for empty config groups

    Charles Huet authored and Charles Huet committed Sep 14, 2015
    Copy the full SHA
    0a726e5 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2015

  1. FastBuild Generator: fixed RC generation when resource file has the s…

    …ame name as a source file
    
    e.g. test.cxx and test.rc were both compiled to test.obj.
    now test.rc is compiled to test.res
    Charles Huet authored and Charles Huet committed Sep 15, 2015
    Copy the full SHA
    a32a629 View commit details
    Browse the repository at this point in the history
  2. Merge pull request inbilla#8 from packadal/resource_name_clash

    fixed RC generation
    inbilla committed Sep 15, 2015
    Copy the full SHA
    c97e60a View commit details
    Browse the repository at this point in the history
  3. output commands into a script file that is then run by Fastbuild

    This is necessary as fastbuild uses windows' CreateProcess, which does not support output redirections with '>'.
    This may work on linux, but I cannot test it.
    
    The test 'CustomCommand' finally passes
    
    Removed an unused function and an unused functor struct
    Charles Huet authored and Charles Huet committed Sep 15, 2015
    Copy the full SHA
    87b3daf View commit details
    Browse the repository at this point in the history
  4. Merge pull request inbilla#7 from packadal/fastbuild-attempt1

    FastBuild Generator: some fixes for custom command execution
    inbilla committed Sep 15, 2015
    Copy the full SHA
    df71c62 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2015

  1. Exclude Fastbuild from the CMP0021 test

    Fastbuild does not behave the same as the makefile generator with relative paths.
    Charles Huet authored and Charles Huet committed Sep 16, 2015
    Copy the full SHA
    8f7a89c View commit details
    Browse the repository at this point in the history
  2. Merge pull request inbilla#9 from packadal/include_directories

    Exclude Fastbuild from the CMP0021 test
    inbilla committed Sep 16, 2015
    Copy the full SHA
    4cad887 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2015

  1. Check if parent makefiles are excluded from all

    Charles Huet authored and Charles Huet committed Sep 17, 2015
    Copy the full SHA
    3f1b4c7 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2015

  1. Merge pull request inbilla#11 from packadal/subdir

    Check if parent makefiles are excluded from all
    inbilla committed Sep 18, 2015
    Copy the full SHA
    e3e4fe1 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2015

  1. FastBuild Generator: now separate source files per folder, and set ou…

    …tput path per ObjectList accordingly
    Charles Huet authored and Charles Huet committed Oct 16, 2015
    Copy the full SHA
    e239037 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2015

  1. Merge pull request inbilla#10 from packadal/source_groups

    Source groups now break up files by directory so the output names don't collide
    inbilla committed Oct 18, 2015
    Copy the full SHA
    e31dd68 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2015

  1. Fastbuild is a multiconfig generator, tell so to CMake.

    Also added MinSizeRel and RelWithDebInfo configurations.
    Also make sure that no default configuration is passed in CMAKE_BUILD_TYPE.
    Charles Huet authored and Charles Huet committed Nov 10, 2015
    Copy the full SHA
    d335ec0 View commit details
    Browse the repository at this point in the history