# HG changeset patch # User Michael Goffioul # Date 1384057684 18000 # Node ID 14d0e2102581acda93bcd6dfb3c8bc96e1e519c1 # Parent 762fe9ac559ff634dd9ce94136c5d771ef2629d7 [MSVC] Enable gl2ps compilation. * src/gl2ps.mk: Use cmake/nmake for compilation with MSVC. * src/msvc-gl2ps-1.patch: Disable static libraries and fix installation of import libraries. diff -r 762fe9ac559f -r 14d0e2102581 src/gl2ps.mk --- a/src/gl2ps.mk Sat Nov 09 23:28:04 2013 -0500 +++ b/src/gl2ps.mk Sat Nov 09 23:28:04 2013 -0500 @@ -10,7 +10,11 @@ ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) - $(PKG)_CMAKE_FLAGS := -G 'MSYS Makefiles' + ifeq ($(MXE_SYSTEM),msvc) + $(PKG)_CMAKE_FLAGS := -G 'NMake Makefiles' + else + $(PKG)_CMAKE_FLAGS := -G 'MSYS Makefiles' + endif else $(PKG)_CMAKE_FLAGS := \ -DCMAKE_AR='$(MXE_AR)' \ @@ -22,6 +26,17 @@ echo $(gl2ps_VERSION) endef +ifeq ($(MXE_SYSTEM),msvc) +define $(PKG)_BUILD + cd '$(1)' && cmake \ + $($(PKG)_CMAKE_FLAGS) \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DPNG_NAMES=png16 \ + . + cd '$(1)' && env -u MAKE -u MAKEFLAGS nmake + cd '$(1)' && env -u MAKE -u MAKEFLAGS nmake DESTDIR='$(3)' install +endef +else define $(PKG)_BUILD cd '$(1)' && cmake \ $($(PKG)_CMAKE_FLAGS) \ @@ -32,15 +47,16 @@ # native mingw build doesnt want to install the files, even # though it logs that it did if [ x$(MXE_NATIVE_MINGW_BUILD) = xyes ]; then \ - $(INSTALL) -m644 '$(1)/libgl2ps.a' '$(HOST_LIBDIR)'; \ - $(INSTALL) -m644 '$(1)/libgl2ps.dll.a' '$(HOST_LIBDIR)'; \ - $(INSTALL) -m644 '$(1)/libgl2ps.dll' '$(HOST_BINDIR)'; \ - $(INSTALL) -m644 '$(1)/gl2ps.h' '$(HOST_INCDIR)'; \ + $(INSTALL) -m644 '$(1)/libgl2ps.a' '$(3)$(HOST_LIBDIR)'; \ + $(INSTALL) -m644 '$(1)/libgl2ps.dll.a' '$(3)$(HOST_LIBDIR)'; \ + $(INSTALL) -m644 '$(1)/libgl2ps.dll' '$(3)$(HOST_BINDIR)'; \ + $(INSTALL) -m644 '$(1)/gl2ps.h' '$(3)$(HOST_INCDIR)'; \ else \ - $(MAKE) -C '$(1)' -j 1 VERBOSE=1 install; \ + $(MAKE) -C '$(1)' -j 1 VERBOSE=1 DESTDIR='$(3)' install; \ if [ $(MXE_SYSTEM) = mingw ]; then \ echo "Install dll"; \ - $(INSTALL) '$(1)/libgl2ps.dll' '$(HOST_BINDIR)/'; \ + $(INSTALL) '$(1)/libgl2ps.dll' '$(3)$(HOST_BINDIR)/'; \ fi; \ fi endef +endif diff -r 762fe9ac559f -r 14d0e2102581 src/msvc-gl2ps-1.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/msvc-gl2ps-1.patch Sat Nov 09 23:28:04 2013 -0500 @@ -0,0 +1,54 @@ +diff -ur gl2ps-1.3.8-source-orig/CMakeLists.txt gl2ps-1.3.8-source/CMakeLists.txt +--- gl2ps-1.3.8-source-orig/CMakeLists.txt 2012-11-27 14:41:06 -0500 ++++ gl2ps-1.3.8-source/CMakeLists.txt 2013-11-09 15:41:14 -0500 +@@ -32,6 +32,9 @@ + # Please report all bugs and problems to . + + cmake_minimum_required(VERSION 2.4 FATAL_ERROR) ++if(COMMAND cmake_policy) ++ cmake_policy(SET CMP0003 NEW) ++endif(COMMAND cmake_policy) + + # if CMAKE_BUILD_TYPE is specified use it; otherwise set the default + # build type to "RelWithDebInfo" ("-O2 -g" with gcc) prior to calling +@@ -109,9 +112,6 @@ + include_directories(${EXTERNAL_INCLUDES}) + + if(OPENGL_FOUND) +- add_library(lib STATIC gl2ps.c gl2ps.h) +- set_target_properties(lib PROPERTIES OUTPUT_NAME gl2ps) +- + add_library(shared SHARED gl2ps.c gl2ps.h) + target_link_libraries(shared ${EXTERNAL_LIBRARIES}) + set_target_properties(shared PROPERTIES OUTPUT_NAME gl2ps) +@@ -122,14 +122,10 @@ + set_target_properties(shared PROPERTIES COMPILE_FLAGS "-DGL2PSDLL -DGL2PSDLL_EXPORTS") + endif(MSVC) + +- install(TARGETS lib shared DESTINATION lib${LIB_SUFFIX}) ++ install(TARGETS shared RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX}) + endif(OPENGL_FOUND) + +-if(WIN32) +- set(GL2PS_DOC .) +-else(WIN32) +- set(GL2PS_DOC share/doc/gl2ps) +-endif(WIN32) ++set(GL2PS_DOC share/doc/gl2ps) + + install(FILES gl2ps.h DESTINATION include) + install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION ${GL2PS_DOC}) +diff -ur gl2ps-1.3.8-source-orig/gl2ps.h gl2ps-1.3.8-source/gl2ps.h +--- gl2ps-1.3.8-source-orig/gl2ps.h 2012-11-27 14:41:06 -0500 ++++ gl2ps-1.3.8-source/gl2ps.h 2013-11-09 15:38:14 -0500 +@@ -41,6 +41,10 @@ + + /* Define GL2PSDLL at compile time to build a Windows DLL */ + ++#if defined(_MSC_VER) && !defined(GL2PSDLL) ++# define GL2PSDLL ++#endif ++ + #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) + # if defined(_MSC_VER) + # pragma warning(disable:4115)