X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchSolver%2FCMakeLists.txt;h=e9d81431616c6317a278438d0b309c7c34abdd81;hb=801131b41013eeb97fe917311b47bff78fb86d86;hp=70b9fecbbc4b97fcc43737dfc9d4febd20c76781;hpb=be6e3770b8d97cc079f33efc8eaa571f645fbbdb;p=modules%2Fshaper.git diff --git a/src/SketchSolver/CMakeLists.txt b/src/SketchSolver/CMakeLists.txt index 70b9fecbb..e9d814316 100644 --- a/src/SketchSolver/CMakeLists.txt +++ b/src/SketchSolver/CMakeLists.txt @@ -1,41 +1,118 @@ +## Copyright (C) 2014-20xx CEA/DEN, EDF R&D + INCLUDE(Common) -INCLUDE(FindSolveSpace) SET(PROJECT_HEADERS SketchSolver.h - SketchSolver_Solver.h - SketchSolver_ConstraintManager.h + SketchSolver_Error.h + SketchSolver_Constraint.h + SketchSolver_ConstraintAngle.h + SketchSolver_ConstraintCoincidence.h + SketchSolver_ConstraintCollinear.h + SketchSolver_ConstraintDistance.h + SketchSolver_ConstraintEqual.h + SketchSolver_ConstraintLength.h + SketchSolver_ConstraintMiddle.h + SketchSolver_ConstraintMirror.h + SketchSolver_ConstraintFixed.h + SketchSolver_ConstraintFixedArcRadius.h + SketchSolver_ConstraintTangent.h + SketchSolver_ConstraintMulti.h + SketchSolver_ConstraintMultiRotation.h + SketchSolver_ConstraintMultiTranslation.h + SketchSolver_ConstraintMovement.h + SketchSolver_Group.h + SketchSolver_Builder.h + SketchSolver_IConstraintWrapper.h + SketchSolver_IEntityWrapper.h + SketchSolver_IParameterWrapper.h + SketchSolver_ISolver.h + SketchSolver_Manager.h + SketchSolver_Storage.h ) SET(PROJECT_SOURCES - SketchSolver_Solver.cpp - SketchSolver_ConstraintManager.cpp + SketchSolver_Constraint.cpp + SketchSolver_ConstraintAngle.cpp + SketchSolver_ConstraintCoincidence.cpp + SketchSolver_ConstraintCollinear.cpp + SketchSolver_ConstraintDistance.cpp + SketchSolver_ConstraintEqual.cpp + SketchSolver_ConstraintLength.cpp + SketchSolver_ConstraintMiddle.cpp + SketchSolver_ConstraintMirror.cpp + SketchSolver_ConstraintFixed.cpp + SketchSolver_ConstraintFixedArcRadius.cpp + SketchSolver_ConstraintTangent.cpp + SketchSolver_ConstraintMulti.cpp + SketchSolver_ConstraintMultiRotation.cpp + SketchSolver_ConstraintMultiTranslation.cpp + SketchSolver_ConstraintMovement.cpp + SketchSolver_Group.cpp + SketchSolver_Builder.cpp + SketchSolver_Manager.cpp + SketchSolver_Storage.cpp ) SET(PROJECT_LIBRARIES - ${SLVS_LIBRARIES} - SketchPlugin + Config Events + ModelAPI + GeomAPI + GeomDataAPI +) + +SET(TEXT_RESOURCES + SketchSolver_msg_en.ts ) INCLUDE_DIRECTORIES( + ${PROJECT_SOURCE_DIR}/src/Config ${PROJECT_SOURCE_DIR}/src/SketchPlugin ${PROJECT_SOURCE_DIR}/src/ModelAPI - ${PROJECT_SOURCE_DIR}/src/Model ${PROJECT_SOURCE_DIR}/src/GeomAPI ${PROJECT_SOURCE_DIR}/src/GeomDataAPI ${PROJECT_SOURCE_DIR}/src/Events ) -ADD_DEFINITIONS(-DSKETCHSOLVER_EXPORTS ${BOOST_DEFINITIONS}) +SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES}) + +ADD_DEFINITIONS(-DSKETCHSOLVER_EXPORTS) -ADD_LIBRARY(SketchSolver SHARED - ${PROJECT_SOURCES} - ${PROJECT_HEADERS} +ADD_LIBRARY(SketchSolver SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${TEXT_RESOURCES} ) -TARGET_LINK_LIBRARIES(SketchSolver - ${PROJECT_LIBRARIES} +TARGET_LINK_LIBRARIES(SketchSolver ${PROJECT_LIBRARIES} ) -INSTALL(TARGETS SketchSolver DESTINATION plugins) +INSTALL(TARGETS SketchSolver DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES}) +INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}) + + +# Include specific solvers +IF(NO_SolveSpace) + SET(SSPath_FOUND FALSE) +ELSE() + FIND_FILE(SSPath "SolveSpaceSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}") + STRING(COMPARE NOTEQUAL ${SSPath} "SSPath-NOTFOUND" SSPath_FOUND) +ENDIF() + +IF(NO_PlaneGCS) + SET(GCSPath_FOUND FALSE) +ELSE() + FIND_FILE(GCSPath "PlaneGCSSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}") + STRING(COMPARE NOTEQUAL ${GCSPath} "GCSPath-NOTFOUND" GCSPath_FOUND) +ENDIF() + +IF(${SSPath_FOUND} OR ${GCSPath_FOUND}) + IF(${SSPath_FOUND}) + MESSAGE(STATUS "SolveSpaceSolver plugin found in ${SSPath}") + ADD_SUBDIRECTORY(SolveSpaceSolver) + ENDIF() + IF(${GCSPath_FOUND}) + MESSAGE(STATUS "PlaneGCSSolver plugin found in ${GCSPath}") + ADD_SUBDIRECTORY(PlaneGCSSolver) + ENDIF() +ELSE() + MESSAGE(WARNING "No sketch solver plugin is found") +ENDIF()