diff options
Diffstat (limited to 'tests/CMingw-env-cross.cmake')
-rw-r--r-- | tests/CMingw-env-cross.cmake | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/tests/CMingw-env-cross.cmake b/tests/CMingw-env-cross.cmake index f13fa8c..fc5c912 100644 --- a/tests/CMingw-env-cross.cmake +++ b/tests/CMingw-env-cross.cmake @@ -8,31 +8,38 @@ # 3. make should proceed as normal. # # see also +# +# http://mingw-cross-env.nongnu.org/#requirements # http://www.vtk.org/Wiki/CMake_Cross_Compiling # https://bitbucket.org/muellni/mingw-cross-env-cmake/src/2067fcf2d52e/src/cmake-1-toolchain-file.patch # http://code.google.com/p/qtlobby/source/browse/trunk/toolchain-mingw.cmake # http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Link-Options.html # output of qmake # -# this file released into public domain by Don Bright 2011 # # cross-compiler # - -set(CMAKE_SYSTEM_NAME Windows) set(MINGW_CROSS_ENV_DIR $ENV{MINGW_CROSS_ENV_DIR}) -set(CMAKE_C_COMPILER ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-gcc) -set(CMAKE_CXX_COMPILER ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-g++) -set(CMAKE_RC_COMPILER i686-pc-mingw32-windres) -set(CMAKE_FIND_ROOT_PATH ${MINGW_CROSS_ENV_DIR}/usr/i686-pc-mingw32) +set(BUILD_SHARED_LIBS OFF) +set(CMAKE_SYSTEM_NAME Windows) +set(MSYS 1) +xset(CMAKE_FIND_ROOT_PATH ${MINGW_CROSS_ENV_DIR}/usr/i686-pc-mingw32) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_C_COMPILER ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-gcc) +set(CMAKE_CXX_COMPILER ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-g++) +set(CMAKE_RC_COMPILER ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-windres) +set(PKG_CONFIG_EXECUTABLE ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-pkg-config) +set(QT_QMAKE_EXECUTABLE ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-qmake) +set(CMAKE_INSTALL_PREFIX ${MINGW_CROSS_ENV_DIR}/usr/i686-pc-mingw32 CACHE PATH "Installation Prefix") +set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel") + # # libraries # @@ -47,6 +54,7 @@ set( EIGEN2_DIR ${CMAKE_FIND_ROOT_PATH} ) set( CGAL_DIR ${CMAKE_FIND_ROOT_PATH}/lib/CGAL ) set( GLEW_DIR ${CMAKE_FIND_ROOT_PATH} ) set( SKIP_IMAGEMAGICK TRUE ) +set( ImageMagick_convert_EXECUTABLE /usr/bin/convert ) # # QT @@ -57,9 +65,13 @@ set(QT_MOC_EXECUTABLE ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-moc) set(QT_UIC_EXECUTABLE ${MINGW_CROSS_ENV_DIR}/usr/bin/i686-pc-mingw32-uic) # -# Cmake fails at mingw-cross. Here we copy the flags and libraries from -# from looking at "qmake && make VERBOSE=1" as well as examining -# the .prl files in mingw-cross-env/usr/i686-pc-mingw32/lib & google +# There are various problems introduced to cmake's linking by the large +# number of libraries needed by OpenSCAD and the complicated build system. +# +# Here we copy the flags and libraries from from looking at +# "qmake && make VERBOSE=1" as well as examining +# the .prl files in mingw-cross-env/usr/i686-pc-mingw32/lib & using google +# Another good resource are the files under usr/i686-pc-mingw32/mkspecs # if (NOT MINGW_CROSS_FLAGS_SET) @@ -76,7 +88,7 @@ endfunction() function(mingw_cross_env_add_missing_libs) # mingw_cross_env_info() - set(mingw_cross_libs msvcr80 imm32 winmm ws2_32 glu32 opengl32 mng lcms tiff jpeg png z) + set(mingw_cross_libs imm32 winmm ws2_32 glu32 opengl32 mng lcms tiff jpeg png z) target_link_libraries(opencsgtest ${mingw_cross_libs}) target_link_libraries(csgtermtest ${mingw_cross_libs}) target_link_libraries(csgtexttest ${mingw_cross_libs}) @@ -99,9 +111,9 @@ if( NOT CROSS_DEFS_SET ) add_definitions( -DBOOST_THREAD_USE_LIB ) add_definitions( -DUNICODE ) - # for TWO_DIGIT_EXPONENT. see stdio.h from mingw-env/usr/i686-pc-mingw32/include - add_definitions( -D__MSVCRT_VERSION__=0x800 ) - set(CROSS_DEFS_SET 1) + endif() + + |