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
Multiconfig #13
Commits on Apr 3, 2015
Commits on Apr 6, 2015
-
fastbuild and compiler detected. Now attempting generate and try comp…
…ile. initially configure the correct build command
-
-
Commits on Apr 7, 2015
Commits on Apr 8, 2015
Commits on Apr 9, 2015
-
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
Commits on Apr 12, 2015
-
Restructuring again, to attempt to extract compiler and linker comman…
…ds properly in future. Works a bit less than before
-
-
First successfull link operation performed. Not sure if correct, but …
…first successfull fastbuild build
-
-
-
Functioning again, but now its obvious the preprocessor defines for s…
…pecific targets aren't coming through properly
-
more attempts to get the correct compile flags. the defines don't see…
…m to be in the correct places
Commits on Apr 19, 2015
Commits on Apr 25, 2015
Commits on Apr 26, 2015
-
-
not crashing now, but the list of targets looks like it needs to enca…
…psulate all projects.. so structure may need to change again
-
order of projects seems to be sorted now, but now the best filename a…
…ppears hard to choose
-
Commits on Apr 30, 2015
-
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
-
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
Commits on May 1, 2015
Commits on May 3, 2015
Commits on May 4, 2015
-
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
Commits on May 8, 2015
Commits on May 9, 2015
-
-
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
-
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.
-
Added more support for Object libraries. Now successfully detecting t…
…he dependency and linking the correct objs together
-
Adjusted the way outputs are used in fastbuild. Turned out that the i…
…ncorrect output directories were applied
Commits on May 10, 2015
Commits on May 24, 2015
Commits on May 29, 2015
Commits on Jun 21, 2015
-
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.
Commits on Jun 22, 2015
-
Temporary workaround for a bug in fastbuild not detecting -c as a val…
…id switch for cl.exe in msvc
-
Removed hack to add /c into the compiler options. This isn't needed i…
…f the fastbuild bug is fixed
Commits on Jun 24, 2015
-
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.
-
Stopping custom commands from being repeated inside fastbuild definit…
…ions. I believe the ordering should be OK still though.
-
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
Commits on Jun 25, 2015
-
Introducing Pre/Post build steps. Minor tidying of the code as well t…
…o make it a little more understandable
-
Configuring the build order for prelink and prebuild commands. Untest…
…ed, but hopefully one of the unit tests exercises it
-
Reinstating utility targets. Will fill in the details later. They are…
… closely related to custom commands
Commits on Jun 26, 2015
Commits on Jun 27, 2015
-
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.
Commits on Jul 3, 2015
Commits on Jul 4, 2015
-
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)
Commits on Jul 5, 2015
-
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.
Commits on Jul 6, 2015
-
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.
-
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.
-
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.
Commits on Jul 8, 2015
Commits on Jul 9, 2015
-
moving some code around to begin detecting where precompiled headers …
…are defined in targets
-
Moving execInputs back from AdditionalDependencies into an array vari…
…able instead. Making corresponding changes to fastbuild
Commits on Jul 10, 2015
-
Fixed a regression in linking libraries since supporting external obj…
…ects. It was duplicating all obj's that need linking
Commits on Jul 11, 2015
-
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.
Commits on Jul 12, 2015
-
Modified the dummy outfile path to include the full absolute path and…
… to always set as a txt file.
-
Adding configname to the end of all libpaths.
(same way the msvc generators do) - fixes linkdirectory unit test
-
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)
Commits on Jul 13, 2015
-
-
Fixes for linux and default (no c++11) gcc builds.
Richard Khoury committedJul 13, 2015 -
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.
Commits on Jul 14, 2015
-
-
Missed moving one part out of a WIN32 section
Richard Khoury committedJul 14, 2015 -
Merge pull request inbilla#4 from inbilla/fastbuild-linux
Missed moving one part out of a WIN32 section
Commits on Jul 18, 2015
-
Richard Khoury committed
Jul 18, 2015
Commits on Jul 19, 2015
-
updates from review of previous pull-request, as well as some extra c…
…hanges
Richard Khoury committedJul 19, 2015
Commits on Jul 20, 2015
-
Merge pull request inbilla#5 from inbilla/fastbuild-linux
build warning fixes
Commits on Jul 21, 2015
-
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.
-
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
Commits on Aug 9, 2015
-
Adding extraFiles support for Vs2013.
Distributable compile should be possible with this change (currently untested)
-
Wrapping input arguments to linker and compilation commands with quotes.
This solves issues linking to libraries that are on paths with spaces in them.
Commits on Aug 10, 2015
-
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.
Commits on Aug 11, 2015
Commits on Aug 26, 2015
Commits on Sep 14, 2015
-
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 committedSep 14, 2015 -
unescape variables that were escaped with '^'
Charles Huet authored and Charles Huet committedSep 14, 2015 -
fixed relative path for MSVC 12 2013
Charles Huet authored and Charles Huet committedSep 14, 2015 -
do not write alias for empty config groups
Charles Huet authored and Charles Huet committedSep 14, 2015
Commits on Sep 15, 2015
-
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 committedSep 15, 2015 -
Merge pull request inbilla#8 from packadal/resource_name_clash
fixed RC generation
-
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 committedSep 15, 2015 -
Merge pull request inbilla#7 from packadal/fastbuild-attempt1
FastBuild Generator: some fixes for custom command execution
Commits on Sep 16, 2015
-
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 committedSep 16, 2015 -
Merge pull request inbilla#9 from packadal/include_directories
Exclude Fastbuild from the CMP0021 test
Commits on Sep 17, 2015
-
Check if parent makefiles are excluded from all
Charles Huet authored and Charles Huet committedSep 17, 2015
Commits on Sep 18, 2015
-
Merge pull request inbilla#11 from packadal/subdir
Check if parent makefiles are excluded from all
Commits on Oct 16, 2015
-
FastBuild Generator: now separate source files per folder, and set ou…
…tput path per ObjectList accordingly
Charles Huet authored and Charles Huet committedOct 16, 2015
Commits on Oct 18, 2015
-
Merge pull request inbilla#10 from packadal/source_groups
Source groups now break up files by directory so the output names don't collide
Commits on Nov 10, 2015
-
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 committedNov 10, 2015