# HG changeset patch # User Michael Goffioul # Date 1374445719 14400 # Node ID 4f573c0f5955b7cb055692ed299a5ec59813efaf # Parent 75eaca7603d8789202ba44235e76b152cf975716 [MSVC] better integration between clgcc/clg++ and cmake diff -r 75eaca7603d8 -r 4f573c0f5955 dist-files.mk --- a/dist-files.mk Sun Jul 21 18:28:36 2013 -0400 +++ b/dist-files.mk Sun Jul 21 18:28:39 2013 -0400 @@ -538,7 +538,9 @@ Makefile \ ranlib-msvc \ stdbool.h \ - unistd.h + unistd.h \ + Windows-clg++.cmake \ + Windows-clgcc.cmake.in SRC_MSVCTOOLS_FILES := $(addprefix src/build-msvctools/, $(SRC_MSVCTOOLS_FILES_1)) diff -r 75eaca7603d8 -r 4f573c0f5955 src/build-msvctools.mk --- a/src/build-msvctools.mk Sun Jul 21 18:28:36 2013 -0400 +++ b/src/build-msvctools.mk Sun Jul 21 18:28:39 2013 -0400 @@ -13,9 +13,12 @@ echo 1 endef +$(PKG)_CMAKE_DESTDIR := $(BUILD_TOOLS_PREFIX)/share/cmake-$(call SHORT_PKG_VERSION,build-cmake) + define $(PKG)_BUILD make -C '$(1)' -j '$(JOBS)' \ DESTDIR='$(HOST_PREFIX)' \ + CMAKE_DESTDIR='$($(PKG)_CMAKE_DESTDIR)' \ GCCVERSION='$(build-gcc_VERSION)' \ INSTALL='$(INSTALL)' \ LIBRARY_PREFIX='$(LIBRARY_PREFIX)' \ diff -r 75eaca7603d8 -r 4f573c0f5955 src/build-msvctools/Makefile --- a/src/build-msvctools/Makefile Sun Jul 21 18:28:36 2013 -0400 +++ b/src/build-msvctools/Makefile Sun Jul 21 18:28:39 2013 -0400 @@ -17,7 +17,8 @@ math/msvcmath.lib \ gfortran-msvc.exe \ gfortran-msvc.lib \ - gfortran-msvc-static.lib + gfortran-msvc-static.lib \ + Windows-clgcc.cmake MSVCSTDINT := $(shell echo '\#include ' > t.c; cl -nologo -showIncludes -c t.c | $(SED) -n -e 's/^Note: including file: \(.*stdint\.h\)$$/\1/p'; rm -f t.c t.obj) ifeq ($(MSVCSTDINT),) @@ -157,6 +158,10 @@ gfortran-msvc-static.lib: gfortran-msvc-build/.libs/libgfortran.a gfortran.lst libgfortran-msvcinit.o lib -out:$@ libgfortran-msvcinit.o @gfortran.lst +Windows-clgcc.cmake: Windows-clgcc.cmake.in + $(SED) -e 's/@@LIBRARY_PREFIX@@/$(LIBRARY_PREFIX)/g' \ + -e 's/@@LIBRARY_SUFFIX@@/$(LIBRARY_SUFFIX)/g' $< > $@ + .PHONY: install install: all $(INSTALL) -d $(DESTDIR)/bin @@ -184,3 +189,6 @@ $(INSTALL) math/msvcmath.lib $(DESTDIR)/lib $(INSTALL) gfortran-msvc.lib $(DESTDIR)/lib $(INSTALL) gfortran-msvc-static.lib $(DESTDIR)/lib + $(INSTALL) -d $(CMAKE_DESTDIR)/Modules/Platform + $(INSTALL) Windows-clg++.cmake $(CMAKE_DESTDIR)/Modules/Platform + $(INSTALL) Windows-clgcc.cmake $(CMAKE_DESTDIR)/Modules/Platform diff -r 75eaca7603d8 -r 4f573c0f5955 src/build-msvctools/Windows-clg++.cmake --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/build-msvctools/Windows-clg++.cmake Sun Jul 21 18:28:39 2013 -0400 @@ -0,0 +1,1 @@ +INCLUDE(Platform/Windows-clgcc) diff -r 75eaca7603d8 -r 4f573c0f5955 src/build-msvctools/Windows-clgcc.cmake.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/build-msvctools/Windows-clgcc.cmake.in Sun Jul 21 18:28:39 2013 -0400 @@ -0,0 +1,10 @@ +SET(MSVC 1) +SET(CMAKE_LINK_LIBRARY_FLAG "-l") +SET(CMAKE_LINK_LIBRARY_SUFFIX "") +SET(CMAKE_SHARED_LIBRARY_PREFIX "@@LIBRARY_PREFIX@@") +SET(CMAKE_SHARED_LIBRARY_SUFFIX "@@LIBRARY_SUFFIX@@.dll") + +SET(CMAKE_C_CREATE_SHARED_LIBRARY + " -o -Wl,--out-implib, ") +SET(CMAKE_CXX_CREATE_SHARED_LIBRARY + " -o -Wl,--out-implib, ")