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

CMakeLists.txt cleanups #353

Closed
redstar opened this issue May 13, 2013 · 10 comments
Closed

CMakeLists.txt cleanups #353

redstar opened this issue May 13, 2013 · 10 comments
Assignees

Comments

@redstar
Copy link
Member

redstar commented May 13, 2013

Our CMakeLists.txt can be improved in several ways:

  • on Windows, there are still unrecognized options from LLVM
  • druntime files are compiled 4 times; with a virtual lib this can be reduced to 2 times (debug+optimized)
  • support for release and debug builds can be added
  • the Gentoo experience can be improved
@ghost ghost assigned redstar May 13, 2013
@dnadlinger
Copy link
Member

What do you mean by "druntime files are compiled 4 times"?

@redstar
Copy link
Member Author

redstar commented May 13, 2013

Druntime modules are compiled 2 times for druntime.lib and 2 times for phobos.lib. This increases compile time for nothing.

@dnadlinger
Copy link
Member

Ah, right. This issue will go away automatically, as we need to properly split druntime and Phobos for shared library support anyway.

@dnadlinger
Copy link
Member

See also: #366

@redstar
Copy link
Member Author

redstar commented Jun 16, 2013

Commit 40926ea addresses the Gentoo issue.

@Trass3r
Copy link
Contributor

Trass3r commented Apr 25, 2014

The files also contain workarounds for ridiculously old CMake versions.
There should be a sensible minimum, imo a very high one.

@dnadlinger
Copy link
Member

I'm not sure if we can realistically require more than a low 2.8.x version (2.8 is required right now). People on "stable" Linux distros sometimes use ridiculously old CMake versions (as I learned when building the binary packages on Ubuntu 10.04 LTS, although we probably can switch to 12.04 now).

But yes, there might be some workarounds for 2.6 versions in there, which somebody needs to clean up.

@redstar
Copy link
Member Author

redstar commented Jun 6, 2014

Request from Russel Winder:

I created a brand new build directory for Fedora 20, but had a build
failure. It appears that on Debian, the package llvm-dev installs in all
the static libraries as well as the header files. However on Fedora 20
llvm-devel only installs the header files, you have to install
llvm-static as well to get the static libraries. The CMake files did not
check that the needed static libraries were in place :-( Is it possible
for CMake to make such a check?

(A check to link against the LLVM libaries can be added. Same for libconfig++.)

redstar pushed a commit that referenced this issue Sep 27, 2014
Issue 8366 - Overriding const member function in conjunction with mutable overload causes a strange error
@dnadlinger
Copy link
Member

If Fedora installs a llvm-config that leads to an unbuildable result, that might as well be a Fedora packaging bug, though. Of course, we can still try to detect it if it doesn't add too many complications.

@dnadlinger
Copy link
Member

Closing this old umbrella bug, as all the improvements listed seem to be incorporated. Please open a new issue for any further ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants