From 32ef34f084f47df38b4167e26e777df259ad45a8 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Sat, 16 May 2015 06:45:01 +0000 Subject: [PATCH] fix #264 --- CMakeLists.txt | 172 +++++++++++++++++++++++++------------------------ 1 file changed, 88 insertions(+), 84 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3daefe3985..8f2d2a0e07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 2.8 FATAL_ERROR) # do not warn about non-definition of WIN32 on cygwin -set(CMAKE_LEGACY_CYGWIN_WIN32 0) +set(CMAKE_LEGACY_CYGWIN_WIN32 0) # if CMAKE_BUILD_TYPE is specified use it; otherwise set the default # build type to "RelWithDebInfo" ("-O2 -g" with gcc) prior to calling @@ -103,10 +103,10 @@ set(GMSH_VERSION "${GMSH_VERSION}.${GMSH_PATCH_VERSION}${GMSH_EXTRA_VERSION}") set(GMSH_SHORT_LICENSE "GNU General Public License") set(GMSH_API - ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshConfig.h + ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshConfig.h ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshVersion.h Common/Gmsh.h Common/Context.h Common/GmshDefines.h Common/GmshMessage.h - Common/VertexArray.h Common/Octree.h Common/OctreeInternals.h + Common/VertexArray.h Common/Octree.h Common/OctreeInternals.h Common/OS.h Common/StringUtils.h Common/OpenFile.h Common/onelab.h Common/GmshSocket.h Common/onelabUtils.h Numeric/Numeric.h Numeric/GaussIntegration.h Numeric/polynomialBasis.h @@ -114,35 +114,35 @@ set(GMSH_API Numeric/FuncSpaceData.h Numeric/simpleFunction.h Numeric/cartesian.h Numeric/ElementType.h Numeric/BasisFactory.h - Geo/GModel.h Geo/GEntity.h Geo/GPoint.h Geo/GVertex.h Geo/GEdge.h - Geo/GFace.h Geo/GRegion.h Geo/GEdgeLoop.h Geo/GEdgeCompound.h + Geo/GModel.h Geo/GEntity.h Geo/GPoint.h Geo/GVertex.h Geo/GEdge.h + Geo/GFace.h Geo/GRegion.h Geo/GEdgeLoop.h Geo/GEdgeCompound.h Geo/GFaceCompound.h Geo/GRegionCompound.h Geo/GRbf.h Geo/MVertex.h - Geo/MVertexBoundaryLayerData.h Geo/MEdge.h - Geo/MFace.h Geo/MElement.h Geo/MElementOctree.h Geo/MPoint.h Geo/MLine.h - Geo/MTriangle.h Geo/MQuadrangle.h Geo/MTetrahedron.h Geo/MHexahedron.h - Geo/MPrism.h Geo/MPyramid.h Geo/MElementCut.h Geo/MElementOctree.h - Geo/discreteVertex.h Geo/discreteEdge.h Geo/discreteFace.h Geo/discreteRegion.h - Geo/SPoint2.h Geo/SPoint3.h Geo/SVector3.h Geo/STensor3.h Geo/SBoundingBox3d.h - Geo/Pair.h Geo/Range.h Geo/SOrientedBoundingBox.h - Geo/CellComplex.h Geo/ChainComplex.h Geo/Cell.h Geo/Homology.h Geo/Chain.h + Geo/MVertexBoundaryLayerData.h Geo/MEdge.h + Geo/MFace.h Geo/MElement.h Geo/MElementOctree.h Geo/MPoint.h Geo/MLine.h + Geo/MTriangle.h Geo/MQuadrangle.h Geo/MTetrahedron.h Geo/MHexahedron.h + Geo/MPrism.h Geo/MPyramid.h Geo/MElementCut.h Geo/MElementOctree.h + Geo/discreteVertex.h Geo/discreteEdge.h Geo/discreteFace.h Geo/discreteRegion.h + Geo/SPoint2.h Geo/SPoint3.h Geo/SVector3.h Geo/STensor3.h Geo/SBoundingBox3d.h + Geo/Pair.h Geo/Range.h Geo/SOrientedBoundingBox.h + Geo/CellComplex.h Geo/ChainComplex.h Geo/Cell.h Geo/Homology.h Geo/Chain.h Geo/GenericVertex.h Geo/GenericEdge.h Geo/GenericFace.h Geo/GenericRegion.h Geo/partitionEdge.h Geo/CGNSOptions.h Geo/gmshLevelset.h Geo/boundaryLayersData.h - Mesh/meshGEdge.h Mesh/meshGFace.h Mesh/meshGFaceOptimize.h - Mesh/meshGFaceElliptic.h Mesh/meshPartition.h Mesh/meshGFaceDelaunayInsertion.h + Mesh/meshGEdge.h Mesh/meshGFace.h Mesh/meshGFaceOptimize.h + Mesh/meshGFaceElliptic.h Mesh/meshPartition.h Mesh/meshGFaceDelaunayInsertion.h Mesh/simple3D.h Mesh/meshPartitionOptions.h Mesh/directions3D.h Mesh/yamakawa.h Mesh/Voronoi3D.h Mesh/Levy3D.h Mesh/periodical.h Mesh/meshMetric.h Numeric/mathEvaluator.h Solver/dofManager.h Solver/femTerm.h Solver/laplaceTerm.h Solver/elasticityTerm.h Solver/crossConfTerm.h Solver/orthogonalTerm.h - Solver/linearSystem.h Solver/linearSystemGMM.h Solver/linearSystemCSR.h - Solver/linearSystemFull.h Solver/elasticitySolver.h Solver/sparsityPattern.h + Solver/linearSystem.h Solver/linearSystemGMM.h Solver/linearSystemCSR.h + Solver/linearSystemFull.h Solver/elasticitySolver.h Solver/sparsityPattern.h Solver/groupOfElements.h Solver/linearSystemPETSc.h Solver/linearSystemMUMPS.h Solver/thermicSolver.h - Post/PView.h Post/PViewData.h Plugin/PluginManager.h Post/OctreePost.h + Post/PView.h Post/PViewData.h Plugin/PluginManager.h Post/OctreePost.h Post/PViewDataList.h Post/PViewDataGModel.h Post/PViewOptions.h Post/ColorTable.h Numeric/nodalBasis.h Graphics/drawContext.h - contrib/kbipack/gmp_normal_form.h contrib/kbipack/gmp_matrix.h + contrib/kbipack/gmp_normal_form.h contrib/kbipack/gmp_matrix.h contrib/kbipack/gmp_blas.h contrib/kbipack/mpz.h contrib/DiscreteIntegration/Integration3D.h contrib/HighOrderMeshOptimizer/OptHOM.h contrib/HighOrderMeshOptimizer/OptHomMesh.h @@ -157,7 +157,7 @@ set(GMSH_API contrib/MeshOptimizer/MeshOptCommon.h contrib/MeshOptimizer/MeshOptimizer.h contrib/MeshOptimizer/MeshOptObjContribFunc.h contrib/MeshOptimizer/MeshOptObjContrib.h contrib/MeshOptimizer/MeshOptObjContribScaledNodeDispSq.h - contrib/MeshOptimizer/MeshOptObjectiveFunction.h contrib/MeshOptimizer/MeshOptVertexCoord.h + contrib/MeshOptimizer/MeshOptObjectiveFunction.h contrib/MeshOptimizer/MeshOptVertexCoord.h contrib/MeshQualityOptimizer/MeshQualityObjContribIdealJac.h contrib/MeshQualityOptimizer/MeshQualityObjContribInvCond.h contrib/MeshQualityOptimizer/MeshQualityOptimizer.h @@ -168,11 +168,11 @@ if(IAMCHILD) set(GMSH_API ${GMSH_API} PARENT_SCOPE) endif(IAMCHILD) -execute_process(COMMAND date "+%Y%m%d" OUTPUT_VARIABLE DATE +execute_process(COMMAND date "+%Y%m%d" OUTPUT_VARIABLE DATE OUTPUT_STRIP_TRAILING_WHITESPACE) -execute_process(COMMAND hostname OUTPUT_VARIABLE HOSTNAME +execute_process(COMMAND hostname OUTPUT_VARIABLE HOSTNAME OUTPUT_STRIP_TRAILING_WHITESPACE) -execute_process(COMMAND whoami OUTPUT_VARIABLE PACKAGER +execute_process(COMMAND whoami OUTPUT_VARIABLE PACKAGER OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT DATE) @@ -239,7 +239,11 @@ macro(find_all_libraries VARNAME LISTNAME PATH SUFFIX) set(${VARNAME}) list(LENGTH ${LISTNAME} NUM_LIST) foreach(LIB ${${LISTNAME}}) - find_library(FOUND_LIB ${LIB} PATHS ${PATH} PATH_SUFFIXES ${SUFFIX}) + if("${PATH}" STREQUAL "") + find_library(FOUND_LIB ${LIB} PATH_SUFFIXES ${SUFFIX}) + else("${PATH}" STREQUAL "") + find_library(FOUND_LIB ${LIB} PATHS ${PATH} NO_DEFAULT_PATH) + endif("${PATH}" STREQUAL "") if(FOUND_LIB) list(APPEND ${VARNAME} ${FOUND_LIB}) endif(FOUND_LIB) @@ -374,7 +378,7 @@ if(ENABLE_BLAS_LAPACK) if(GFORTRAN_LIB) list(APPEND LAPACK_LIBRARIES ${GFORTRAN_LIB}) endif(GFORTRAN_LIB) - endif(LAPACK_LIBRARIES) + endif(LAPACK_LIBRARIES) endif(NOT HAVE_BLAS OR NOT HAVE_LAPACK) if(NOT HAVE_BLAS OR NOT HAVE_LAPACK) @@ -517,7 +521,7 @@ if(ENABLE_FLTK) foreach(DIR ${FLTK_INCLUDE_DIR}) list(APPEND EXTERNAL_INCLUDES ${DIR}/FL/images ${DIR}/png) endforeach(DIR) - endif(FLTK_PNG) + endif(FLTK_PNG) endif(FLTK_FOUND) endif(NOT HAVE_FLTK) elseif(ENABLE_QT) @@ -771,7 +775,7 @@ if(HAVE_MESH) if(ENABLE_NETGEN) add_subdirectory(contrib/Netgen) - include_directories(contrib/Netgen contrib/Netgen/libsrc/include + include_directories(contrib/Netgen contrib/Netgen/libsrc/include contrib/Netgen/nglib) set_config_option(HAVE_NETGEN "Netgen") add_definitions(-DNO_PARALLEL_THREADS -DNOTCL) @@ -840,7 +844,7 @@ if(ENABLE_MED OR ENABLE_CGNS) set_config_option(HAVE_MED "Med") list(APPEND EXTERNAL_LIBRARIES ${MED_LIB}) endif(MED_LIB) - endif(ENABLE_MED) + endif(ENABLE_MED) if(ENABLE_CGNS) find_library(CGNS_LIB cgns PATHS ENV CGNS_ROOT PATH_SUFFIXES lib) find_path(CGNS_INC "cgnslib.h" PATHS ENV CGNS_ROOT PATH_SUFFIXES include) @@ -849,7 +853,7 @@ if(ENABLE_MED OR ENABLE_CGNS) list(APPEND EXTERNAL_LIBRARIES ${CGNS_LIB}) list(APPEND EXTERNAL_INCLUDES ${CGNS_INC}) endif(CGNS_LIB AND CGNS_INC) - endif(ENABLE_CGNS) + endif(ENABLE_CGNS) if(MED_LIB OR CGNS_LIB) list(APPEND EXTERNAL_LIBRARIES ${HDF5_LIB}) find_library(SZ_LIB NAMES szlib sz) @@ -939,7 +943,7 @@ if(HAVE_SOLVER) message(STATUS "Using PETSc dir: ${ENV_PETSC_DIR}") message(STATUS "Using PETSc arch: ${ENV_PETSC_ARCH}") # find includes by parsing the petscvariables file - file(STRINGS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables + file(STRINGS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables PETSC_VARIABLES NEWLINE_CONSUME) endif(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables) if(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib/petsc-conf/petscvariables) @@ -947,7 +951,7 @@ if(HAVE_SOLVER) message(STATUS "Using PETSc dir: ${ENV_PETSC_DIR}") message(STATUS "Using PETSc arch: ${ENV_PETSC_ARCH}") # find includes by parsing the petscvariables file - file(STRINGS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib/petsc-conf/petscvariables + file(STRINGS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib/petsc-conf/petscvariables PETSC_VARIABLES NEWLINE_CONSUME) endif(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib/petsc-conf/petscvariables) if(PETSC_VARIABLES) @@ -981,7 +985,7 @@ if(HAVE_SOLVER) endif(PETSC_PACKAGES_INCLUDES) # find libraries (<= 3.0) set(PETSC_LIBS_REQUIRED petscksp petscdm petscmat petscvec petsc) - find_all_libraries(PETSC_LIBS PETSC_LIBS_REQUIRED + find_all_libraries(PETSC_LIBS PETSC_LIBS_REQUIRED ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/lib "") # petsc 3.1 creates only one library (libpetsc) if(NOT PETSC_LIBS) @@ -1007,17 +1011,17 @@ if(HAVE_SOLVER) find_library(SLEPC_LIB slepc PATHS ${ENV_SLEPC_DIR}/${ENV_PETSC_ARCH}/lib NO_DEFAULT_PATH) if(SLEPC_LIB) - find_path(SLEPC_INC "slepc.h" PATHS ${ENV_SLEPC_DIR} PATH_SUFFIXES include + find_path(SLEPC_INC "slepc.h" PATHS ${ENV_SLEPC_DIR} PATH_SUFFIXES include ${ENV_PETSC_ARCH}/include include/slepc NO_DEFAULT_PATH) if(SLEPC_INC) message(STATUS "Using SLEPc dir: ${ENV_SLEPC_DIR}") set_config_option(HAVE_SLEPC "SLEPc") list(APPEND EXTERNAL_LIBRARIES ${SLEPC_LIB}) - list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC}) - find_path(SLEPC_INC2 "slepcconf.h" PATHS ${ENV_SLEPC_DIR} + list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC}) + find_path(SLEPC_INC2 "slepcconf.h" PATHS ${ENV_SLEPC_DIR} PATH_SUFFIXES ${ENV_PETSC_ARCH}/include NO_DEFAULT_PATH) if(SLEPC_INC2) - list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC2}) + list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC2}) endif(SLEPC_INC2) endif(SLEPC_INC) endif(SLEPC_LIB) @@ -1055,11 +1059,11 @@ if(HAVE_SOLVER) if(SLEPC_LIB AND SLEPC_INC) set_config_option(HAVE_SLEPC "SLEPc") list(APPEND EXTERNAL_LIBRARIES ${SLEPC_LIB}) - list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC}) + list(APPEND EXTERNAL_INCLUDES ${SLEPC_INC}) endif(SLEPC_LIB AND SLEPC_INC) endif(ENABLE_SLEPC) list(APPEND EXTERNAL_LIBRARIES ${PETSC_LIBS}) - list(APPEND EXTERNAL_INCLUDES ${PETSC_INC}) + list(APPEND EXTERNAL_INCLUDES ${PETSC_INC}) endif(PETSC_LIBS AND PETSC_INC) endif(PETSC_VARIABLES) endif(ENABLE_PETSC) @@ -1089,7 +1093,7 @@ if(ENABLE_OCC) if(ENABLE_SGEOM) set(OCC_LIBS_REQUIRED ${OCC_LIBS_REQUIRED} # For SGEOM - TKBin TKBinL TKBinTObj TKBinXCAF TKCAF TKCDF TKLCAF TKPLCAF TKMeshVS + TKBin TKBinL TKBinTObj TKBinXCAF TKCAF TKCDF TKLCAF TKPLCAF TKMeshVS TKNIS TKOpenGl TKPCAF TKPShape TKSTL TKService TKShapeSchema TKStdSchema TKTObj TKV2d TKV3d TKVRML TKVoxel TKXCAF TKXCAFSchema TKXDEIGES TKXDESTEP TKXMesh TKXSBase TKXml TKXmkL TKXmlTObj) @@ -1097,7 +1101,7 @@ if(ENABLE_OCC) list(LENGTH OCC_LIBS_REQUIRED NUM_OCC_LIBS_REQUIRED) set(OCC_LIBS) foreach(OCC ${OCC_LIBS_REQUIRED}) - find_library(OCC_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES lib + find_library(OCC_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib) if(OCC_LIB) list(APPEND OCC_LIBS ${OCC_LIB}) @@ -1108,7 +1112,7 @@ if(ENABLE_OCC) endforeach(OCC) list(LENGTH OCC_LIBS NUM_OCC_LIBS) if(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED) - find_path(OCC_INC "BRep_Tool.hxx" PATHS ENV CASROOT PATH_SUFFIXES inc + find_path(OCC_INC "BRep_Tool.hxx" PATHS ENV CASROOT PATH_SUFFIXES inc include include/oce opencascade) if(OCC_INC) set_config_option(HAVE_OCC "OpenCascade") @@ -1245,7 +1249,7 @@ if(LINUX_JOYSTICK_H) endif(LINUX_JOYSTICK_H) if(MSVC) - add_definitions(-D_USE_MATH_DEFINES -DNOMINMAX + add_definitions(-D_USE_MATH_DEFINES -DNOMINMAX -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE) set(GMSH_SRC ${GMSH_SRC};Fltk/Win32Icon.rc) endif(MSVC) @@ -1302,7 +1306,7 @@ foreach(OPT ${CONFIG_OPTIONS}) set(GMSH_CONFIG_OPTIONS "${GMSH_CONFIG_OPTIONS} ${OPT}") endforeach(OPT) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Common/GmshConfig.h.in +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Common/GmshConfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshConfig.h) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Common/GmshVersion.h.in ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshVersion.h) @@ -1332,7 +1336,7 @@ if(EXTERNAL_INCLUDES) endif(EXTERNAL_INCLUDES) if(HAVE_FLTK) - set(LINK_LIBRARIES ${FLTK_LIBRARIES} ${EXTERNAL_LIBRARIES} + set(LINK_LIBRARIES ${FLTK_LIBRARIES} ${EXTERNAL_LIBRARIES} ${OPENGL_LIBRARIES} ${LAPACK_LIBRARIES}) elseif(HAVE_QT) set(LINK_LIBRARIES ${QT_LIBRARIES} ${EXTERNAL_LIBRARIES} @@ -1371,9 +1375,9 @@ include_directories(Common Fltk Geo Graphics Mesh Solver Numeric Parser Plugin Post Qt ${EXTERNAL_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}/Common) # set this for external codes that might include this CMakeList file -set(GMSH_EXTERNAL_INCLUDE_DIRS ${EXTERNAL_INCLUDES} CACHE +set(GMSH_EXTERNAL_INCLUDE_DIRS ${EXTERNAL_INCLUDES} CACHE STRING "External include directories" FORCE) -set(GMSH_EXTERNAL_LIBRARIES ${LINK_LIBRARIES} CACHE +set(GMSH_EXTERNAL_LIBRARIES ${LINK_LIBRARIES} CACHE STRING "External libraries" FORCE) # group sources for easier navigation in IDEs @@ -1387,7 +1391,7 @@ if(ENABLE_BUILD_LIB) add_library(lib STATIC ${GMSH_SRC}) set_target_properties(lib PROPERTIES OUTPUT_NAME Gmsh) if(MSVC) - set_target_properties(lib PROPERTIES DEBUG_POSTFIX d) + set_target_properties(lib PROPERTIES DEBUG_POSTFIX d) if(ENABLE_MSVC_STATIC_RUNTIME) set_target_properties(lib PROPERTIES LINK_FLAGS_RELEASE "/nodefaultlib:LIBCMT") endif(ENABLE_MSVC_STATIC_RUNTIME) @@ -1409,11 +1413,11 @@ if(ENABLE_BUILD_ANDROID) endif(ENABLE_BUILD_ANDROID) # shared library target -if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC OR +if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC OR ENABLE_WRAP_PYTHON OR ENABLE_WRAP_JAVA) add_library(shared SHARED ${GMSH_SRC}) set_target_properties(shared PROPERTIES OUTPUT_NAME Gmsh) - set_target_properties(shared PROPERTIES + set_target_properties(shared PROPERTIES VERSION ${GMSH_MAJOR_VERSION}.${GMSH_MINOR_VERSION}.${GMSH_PATCH_VERSION} SOVERSION ${GMSH_MAJOR_VERSION}.${GMSH_MINOR_VERSION}) if(HAVE_LAPACK AND LAPACK_FLAGS) @@ -1422,9 +1426,9 @@ if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC OR if(MSVC AND ENABLE_MSVC_STATIC_RUNTIME) message(STATUS "Note: By enabling ENABLE_MSVC_STATIC_RUNTIME, shared library " "won't link. In MSVC change /MT to /MD in the shared project properties") - endif(MSVC AND ENABLE_MSVC_STATIC_RUNTIME) + endif(MSVC AND ENABLE_MSVC_STATIC_RUNTIME) target_link_libraries(shared ${LINK_LIBRARIES}) -endif(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC OR +endif(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC OR ENABLE_WRAP_PYTHON OR ENABLE_WRAP_JAVA) # binary targets @@ -1458,13 +1462,13 @@ if(WIN32 AND NOT MSVC OR CYGWIN) endif(HAVE_64BIT_SIZE_T) if(ENABLE_BUILD_DYNAMIC) set(FLAGS "${FLAGS} -Wl,-Bstatic -lgfortran") - set_target_properties(gmsh PROPERTIES + set_target_properties(gmsh PROPERTIES LINK_FLAGS "${FLAGS} -Wl,--enable-auto-import") set(LIBGMSH_DEF "libGmsh-${GMSH_MAJOR_VERSION}.${GMSH_MINOR_VERSION}.def") set_target_properties(shared PROPERTIES PREFIX "lib" LINK_FLAGS "${FLAGS} -Wl,--export-all-symbols,--output-def,${LIBGMSH_DEF}") else(ENABLE_BUILD_DYNAMIC) - set_target_properties(gmsh PROPERTIES + set_target_properties(gmsh PROPERTIES LINK_FLAGS "${FLAGS} -static") # remove -Wl,-Bdynamic flags set(CMAKE_EXE_LINK_DYNAMIC_C_FLAGS) @@ -1479,7 +1483,7 @@ endif(WIN32 AND NOT MSVC OR CYGWIN) find_program(BISON bison) find_program(FLEX flex) if(BISON AND FLEX) - add_custom_target(parser + add_custom_target(parser COMMAND ${BISON} -p gmsh_yy --output Gmsh.tab.cpp -d Gmsh.y COMMAND ${FLEX} -P gmsh_yy -o Gmsh.yy.cpp Gmsh.l WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Parser) @@ -1488,10 +1492,10 @@ endif(BISON AND FLEX) if(UNIX) # cannot use cmake's file search functions here (they would only find files # existing at configuration time) - add_custom_target(purge + add_custom_target(purge COMMAND rm -f `find . -name *~ -o -name *~~` WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - add_custom_target(etags + add_custom_target(etags COMMAND etags `find . -name *.cpp -o -name *.h -o -name *.y` WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) endif(UNIX) @@ -1505,8 +1509,8 @@ file(GLOB DEMO_FILES ${CMAKE_CURRENT_SOURCE_DIR}/demos/?*.*) set(TEX_DIR ${CMAKE_CURRENT_SOURCE_DIR}/doc/texinfo) file(GLOB TEX_SRC ${TEX_DIR}/*.texi) set(TEX_OBJ ${TEX_DIR}/gmsh.aux ${TEX_DIR}/gmsh.cp ${TEX_DIR}/gmsh.cps - ${TEX_DIR}/gmsh.fn ${TEX_DIR}/gmsh.html ${TEX_DIR}/gmsh.info ${TEX_DIR}/gmsh.ky - ${TEX_DIR}/gmsh.log ${TEX_DIR}/gmsh.pdf ${TEX_DIR}/gmsh.pg ${TEX_DIR}/gmsh.toc + ${TEX_DIR}/gmsh.fn ${TEX_DIR}/gmsh.html ${TEX_DIR}/gmsh.info ${TEX_DIR}/gmsh.ky + ${TEX_DIR}/gmsh.log ${TEX_DIR}/gmsh.pdf ${TEX_DIR}/gmsh.pg ${TEX_DIR}/gmsh.toc ${TEX_DIR}/gmsh.tp ${TEX_DIR}/gmsh.tps ${TEX_DIR}/gmsh.txt ${TEX_DIR}/gmsh.vr) macro(unix2dos VARNAME) @@ -1572,7 +1576,7 @@ if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) # by MSVC install(TARGETS shared RUNTIME DESTINATION ${GMSH_LIB} OPTIONAL) # install .def file - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LIBGMSH_DEF} + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LIBGMSH_DEF} DESTINATION ${GMSH_LIB}) # install these DLLs until we figure out how to link them in statically # (libstc++ and libgcc should be linkable statically with -static-libstdc++ @@ -1623,22 +1627,22 @@ add_custom_target(get_headers COMMAND ${CMAKE_COMMAND} -E make_directory Headers/gmsh WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) foreach(FILE ${GMSH_API}) - add_custom_command(TARGET get_headers POST_BUILD COMMAND ${CMAKE_COMMAND} + add_custom_command(TARGET get_headers POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE} ${CMAKE_CURRENT_BINARY_DIR}/Headers/gmsh/ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) endforeach(FILE) find_program(MAKEINFO makeinfo) if(MAKEINFO) - add_custom_command(OUTPUT ${TEX_DIR}/gmsh.info DEPENDS ${TEX_SRC} + add_custom_command(OUTPUT ${TEX_DIR}/gmsh.info DEPENDS ${TEX_SRC} COMMAND ${MAKEINFO} --split-size 1000000 ARGS ${TEX_DIR}/gmsh.texi WORKING_DIRECTORY ${TEX_DIR}) add_custom_target(info DEPENDS ${TEX_DIR}/gmsh.info) - add_custom_command(OUTPUT ${TEX_DIR}/gmsh.txt DEPENDS ${TEX_SRC} + add_custom_command(OUTPUT ${TEX_DIR}/gmsh.txt DEPENDS ${TEX_SRC} COMMAND ${MAKEINFO} --plaintext -o gmsh.txt ARGS ${TEX_DIR}/gmsh.texi WORKING_DIRECTORY ${TEX_DIR}) add_custom_target(txt DEPENDS ${TEX_DIR}/gmsh.txt) - add_custom_command(OUTPUT ${TEX_DIR}/gmsh.html DEPENDS ${TEX_SRC} + add_custom_command(OUTPUT ${TEX_DIR}/gmsh.html DEPENDS ${TEX_SRC} COMMAND ${MAKEINFO} --html --css-ref=http://geuz.org/geuz.css --no-split ARGS ${TEX_DIR}/gmsh.texi WORKING_DIRECTORY ${TEX_DIR}) add_custom_target(html DEPENDS ${TEX_DIR}/gmsh.html) @@ -1649,8 +1653,8 @@ endif(MAKEINFO) find_program(TEXI2PDF texi2pdf) if(TEXI2PDF) - add_custom_command(OUTPUT ${TEX_DIR}/gmsh.pdf DEPENDS ${TEX_SRC} - COMMAND ${TEXI2PDF} ARGS gmsh.texi + add_custom_command(OUTPUT ${TEX_DIR}/gmsh.pdf DEPENDS ${TEX_SRC} + COMMAND ${TEXI2PDF} ARGS gmsh.texi WORKING_DIRECTORY ${TEX_DIR}) add_custom_target(pdf DEPENDS ${TEX_DIR}/gmsh.pdf) install(FILES ${TEX_DIR}/gmsh.pdf DESTINATION ${GMSH_DOC} OPTIONAL) @@ -1660,13 +1664,13 @@ execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${OPT_TEXI}" OUTPUT_FILE cmake_options.texi) if(MAKEINFO AND TEXI2PDF) - add_custom_target(doc COMMAND ${CMAKE_COMMAND} -E tar zcf + add_custom_target(doc COMMAND ${CMAKE_COMMAND} -E tar zcf ${CMAKE_CURRENT_BINARY_DIR}/gmsh-${GMSH_VERSION}-doc.tgz doc/CREDITS.txt doc/LICENSE.txt doc/VERSIONS.txt - doc/gmsh.1 doc/texinfo/gmsh.html doc/texinfo/gmsh.info + doc/gmsh.1 doc/texinfo/gmsh.html doc/texinfo/gmsh.info doc/texinfo/gmsh.pdf doc/texinfo/gmsh.txt COMMAND ${CMAKE_COMMAND} -E remove ${TEX_OBJ} - DEPENDS ${TEX_DIR}/gmsh.info ${TEX_DIR}/gmsh.txt + DEPENDS ${TEX_DIR}/gmsh.info ${TEX_DIR}/gmsh.txt ${TEX_DIR}/gmsh.html ${TEX_DIR}/gmsh.pdf WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) endif(MAKEINFO AND TEXI2PDF) @@ -1686,7 +1690,7 @@ if(APPLE AND ENABLE_BUILD_LIB) COMMAND ${CMAKE_COMMAND} -E make_directory Gmsh.framework/Headers COMMAND ${CMAKE_COMMAND} -E make_directory Gmsh.framework/Resources COMMAND ${CMAKE_COMMAND} -E copy ${LIBNAME} Gmsh.framework/Gmsh - COMMAND ${CMAKE_COMMAND} -E copy Info_framework.plist + COMMAND ${CMAKE_COMMAND} -E copy Info_framework.plist Gmsh.framework/Resources/Info.plist COMMAND ${CMAKE_COMMAND} -E create_symlink . Gmsh.framework/Headers/gmsh WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) @@ -1702,7 +1706,7 @@ set(CPACK_PACKAGE_VERSION_MAJOR ${GMSH_MAJOR_VERSION}) set(CPACK_PACKAGE_VERSION_MINOR ${GMSH_MINOR_VERSION}) set(CPACK_PACKAGE_VERSION_PATCH ${GMSH_PATCH_VERSION}) set(CPACK_PACKAGE_DESCRIPTION_FILE ${WELCOME_FILE}) -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "3D finite element mesh generator with built-in CAD engine and post-processor") set(CPACK_PACKAGE_FILE_NAME gmsh-${GMSH_VERSION}-${GMSH_OS}) set(CPACK_PACKAGE_INSTALL_DIRECTORY "Gmsh") @@ -1713,10 +1717,10 @@ set(CPACK_PACKAGE_EXECUTABLE "gmsh;Gmsh") set(CPACK_STRIP_FILES TRUE) set(CPACK_SOURCE_PACKAGE_FILE_NAME gmsh-${GMSH_VERSION}-source) set(CPACK_SOURCE_GENERATOR TGZ) -set(CPACK_SOURCE_IGNORE_FILES "${CMAKE_CURRENT_BINARY_DIR}" "/CVS/" "/.svn" "~$" - "DS_Store$" "GmshConfig.h$" "GmshVersion.h$" "/benchmarks/" "/tmp/" - "/bin/" "/lib/" "/nightly/" "GPATH" "GRTAGS" "GSYMS" "GTAGS" "/HTML/" - "/projects/" +set(CPACK_SOURCE_IGNORE_FILES "${CMAKE_CURRENT_BINARY_DIR}" "/CVS/" "/.svn" "~$" + "DS_Store$" "GmshConfig.h$" "GmshVersion.h$" "/benchmarks/" "/tmp/" + "/bin/" "/lib/" "/nightly/" "GPATH" "GRTAGS" "GSYMS" "GTAGS" "/HTML/" + "/projects/" "/FunctionSpace/" "/Mesh/meshRecombine*" "/utils/solvers/legacy/" "/contrib/3M/") @@ -1754,11 +1758,11 @@ if(HAVE_PYTHON) add_subdirectory(wrappers/gmshpy) endif(HAVE_PYTHON) -if(ENABLE_WRAP_JAVA) - if(NOT HAVE_BLAS OR NOT HAVE_LAPACK) +if(ENABLE_WRAP_JAVA) + if(NOT HAVE_BLAS OR NOT HAVE_LAPACK) message(WARNING "Java wrapping samples will not work without BLAS and LAPACK") endif(NOT HAVE_BLAS OR NOT HAVE_LAPACK) - add_subdirectory(wrappers/java) + add_subdirectory(wrappers/java) endif(ENABLE_WRAP_JAVA) include(CPack) @@ -1766,10 +1770,10 @@ include(CPack) if(NOT DISABLE_GMSH_TESTS) #disabling tests is usefull when including this CMakeLists in an external project include(CTest) - file(GLOB_RECURSE TESTFILES + file(GLOB_RECURSE TESTFILES tutorial/*.geo demos/*.geo benchmarks/?d/*.geo benchmarks/extrude/*.geo) foreach(TESTFILE ${TESTFILES}) - # use relative path for cygwin/mingw (the pure win exe built with the mingw + # use relative path for cygwin/mingw (the pure win exe built with the mingw # compilers does not understand a full cygwin-style path) FILE(RELATIVE_PATH TEST ${CMAKE_CURRENT_BINARY_DIR} ${TESTFILE}) add_test(${TEST} ./gmsh ${TEST} -3 -nopopup -o ./tmp.msh) @@ -1777,7 +1781,7 @@ if(NOT DISABLE_GMSH_TESTS) # if(HAVE_PYTHON) # file(GLOB_RECURSE TESTFILES tutorial/*.py) # foreach(TESTFILE ${TESTFILES}) - # add_test(NAME ${TESTFILE} + # add_test(NAME ${TESTFILE} # COMMAND ${PYTHON_EXECUTABLE} # ${TESTFILE} $<CONFIGURATION>) # # sys.path.insert(0, "path/to/your/package") @@ -1795,10 +1799,10 @@ message(STATUS " * C++ compiler: " ${CMAKE_CXX_COMPILER}) message(STATUS " * Install prefix: " ${CMAKE_INSTALL_PREFIX}) message(STATUS "") -mark_as_advanced(GMSH_EXTRA_VERSION - ACIS_LIB ANN_INC ANN_LIB CAIRO_LIB CAIRO_INC CGNS_INC GMM_INC - GMP_INC GMP_LIB MMG3D_INC MMG3D_LIB TAUCS_INC TAUCS_LIB HDF5_LIB - MED_LIB OCC_INC OCC_CONFIG_H SZ_LIB +mark_as_advanced(GMSH_EXTRA_VERSION + ACIS_LIB ANN_INC ANN_LIB CAIRO_LIB CAIRO_INC CGNS_INC GMM_INC + GMP_INC GMP_LIB MMG3D_INC MMG3D_LIB TAUCS_INC TAUCS_LIB HDF5_LIB + MED_LIB OCC_INC OCC_CONFIG_H SZ_LIB PETSC_LIBS SLEPC_INC SLEPC_INC2 SLEPC_LIB BISON FLEX MAKEINFO TEXI2PDF FLTK_CONFIG_SCRIPT GMSH_EXTERNAL_INCLUDE_DIRS GMSH_EXTERNAL_LIBRARIES) -- GitLab